
Общая формула
(=MIN(IF(range=criteria,values)))
Резюме
Чтобы получить минимальное значение на основе критериев, вы можете использовать функцию MIN вместе с функцией IF. В показанном примере формула в G6:
(=MIN(IF(names=F6,times)))
Где «names» - это именованный диапазон B6: B17, а times - именованный диапазон D6: D17.
Это формула массива, и ее нужно вводить с помощью Control + Shift + Enter.
Объяснение
Функция ЕСЛИ сначала оценивается с помощью следующего логического теста:
names=F6
Это генерирует массив значений ИСТИНА / ЛОЖЬ, где ИСТИНА соответствует строкам, в которых имя соответствует значению в F6:
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE)
«Значение, если истинно» для IF - это именованный диапазон «раз», который возвращает полный набор значений времени. В результате массив из логического теста эффективно «фильтрует» значения времени. Если результат ИСТИНА, время передается в массив, возвращаемый IF. Если результатом является FALSE, значение времени заменяется логическим FALSE:
(0.000868055555555556;FALSE;FALSE;0.000902777777777778;FALSE;FALSE;0.000914351851851852;FALSE;FALSE;0.000833333333333333;FALSE;FALSE)
Примечание. Время в Excel является дробным, что объясняет использование длинных десятичных значений.
Функция ЕСЛИ действует как фильтр. Только значения времени, связанные с ИСТИННЫМ, проходят через фильтр, другие значения заменяются на ЛОЖЬ.
Функция ЕСЛИ доставляет этот массив непосредственно в функцию МИН, возвращает минимальное значение в массиве. Значения FALSE автоматически игнорируются.
Пустые ячейки
Пустые ячейки вызовут передачу нулевых значений в MIN, что может привести к неожиданным результатам. Чтобы «отфильтровать» пустые ячейки, вы можете добавить еще один вложенный IF, например:
=MIN(IF(names=F6,IF(times"",times)))
С MINIFS
Функция MINIFS, представленная в Excel 2016 через Office 365, предназначена для вычисления минимумов на основе одного или нескольких критериев без необходимости в формуле массива. С MINIFS формула в G6:
=MINIFS(times,names,F6)