
Formuła ogólna
(=MAX(IF(range=criteria,values)))
Podsumowanie
Aby uzyskać maksymalną wartość na podstawie kryteriów, możesz użyć funkcji MAX razem z funkcją JEŻELI w formule tablicowej. W przedstawionym przykładzie formuła w komórce G6 to:
(=MAX(IF(names=F6,times)))
Gdzie nazwy to nazwany zakres B6: B17, a czasy to nazwany zakres D6: D17.
Uwagi: to jest formuła tablicowa i należy ją wprowadzić za pomocą Control + Shift + Enter. Późniejsze wersje programu Excel mają funkcję MAXIFS, patrz uwaga poniżej.
Wyjaśnienie
Funkcja JEŻELI jest oceniana jako pierwsza. Test logiczny to wyrażenie, które sprawdza wszystkie nazwy:
IF(names=F6 // logical test
Wynikiem jest tablica wartości PRAWDA / FAŁSZ, taka jak ta:
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE)
Wartości PRAWDA odpowiadają wierszom, których nazwa to „Hannah”. W przypadku wszystkich innych nazw wartością jest FALSE. „Wartość, jeśli prawda” dla JEŻELI to nazwany zakres czasów , który zawiera pełny zestaw czasów. Nie podano „wartości, jeśli fałsz”:
IF(names=F6,times)
Końcowy wynik z funkcji JEŻELI to tablica taka:
(0.000868055555555556;FALSE;FALSE;0.000902777777777778;FALSE;FALSE;0.000914351851851852;FALSE;FALSE;0.000833333333333333;FALSE;FALSE)
Uwaga: Czasy programu Excel są wartościami ułamkowymi, co wyjaśnia długie cyfry dziesiętne.
Funkcja JEŻELI działa jak filtr. Tylko wartości czasu powiązane z wartością TRUE przechodzą przez filtr, inne wartości są zastępowane wartością FALSE.
Funkcja JEŻELI dostarcza tę tablicę bezpośrednio do funkcji MAX, która automatycznie ignoruje wartości FALSE i zwraca maksymalny czas w tablicy.
Z MAXIFS
Funkcja MAXIFS, dostępna w programach Excel O365 i Excel 2019, służy do zwracania maksymalnej wartości na podstawie co najmniej jednego kryterium bez konieczności stosowania formuły tablicowej. W przypadku MAXIFS formuła w G6 to:
=MAXIFS(times,names,F6)