Upozornění

Tento návod na hledání nejnižších nebo nejvyšších hodnot odpovídajících určitým kritériím se týká Excelu před přidáním nových funkcí cca v únoru 2016. Od novějších verzí doporučujeme využít mnohem jednodušší řešení s funkcemi MAXIFS a SUMIFS. Ano, jsou to přesně ty funkce, na jejíchž absenci si původní návod stěžoval 🙂


Na těchto stránkách obvykle nenaleznete (s výjimkou apríla) návody na použití neexistujících funkcí, tento článek je ale svým způsobem výjimkou.

V Excelu existují funkce SUMIFS, COUNTIFS a AVERAGEIFS. Tyto funkce hledají součet, počet nebo průměr z hodnot, které odpovídají určitému kritériu. Když ale potřebujete funkci MAXIFS nebo MINIFS pro nalezení nejmenších nebo nejvyšších hodnot dle kritérií, máte  smůlu, tyto funkce zatím neexistují. Vývojáři Excelu tuto funkci kupodivu nezařadili ani do verze 2016, takže si musíme pomoci jinak.

Jedna z možností je použití databázové funkce DMAX nebo DMIN, v tomto návodu ale použijeme maticový vzorec kombinující funkce KDYŽ a MAX (obdobně MIN).

V následující tabulce zkusíme zjistit, kolik bodů dostal nejlepší zástupce teamu B. Tedy chceme najít ve sloupci C nejvyšší hodnotu, která má ve druhém sloupci hodnotu B.

tabulka

Funkci zapíšeme takto:

  • =MAX(KDYŽ(B:B="B";C:C))

a místo ukončení zápisu klávesou Enter zmáčkneme Ctrl + Shift + Enter. Vzorec pak bude vypadat takto:

  • {=MAX(KDYŽ(B:B="B";C:C))}

Ta složená závorka na začátku a na konci značí, že se jedná o maticový vzorec.

Je také možné odkázat se místo sloupců na konkrétní oblasti, na výsledek to nemá vliv:

  • {=MAX(KDYŽ(B2:B11="B";C2:C11))}

hotove  

8 Comments

  1. Dobrý den,
    jde to udělat tak, aby byla výstupem maximální hodnota z hodnot majících Team = A a zároveň Zástupce = 1 ? (v tomto případě je to jedna položka, uvádím to jen jako příklad). Pokoušel jsem se do fce KDYŽ vložit do podmínky funkci „A“, ale tu mi maticový vzorec vždy vyhodnotil jako „NEPRAVDA“ a funkce vracela 0.

    Díky za případnou odpověď.

  2. Dobrý den Vojto, zapsalo by se to např. takto:
    =MAX(KDYŽ(B:B=“a“;KDYŽ(A:A=1;C:C)))
    Samozřejmě tedy jako maticový vzorec…
    JB

  3. Dobrý den, všechny vzorce mi fungují pouze jako maticové. U stejných vzorců zadaných nematicově je výsledek 0.
    Děkuji.

  4. Omlouvám se, přehlédnutí – v návodu uvádíte, že se jedná o maticové vzorce

  5. Zdravím,
    nejde mi po zapsání maticového vzorce vyhledat minimální hodnotu pro A.
    Jak bude vypadat vzorec pro vyhledání nejnižší hodnoty pro hodnotu A, když vzorec pro vyhledání nejvyšší hodnoty pro A zní takto:
    {=MAX(KDYŽ(B2:B11=“B“;C2:C11))}
    tak logicky bych to viděl na takovýto vzorec:
    {=MIN(KDYŽ(B2:B11=“B“;C2:C11))} – ten mi bohužel vyhazuje hodnotu 0 🙁
    Předem děkuji za názory a nápady.

    Další otázka k vyhledávání – jak by vypadal vzorec, abych si vyhledal druhou nejvyšší hodnotu pro A ?

  6. Ahoj,

    mám stejný problém jako Martin. MAX funguje a když ho zaměním za MIN, výsledkem je náhle nula. Může někdo poradit?

    Díky 🙂

  7. Nemáte ve sledované oblasti nějakou prázdnou buňku? Pokud ano, vždy to vrátí hodnotu MIN jako 0.

Napsat komentář

Vaše emailová adresa nebude publikována.

*

smazat formulářOdeslat komentář