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