Excel COUNTIF a COUNTIFS s logikou OR

  • Zdieľajte To
Michael Brown

Tento návod vysvetľuje, ako používať funkcie COUNTIF a COUNTIFS programu Excel na počítanie buniek s viacerými podmienkami OR, napr. ak bunka obsahuje X, Y alebo Z.

Ako každý vie, funkcia COUNTIF aplikácie Excel je určená na počítanie buniek na základe len jedného kritéria, zatiaľ čo funkcia COUNTIFS vyhodnocuje viacero kritérií pomocou logiky AND. Ale čo ak si vaša úloha vyžaduje logiku OR - keď je zadaných viacero podmienok, do počtu sa môže zahrnúť ktorákoľvek z nich?

Existuje niekoľko možných riešení tejto úlohy a tento návod sa im všetkým podrobne venuje. Príklady predpokladajú, že máte dobré znalosti syntaxe a všeobecného použitia oboch funkcií. Ak nie, možno budete chcieť začať s revíziou základov:

Funkcia Excel COUNTIF - počíta bunky s jedným kritériom.

Funkcia Excel COUNTIFS - počíta bunky s viacerými kritériami AND.

Teraz, keď sú všetci na rovnakej strane, sa do toho pustime:

    Počítanie buniek s podmienkami OR v programe Excel

    Táto časť sa zaoberá najjednoduchším scenárom - počítaním buniek, ktoré spĺňajú niektorú (aspoň jednu) zo zadaných podmienok.

    Vzorec 1. COUNTIF + COUNTIF

    Najjednoduchší spôsob, ako spočítať bunky, ktoré majú jednu alebo druhú hodnotu (Countif a alebo b ) je napísať obyčajný vzorec COUNTIF, ktorý spočíta každú položku osobitne, a potom výsledky sčítať:

    COUNTIF( rozsah , kritérium1 ) + COUNTIF( rozsah , kritérium2 )

    Ako príklad zistíme, koľko buniek v stĺpci A obsahuje buď "jablká", alebo "banány":

    =COUNTIF(A:A, "jablká") + COUNTIF(A:A, "banány")

    V reálnych pracovných listoch je dobré pracovať skôr s rozsahmi ako s celými stĺpcami, aby vzorec pracoval rýchlejšie. Ak si chcete ušetriť problémy s aktualizáciou vzorca pri každej zmene podmienok, zadajte položky, ktoré vás zaujímajú, do vopred definovaných buniek, napríklad F1 a G1, a odkazujte na tieto bunky. Napríklad:

    =COUNTIF(A2:A10, F1) + COUNTIF(A2:A10, G1)

    Táto technika funguje dobre pre niekoľko kritérií, ale pridaním troch alebo viacerých funkcií COUNTIF by sa vzorec stal príliš ťažkopádnym. V tomto prípade by ste sa mali radšej držať jednej z nasledujúcich alternatív.

    Vzorec 2. COUNTIF s konštantou poľa

    Tu je kompaktnejšia verzia vzorca SUMIF s podmienkami OR v programe Excel:

    SUM(COUNTIF( rozsah , { kritérium1 , kritérium2 , kritérium3 , ...}))

    Vzorec je zostavený takto:

    Najskôr všetky podmienky zabalíte do konštantného poľa - jednotlivé položky oddelíte čiarkami a celé pole uzavriete do kučeravých zátvoriek, napríklad {"jablká", "banány", "citróny"}.

    Potom zahrniete konštantu poľa do kritériá argument bežného vzorca COUNTIF: COUNTIF(A2:A10, {"jablká", "banány", "citróny"})

    Nakoniec vo funkcii SUM deformujte vzorec COUNTIF. Je to potrebné, pretože COUNTIF vráti 3 individuálne počty pre "jablká", "banány" a "citróny" a vy potrebujete tieto počty sčítať.

    Náš kompletný vzorec je nasledovný:

    =SUM(COUNTIF(A2:A10,{"jablká", "banány", "citróny"})

    Ak by ste radšej zadali kritériá ako odkazy na rozsah , musíte vzorec zadať pomocou klávesovej skratky Ctrl + Shift + Enter, aby sa stal vzorcom poľa. Napríklad:

    =SUM(COUNTIF(A2:A10,F1:H1))

    Všimnite si kučeravé zátvorky na snímke nižšie - je to najviditeľnejší znak vzorca poľa v programe Excel:

    Vzorec 3. SUMPRODUCT

    Ďalším spôsobom počítania buniek s logikou OR v programe Excel je použitie funkcie SUMPRODUCT týmto spôsobom:

    SUMPRODUCT(1*( rozsah ={ kritérium1 , kritérium2 , kritérium3 , ...}))

    Pre lepšiu vizualizáciu logiky by sa to dalo napísať aj takto:

    SUMPRODUCT(( rozsah = kritérium1 ) + ( rozsah = kritérium2 ) + ...)

    Vzorec otestuje každú bunku v rozsahu podľa jednotlivých kritérií a vráti TRUE, ak je kritérium splnené, v opačnom prípade FALSE. Ako medzivýsledok získate niekoľko polí s hodnotami TRUE a FALSE (počet polí sa rovná počtu vašich kritérií). Potom sa prvky polí na rovnakej pozícii sčítajú, t. j. prvé prvky vo všetkých poliach, druhé prvky atď.operácia sčítania prevádza logické hodnoty na čísla, takže na konci je jedno pole 1 (jedno z kritérií vyhovuje) a 0 (žiadne z kritérií nevyhovuje). Keďže všetky kritériá sú testované na rovnakých bunkách, vo výslednom poli sa nemôže objaviť žiadne iné číslo - iba jedno počiatočné pole môže mať na určitej pozícii TRUE, ostatné budú mať FALSE. Nakoniec, SUMPRODUCTsčítate prvky výsledného poľa a získate požadovaný počet.

    Prvý vzorec funguje podobným spôsobom s tým rozdielom, že vracia jedno dvojrozmerné pole hodnôt TRUE a FALSE, ktoré vynásobíte 1, aby ste logické hodnoty previedli na 1, resp. 0.

    Pri aplikácii na náš súbor údajov vzorky majú vzorce nasledujúci tvar:

    =SUMPRODUCT(1*(A2:A10={"jablká", "banány", "citróny"})

    Alebo

    =SUMPRODUCT((A2:A10="jablká") + (A2:A10="banány") + (A2:A10="citróny")

    Nahraďte pevne zakódovanú konštantu poľa odkazom na rozsah a získate ešte elegantnejšie riešenie:

    =SUMPRODUKT(1*( A2:A10=F1:H1))

    Poznámka: Funkcia SUMPRODUCT je pomalšia ako COUNTIF, preto je tento vzorec najlepšie používať na relatívne malé súbory údajov.

    Počítanie buniek s logikou OR aj AND

    Pri práci s veľkými súbormi údajov, ktoré majú viacúrovňové a medziúrovňové vzťahy medzi prvkami, je pravdepodobné, že budete musieť naraz počítať bunky s podmienkami OR a AND.

    Ako príklad uveďme počet "jabĺk", "banánov" a "citrónov", ktoré sú "dodané". Ako to urobíme? Na začiatok preložme naše podmienky do jazyka programu Excel:

    • Stĺpec A: "jablká" alebo "banány" alebo "citróny"
    • Stĺpec C: "dodané"

    Ak sa na to pozrieme z iného uhla, musíme spočítať riadky s "jablkami a doručenými" ALEBO "banánmi a doručenými" ALEBO "citrónmi a doručenými". Takto povedané, úloha sa zúži na spočítanie buniek s 3 podmienkami OR - presne to, čo sme robili v predchádzajúcej časti! Jediný rozdiel je v tom, že na vyhodnotenie kritéria AND v rámci každej podmienky OR použijete COUNTIFS namiesto COUNTIF.

    Vzorec 1. COUNTIFS + COUNTIFS

    Je to najdlhší vzorec, ktorý sa najľahšie píše :)

    =COUNTIFS(A2:A10, "jablká", C2:C10, "dodané") + COUNTIFS(A2:A10, "banány", C2:C10, "dodané")) + COUNTIFS(A2:A10, "citróny", C2:C10, "dodané"))

    Na nasledujúcom obrázku je zobrazený rovnaký vzorec s odkazmi na bunky:

    =COUNTIFS(A2:A10, K1, C2:C10, K2) + COUNTIFS(A2:A10, L1, C2:C10, K2) + COUNTIFS(A2:A10, M1,C2:C10, K2)

    Vzorec 2. COUNTIFS s konštantou poľa

    Kompaktnejší vzorec COUNTIFS s logikou AND/OR možno vytvoriť tak, že sa kritériá OR zabalia do konštanty poľa:

    =SUM(COUNTIFS(A2:A10, {"jablká", "banány", "citróny"}, C2:C10, "dodané"))

    Ak pre kritériá používate odkaz na rozsah, potrebujete vzorec poľa, ktorý vyplníte stlačením klávesovej skratky Ctrl + Shift + Enter :

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2))

    Tip. V prípade potreby môžete použiť zástupné znaky v kritériách všetkých vyššie uvedených vzorcov. Napríklad na spočítanie všetkých druhov banánov, ako sú "zelené banány" alebo "banány so zlatými prstami", môžete použiť tento vzorec:

    =SUM(COUNTIFS(A2:A10, {"jablká", "*banány*", "citróny"}, C2:C10, "dodané"))

    Podobným spôsobom môžete zostaviť vzorec na počítanie buniek na základe iných typov kritérií. Ak chcete napríklad získať počet "jabĺk", "banánov" alebo "citrónov", ktoré sú "dodané" a ktorých množstvo je väčšie ako 200, pridajte ku COUNTIFS ešte jednu dvojicu rozsah kritérií/kritérií:

    =SUM(COUNTIFS(A2:A10, {"jablká", "*banány*", "citróny"}, C2:C10, "dodané", B2:B10, ">200"))

    Alebo použite tento vzorec poľa (zadáva sa pomocou klávesovej skratky Ctrl + Shift + Enter ):

    =SUM(COUNTIFS(A2:A10,F1:H1,C2:C10,F2, B2:B10, ">"&F3))

    Počítanie buniek s viacerými podmienkami OR

    V predchádzajúcom príklade ste sa naučili testovať jednu sadu podmienok OR. Ale čo ak máte dve alebo viac sád a chcete získať súčet všetkých možných vzťahov OR?

    V závislosti od toho, koľko podmienok potrebujete spracovať, môžete použiť buď COUNTIFS s konštantou poľa, alebo SUMPRODUCT s ISNUMBER MATCH. Prvá možnosť sa zostavuje pomerne ľahko, ale je obmedzená len na 2 sady podmienok OR. Druhá možnosť dokáže vyhodnotiť ľubovoľný počet podmienok (samozrejme, rozumný počet vzhľadom na obmedzenie programu Excel na 255 argumentov a 8192 znakov celkovej dĺžky vzorca),ale pochopenie logiky vzorca môže vyžadovať určité úsilie.

    Počítanie buniek s 2 sadami podmienok OR

    Ak pracujete len s dvoma sadami kritérií OR, stačí do vyššie uvedeného vzorca COUNTIFS pridať ešte jednu konštantu poľa.

    Aby vzorec fungoval, je potrebná jedna drobná, ale zásadná zmena: použite horizontálne pole (prvky oddelené čiarkami) pre jeden súbor kritérií a vertikálne pole (prvky oddelené bodkočiarkami) pre druhý. Týmto sa programu Excel povie, aby "spároval" alebo "krížovo vypočítal" prvky v oboch poliach a vrátil dvojrozmerné pole výsledkov.

    Ako príklad uveďme "jablká", "banány" alebo "citróny", ktoré sú buď "doručené", alebo "na ceste":

    =SUM(COUNTIFS(A2:A10, {"jablká", "banány", "citróny"}, B2:B10, {"dodané"; "na ceste"})

    Všimnite si stredník v druhej konštante poľa:

    Keďže Excel je dvojrozmerný program, nie je možné zostaviť trojrozmerné alebo štvorrozmerné pole, a preto tento vzorec funguje len pre dve sady kritérií OR. Ak chcete počítať s viacerými kritériami, budete musieť prejsť na zložitejší vzorec SUMPRODUCT, ktorý je vysvetlený v ďalšom príklade.

    Počítanie buniek s viacerými sadami podmienok OR

    Ak chcete spočítať bunky s viac ako dvoma sadami kritérií OR, použite funkciu SUMPRODUCT spolu s funkciou ISNUMBER MATCH.

    Napríklad si spočítajme "jablká", "banány" alebo "citróny", ktoré sú buď "dodané", alebo "prepravované" a sú zabalené buď vo "vrecku", alebo v "zásobníku":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"jablká", "banány", "citróny"},0))*

    ISNUMBER(MATCH(B2:B10,{"taška", "zásobník"},0))*

    ISNUMBER(MATCH(C2:C10,{"doručené", "na ceste"},0)))

    V jadre vzorca funkcia MATCH kontroluje kritériá porovnávaním každej bunky v zadanom rozsahu s príslušnou konštantou poľa. Ak sa nájde zhoda, vráti relatívnu pozíciu hodnoty, ak je pole, v opačnom prípade N/A. ISNUMBER prevádza tieto hodnoty na TRUE a FALSE, ktoré sa rovnajú 1, resp. 0. SUMPRODUCT to preberá a násobí hodnoty políKeďže vynásobením nulou dostaneme nulu, zostanú zachované a sčítajú sa len tie bunky, ktoré majú vo všetkých poliach hodnotu 1.

    Výsledok je zobrazený na nasledujúcom obrázku:

    Takto sa v programe Excel používajú funkcie COUNTIF a COUNTIFS na počítanie buniek s viacerými podmienkami AND, ako aj OR. Ak sa chcete bližšie pozrieť na vzorce, o ktorých sa hovorí v tomto návode, môžete si stiahnuť náš vzorový zošit nižšie. Ďakujem za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!

    Cvičný zošit

    Excel COUNTIF s podmienkami OR - príklady (.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.