
Všeobecný vzorec
(=MAX(IF(range=criteria,values)))
Zhrnutie
Ak chcete získať maximálnu hodnotu na základe kritérií, môžete vo vzorci poľa použiť funkciu MAX spolu s funkciou IF. V zobrazenom príklade je vzorec v bunke G6:
(=MAX(IF(names=F6,times)))
Kde názvy sú pomenovaný rozsah B6: B17 a časy sú pomenovaný rozsah D6: D17.
Poznámky: toto je vzorec poľa a musí byť zadaný pomocou klávesov Control + Shift + Enter. Novšie verzie programu Excel majú funkciu MAXIFS, pozri poznámku nižšie.
Vysvetlenie
Najskôr sa vyhodnotí funkcia IF. Logický test je výraz, ktorý testuje všetky mená:
IF(names=F6 // logical test
Výsledkom je pole TRUE / FALSE hodnôt, ako je tento:
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE)
Hodnoty TRUE zodpovedajú riadkom, kde je názov „Hannah“. Pre všetky ostatné názvy je hodnota FALSE. „Hodnota if true“ pre IF je pomenovaný rozsah časov , ktorý obsahuje celú množinu časov. Nie je uvedená žiadna „hodnota, ak je nepravdivá“:
IF(names=F6,times)
Konečný výsledok z IF je pole ako je toto:
(0.000868055555555556;FALSE;FALSE;0.000902777777777778;FALSE;FALSE;0.000914351851851852;FALSE;FALSE;0.000833333333333333;FALSE;FALSE)
Poznámka: Časy programu Excel sú zlomkové hodnoty, čo vysvetľuje dlhé desatinné miesta.
Funkcia IF funguje ako filter. Cez filter sa dostanú iba časové hodnoty spojené s TRUE, ostatné hodnoty sa nahradia FALSE.
Funkcia IF doručí toto pole priamo do funkcie MAX, ktorá automaticky ignoruje FALSE hodnoty a vráti maximálny čas v poli.
S MAXIFS
Funkcia MAXIFS, ktorá je k dispozícii v programoch Excel O365 a Excel 2019, je navrhnutá tak, aby vrátila maximálnu hodnotu na základe jedného alebo viacerých kritérií bez potreby maticového vzorca. Pri MAXIFS je vzorec v G6:
=MAXIFS(times,names,F6)