
Obecný vzorec
(=MAX(IF(range=criteria,values)))
souhrn
Chcete-li získat maximální hodnotu na základě kritérií, můžete použít funkci MAX společně s funkcí IF ve vzorci pole. V zobrazeném příkladu je vzorec v buňce G6:
(=MAX(IF(names=F6,times)))
Kde názvy jsou pojmenovaný rozsah B6: B17 a časy jsou pojmenovaný rozsah D6: D17.
Poznámky: toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter. Novější verze aplikace Excel mají funkci MAXIFS, viz poznámka níže.
Vysvětlení
Nejprve se vyhodnotí funkce IF. Logický test je výraz, který testuje všechna jména:
IF(names=F6 // logical test
Výsledkem je pole TRUE / FALSE hodnot, jako je tato:
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE)
Hodnoty TRUE odpovídají řádkům, jejichž název je „Hannah“. Pro všechny ostatní názvy je hodnota FALSE. „Hodnota if true“ pro IF je pojmenovaný rozsah časů , který obsahuje celou sadu časů. Není uvedena „hodnota, pokud je nepravdivá“:
IF(names=F6,times)
Konečný výsledek z IF je pole jako toto:
(0.000868055555555556;FALSE;FALSE;0.000902777777777778;FALSE;FALSE;0.000914351851851852;FALSE;FALSE;0.000833333333333333;FALSE;FALSE)
Poznámka: Časy aplikace Excel jsou zlomkové hodnoty, což vysvětluje dlouhá desetinná místa.
Funkce IF funguje jako filtr. Filtrem procházejí pouze časové hodnoty spojené s TRUE, ostatní hodnoty jsou nahrazeny FALSE.
Funkce IF doručí toto pole přímo do funkce MAX, která automaticky ignoruje FALSE hodnoty a vrátí maximální čas v poli.
S MAXIFY
Funkce MAXIFS, která je k dispozici v Excel O365 a Excel 2019, je navržena tak, aby vrátila maximální hodnotu na základě jednoho nebo více kritérií bez nutnosti maticového vzorce. U MAXIFS je vzorec v G6:
=MAXIFS(times,names,F6)