Funkcia MAXIFS v programe Excel - nájdenie maximálnej hodnoty pomocou viacerých kritérií

  • Zdieľajte To
Michael Brown

Tento návod ukazuje, ako použiť funkciu MAXIFS v programe Excel na získanie maximálnej hodnoty s podmienkami.

Tradične, keď ste niekedy potrebovali nájsť najvyššiu hodnotu pomocou podmienok v programe Excel, museli ste si vytvoriť vlastný vzorec MAX IF. Hoci to pre skúsených používateľov nie je veľký problém, pre nováčikov to môže predstavovať určité ťažkosti, pretože po prvé, mali by ste si pamätať syntax vzorca a po druhé, musíte vedieť pracovať so vzorcami polí. Našťastie spoločnosť Microsoft nedávno predstavila nový vzorecfunkcia, ktorá nám umožňuje robiť podmienené max jednoduchým spôsobom!

    Funkcia MAXIFS aplikácie Excel

    Funkcia MAXIFS vráti najväčšiu číselnú hodnotu v zadanom rozsahu na základe jedného alebo viacerých kritérií.

    Syntax funkcie MAXIFS je nasledujúca:

    MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

    Kde:

    • Max_range (povinné) - rozsah buniek, v ktorých chcete nájsť maximálnu hodnotu.
    • Kritérium_rozsahu1 (povinné) - prvý rozsah, ktorý sa vyhodnotí pomocou kritériá1 .
    • Kritériá1 - podmienka, ktorá sa má použiť pre prvý rozsah. Môže byť reprezentovaná číslom, textom alebo výrazom.
    • Kritérium_rozsahu2 / kritériá2 , ...(nepovinné) - ďalšie rozsahy a súvisiace kritériá. Podporovaných je až 126 dvojíc rozsah/kritérium.

    Táto funkcia MAXIFS je k dispozícii v aplikáciách Excel 2019, Excel 2021 a Excel pre Microsoft 365 v systémoch Windows a Mac.

    Ako príklad si nájdime najvyššieho futbalistu v našej miestnej škole. Predpokladajme, že výšky študentov sú v bunkách D2:D11 (max_rozsah) a športy sú v B2:B11 (kritérium_rozsah1), ako kritérium1 použite slovo "futbal" a dostanete tento vzorec:

    =MAXIFS(D2:D11, B2:B11, "futbal")

    Aby bol vzorec univerzálnejší, môžete zadať cieľový šport v niektorej bunke (napríklad G1) a zahrnúť odkaz na bunku do kritériá1 argument:

    =MAXIFS(D2:D11, B2:B11, G1)

    Poznámka. max_range a criteria_range argumenty musia mať rovnakú veľkosť a tvar, t. j. musia obsahovať rovnaký počet riadkov a stĺpcov, inak sa vráti chyba #VALUE!.

    Ako používať funkciu MAXIFS v programe Excel - príklady vzorcov

    Ako ste práve videli, MAXIFS Excel je pomerne jednoduchý a ľahko sa používa. Má však niekoľko drobných nuáns, ktoré majú veľký význam. V nasledujúcich príkladoch sa pokúsime čo najlepšie využiť podmienený max v programe Excel.

    Vyhľadanie maximálnej hodnoty na základe viacerých kritérií

    V prvej časti tohto návodu sme vytvorili vzorec MAXIFS v jeho najjednoduchšej podobe na získanie maximálnej hodnoty na základe jednej podmienky. Teraz tento príklad posunieme ďalej a vyhodnotíme dve rôzne kritériá.

    Predpokladajme, že chcete nájsť najvyššieho basketbalistu na juniorskej škole. Ak to chcete urobiť, definujte nasledujúce argumenty:

    • Max_range - rozsah buniek obsahujúcich výšky - D2:D11.
    • Kritérium_rozsahu1 - rozsah buniek obsahujúcich šport - B2:B11.
    • Kritériá1 - "basketbal", ktorý je zadaný v bunke G1.
    • Kritérium_rozsahu2 - rozsah buniek definujúcich typ školy - C2:C11.
    • Kritériá2 - "junior", ktorý je zadaný v bunke G2.

    Ak si tieto argumenty spojíme, dostaneme tieto vzorce:

    S "pevne zakódovanými" kritériami:

    =MAXIFS(D2:D11, B2:B11, "basketbal", C2:C11, "junior")

    S kritériami v preddefinovaných bunkách:

    =MAXIFS(D2:D11, B2:B11, G1, C2:C11, G2)

    Upozorňujeme, že funkcia MAXIFS v programe Excel je rozlišovanie veľkých a malých písmen , takže si nemusíte robiť starosti s veľkosťou písmen v kritériách.

    V prípade, že plánujete vzorec použiť vo viacerých bunkách, nezabudnite uzamknúť všetky rozsahy pomocou absolútnych odkazov na bunky, napríklad takto:

    =MAXIFS($D$2:$D$11, $B$2:$B$11, G1, $C$2:$C$11, G2)

    Tým sa zabezpečí správne kopírovanie vzorca do iných buniek - odkazy na kritériá sa zmenia na základe relatívnej polohy bunky, do ktorej sa vzorec kopíruje, pričom rozsahy zostanú nezmenené:

    Ako bonus vám ukážem rýchly spôsob, ako z inej bunky získať hodnotu, ktorá je spojená s hodnotou max. V našom prípade to bude meno najvyššieho človeka. Na tento účel použijeme klasický vzorec INDEX MATCH a do prvého argumentu MATCH vnoríme MAXIFS ako vyhľadávaciu hodnotu:

    =INDEX($A$2:$A$11, MATCH(MAXIFS($D$2:$D$11, $B$2:$B$11, G1, $C$2:$C$11, G2), $D$2:$D$11, 0))

    Vzorec nám hovorí, že meno najvyššieho basketbalistu na juniorskej škole je Liam:

    Excel MAXIFS s logickými operátormi

    Ak potrebujete vyhodnotiť číselné kritériá, použite logické operátory, ako napríklad:

    • väčší ako (>)
    • menej ako (<)
    • väčší alebo rovný (>=)
    • menej ako alebo rovné (<=)
    • nerovná sa ()

    Operátor "rovná sa" (=) možno vo väčšine prípadov vynechať.

    Výber operátora zvyčajne nie je problém, najzložitejšie je zostaviť kritériá so správnou syntaxou. Tu je návod, ako na to:

    • Logický operátor, za ktorým nasleduje číslo alebo text, musí byť uzavretý v dvojitých úvodzovkách, napríklad ">=14" alebo "running".
    • V prípade odkazu na bunku alebo inú funkciu použite úvodzovky na začiatok reťazca a ampersand na spojenie odkazu a ukončenie reťazca, napr. ">"&B1 alebo "<"&TODAY().

    Aby sme videli, ako to funguje v praxi, pridajme do našej vzorovej tabuľky stĺpec Vek (stĺpec C) a nájdime maximálnu výšku medzi chlapcami vo veku od 13 do 14 rokov. To možno urobiť pomocou nasledujúcich kritérií:

    Kritérium1: ">=13"

    Kritérium2: "<=14"

    Keďže porovnávame čísla v tom istom stĺpci, rozsah_kritérií je v oboch prípadoch rovnaký (C2:C11):

    =MAXIFS(D2:D11, C2:C11, ">=13", C2:C11, "<=14")

    Ak nechcete kritériá pevne zakódovať do vzorca, zadajte ich do samostatných buniek (napr. G1 a H1) a použite nasledujúcu syntax:

    =MAXIFS(D2:D11, C2:C11, ">="&G1, C2:C11, "<="&H1)

    Výsledok je zobrazený na nasledujúcej snímke obrazovky:

    Okrem čísel môžu logické operátory pracovať aj s textovými kritériami. Operátor "nerovná sa" sa hodí najmä vtedy, keď chcete niečo vylúčiť z výpočtov. Ak chcete napríklad zistiť najvyššieho študenta vo všetkých športoch okrem volejbalu, použite nasledujúci vzorec:

    =MAXIFS(D2:D11, B2:B11, "volleyball")

    Alebo tento, kde je G1 vylúčeným športom:

    =MAXIFS(D2:D11, B2:B11, ""&G1)

    Vzorce MAXIFS so zástupnými znakmi (čiastočná zhoda)

    Ak chcete vyhodnotiť podmienku, ktorá obsahuje konkrétny text alebo znak, zahrňte do kritérií jeden z nasledujúcich zástupných znakov:

    • Otáznik (?) na porovnanie s ľubovoľným jedným znakom.
    • Hviezdička (*) na priradenie ľubovoľnej postupnosti znakov.

    V tomto príklade zistíme najvyššieho muža v herných športoch. Keďže názvy všetkých herných športov v našom súbore údajov končia slovom "lopta", zahrnieme toto slovo do kritérií a použijeme hviezdičku na porovnanie všetkých predchádzajúcich znakov:

    =MAXIFS(D2:D11, B2:B11, "*ball")

    Do niektorej bunky, napr. G1, môžete tiež napísať "ball" a spojiť zástupný znak s odkazom na bunku:

    =MAXIFS(D2:D11, B2:B11, "*"&G1)

    Výsledok bude vyzerať takto:

    Získanie maximálnej hodnoty v rámci rozsahu dátumu

    Keďže dátumy sú v internom systéme Excel uložené ako poradové čísla, s kritériami dátumov sa pracuje rovnako ako s číslami.

    Na ilustráciu nahradíme Vek stĺpec s Dátum narodenia a pokúsiť sa zistiť maximálnu výšku medzi chlapcami narodenými v určitom roku, povedzme v roku 2004. Na splnenie tejto úlohy musíme "vyfiltrovať" dátumy narodenia, ktoré sú väčšie alebo rovné 1. januáru 2004 a menšie alebo rovné 31. decembru 2004.

    Pri zostavovaní kritérií je dôležité, aby ste dátumy uvádzali vo formáte, ktorému Excel rozumie:

    =MAXIFS(D2:D11, C2:C11, ">=1-Jan-2004", C2:C11, "<=31-Dec-2004")

    Alebo

    =MAXIFS(D2:D11, C2:C11, ">=1/1/2004", C2:C11, "<=12/31/2004")

    Aby sa predišlo nesprávnej interpretácii, je vhodné použiť funkciu DATE:

    =MAXIFS(D2:D11, C2:C11, ">="&DATE(2004,1,1), C2:C11, "<="&DATE(2004,12,31))

    V tomto príklade zadáme cieľový rok do G1 a potom použijeme funkciu DATE na zadanie dátumov:

    =MAXIFS(D2:D11, C2:C11, ">="&DATE(G1,1,1), C2:C11, "<="&DATE(G1,12,31))

    Poznámka: Na rozdiel od čísel by sa dátumy mali uvádzať v úvodzovkách, ak sa v kritériách používajú samostatne. Napríklad

    =MAXIFS(D2:D11, C2:C11, "10/5/2005")

    Vyhľadanie maximálnej hodnoty na základe viacerých kritérií pomocou logiky OR

    Funkcia MAXIFS programu Excel je určená na testovanie podmienok pomocou logiky AND - t. j. spracúva len tie čísla, ktoré sú v max_range V niektorých situáciách však môže byť potrebné vyhodnotiť podmienky pomocou logiky OR, t. j. spracovať všetky čísla, pre ktoré je niektoré zo zadaných kritérií TRUE.

    Aby ste veci ľahšie pochopili, zvážte nasledujúci príklad. Predpokladajme, že chcete nájsť maximálnu výšku chlapcov, ktorí hrajú buď basketbal, alebo futbal. Ako by ste to urobili? Použitie kritéria "basketbal" ako kritéria1 a kritéria2 ako kritéria "futbal" nebude fungovať, pretože Excel by predpokladal, že obe kritériá by sa mali vyhodnotiť ako TRUE.

    Riešením je vytvoriť 2 samostatné vzorce MAXIFS, jeden pre každý šport, a potom použiť starú dobrú funkciu MAX na vrátenie vyššieho čísla:

    =MAX(MAXIFS(C2:C11, B2:B11, "basketbal"), MAXIFS(C2:C11, B2:B11, "futbal"))

    Na nasledujúcej snímke je zobrazený tento vzorec, ale s kritériami v preddefinovaných vstupných bunkách F1 a H1:

    Ďalším spôsobom je použitie vzorca MAX IF s logikou OR.

    7 vecí, ktoré si treba zapamätať o programe Excel MAXIFS

    Nižšie nájdete niekoľko postrehov, ktoré vám pomôžu zlepšiť vaše vzorce a vyhnúť sa častým chybám. Niektoré z týchto postrehov sme už rozobrali ako tipy a poznámky v našich príkladoch, ale možno vám pomôže krátke zhrnutie toho, čo ste sa už naučili:

    1. Funkcia MAXIFS v programe Excel môže získať najvyššiu hodnotu na základe jeden alebo viacero kritérií .
    2. V predvolenom nastavení Excel MAXIFS pracuje s Logika AND , t. j. vráti maximálne číslo, ktoré spĺňa všetky zadané podmienky.
    3. Aby funkcia fungovala, musia mať rozsahy max a kritériá rovnaká veľkosť a tvar .
    4. Funkcia SUMIF je rozlišovanie veľkých a malých písmen , t. j. nerozpoznáva veľkosť písmen v textových kritériách.
    5. Pri písaní vzorca MAXIFS pre viacero buniek nezabudnite uzamknúť rozsahy s absolútnymi odkazmi na bunky, aby sa vzorec správne skopíroval.
    6. Pozor na syntax vašich kritérií ! Tu sú hlavné pravidlá:
      • Ak sa text a dátumy používajú samostatne, mali by sa uvádzať v úvodzovkách, čísla a odkazy na bunky by sa uvádzať nemali.
      • Ak sa číslo, dátum alebo text používa s logickým operátorom, celý výraz musí byť uzavretý v dvojitých úvodzovkách, ako napríklad ">=10"; odkazy na bunky a iné funkcie sa musia spojiť pomocou ampersandu, ako napríklad ">"&G1.
    7. Funkcia MAXIFS je k dispozícii len v aplikácii Excel 2019 a Excel pre Office 365. V predchádzajúcich verziách táto funkcia nie je k dispozícii.

    Takto môžete v programe Excel pomocou podmienok nájsť maximálnu hodnotu. Ďakujem vám za prečítanie a dúfam, že sa čoskoro uvidíme na našom blogu!

    Stiahnite si cvičebnicu:

    Príklady vzorcov programu Excel MAXIFS (.xlsx súbor)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.