В Excel, как найти ссылку на ячейку минимального значения в именованном диапазоне - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть именованный диапазон: mycosts, состоящий из этих ячеек: $ D $ 20, $ D $ 31, $ D $ 42, $ D $ 50

Ячейки содержат числа.Мне нужны минимальные и максимальные числа в диапазоне.Я знаю, как это сделать с помощью функций min и max.Что мне нужно знать, так это ссылка на ячейку или просто строка ячейки, в которой было указано минимальное и максимальное значения.Мне нужно это, чтобы я мог ссылаться на другую ячейку в ColA из этого номера строки.

Любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Учитывая, что все ваши показатели затрат находятся в Column D, вы можете использовать MATCH , чтобы вернуть номер строки , используя следующую формулу:

=MATCH(MIN(mycosts),D1:D50,0)

Вы можете использовать абсолютную ссылку для диапазона в столбце D, например $D$1:$D$50, при условии, что вы можете использовать эту формулу в другой формуле.

Если у вас есть другие числовые значения в этом диапазоне, которыеможет быть равным минимальной стоимости (следовательно, возвращая неправильный номер строки), вы можете использовать вспомогательный столбец , чтобы «исключить» другие числовые значения.Как показано в следующем примере, вторая формула вернула 19 в качестве номера строки для минимальной стоимости, но правильный ответ должен быть 20, как возвращено первой формулой.

Example

{=MATCH(MIN(mycosts),IF(LEFT($C$1:$C$50,4)="Cost",$D$1:$D$50,""),0)}

Обратите внимание, что это формула массива , которую необходимо подтвердить, нажав Ctrl + Shift + Введите в строке формул.

В приведенном выше примере я использовал слово Cost в Column C, чтобы обозначить соответствующие цифры в Column D, а затем выполнил MATCH в пределах отфильтрованного диапазона.Вы можете использовать другие методы для фильтрации диапазона в столбце D в зависимости от ваших фактических данных.

Дайте мне знать, если у вас есть какие-либо вопросы.Ура :) 1043 *

0 голосов
/ 19 сентября 2019

Из-за непересекающейся природы диапазона я бы использовал UBA VBA:

Public Function WhereIsMin(rng As Range) As Long
    Dim vlu As Double, r As Range
    vlu = Application.WorksheetFunction.Min(rng)
    For Each r In rng
            If r.Value = vlu Then
                WhereIsMin = r.Row
                Exit Function
            End If
    Next r
End Function

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...