Excel COUNTIF a COUNTIFS s logikou OR

  • Sdílet Toto
Michael Brown

Tento návod vysvětluje, jak používat funkce COUNTIF a COUNTIFS aplikace Excel k počítání buněk s více podmínkami OR, např. pokud buňka obsahuje X, Y nebo Z.

Jak každý ví, funkce COUNTIF aplikace Excel je určena k počítání buněk na základě pouze jednoho kritéria, zatímco COUNTIFS vyhodnocuje více kritérií pomocí logiky AND. Ale co když vaše úloha vyžaduje logiku OR - když je zadáno více podmínek, může se do počtu zahrnout kterákoli z nich?

Existuje několik možných řešení tohoto úkolu a tento tutoriál se jimi všemi podrobně zabývá. Příklady předpokládají, že máte dobré znalosti syntaxe a obecného použití obou funkcí. Pokud ne, možná budete chtít začít s revizí základů:

Funkce Excel COUNTIF - počítá buňky s jedním kritériem.

Funkce Excel COUNTIFS - počítá buňky s více kritérii AND.

Teď, když jsou všichni na stejné vlně, se do toho pustíme:

    Počítání buněk s podmínkami OR v aplikaci Excel

    Tato část se zabývá nejjednodušším scénářem - počítáním buněk, které splňují některou (alespoň jednu) ze zadaných podmínek.

    Vzorec 1. COUNTIF + COUNTIF

    Nejjednodušší způsob, jak spočítat buňky, které mají jednu nebo druhou hodnotu (Countif a nebo b ) je napsat běžný vzorec COUNTIF, který spočítá každou položku zvlášť, a pak výsledky sečíst:

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

    Jako příklad zjistíme, kolik buněk ve sloupci A obsahuje slova "jablka" nebo "banány":

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

    V reálných pracovních listech je vhodné pracovat spíše s rozsahy než s celými sloupci, aby vzorec pracoval rychleji. Chcete-li si ušetřit práci s aktualizací vzorce při každé změně podmínek, zadejte položky, které vás zajímají, do předem definovaných buněk, například F1 a G1, a odkazujte na tyto buňky. Například:

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

    Tato technika funguje dobře pro několik kritérií, ale přidáním tří nebo více funkcí COUNTIF dohromady by se vzorec stal příliš těžkopádným. V takovém případě se raději držte jedné z následujících alternativ.

    Vzorec 2. COUNTIF s konstantou pole

    Zde je kompaktnější verze vzorce SUMIF s podmínkami OR v aplikaci Excel:

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

    Vzorec je sestaven takto:

    Nejprve všechny podmínky zabalíte do konstanty pole - jednotlivé položky oddělíte čárkami a celé pole uzavřete do kudrnatých závorek jako {"jablka", "banány", "citrony"}.

    Pak zahrnete konstantu pole do kritéria argument běžného vzorce COUNTIF: COUNTIF(A2:A10, {"jablka", "banány", "citrony"})

    Nakonec ve funkci SUM deformujte vzorec COUNTIF. Je to nutné, protože COUNTIF vrátí 3 jednotlivé počty pro "jablka", "banány" a "citrony" a vy potřebujete tyto počty sečíst.

    Náš kompletní vzorec je následující:

    =SUMA(COUNTIF(A2:A10,{"jablka", "banány", "citrony"}))

    Pokud byste raději zadali kritéria jako odkazy na rozsah , musíte vzorec zadat pomocí klávesové zkratky Ctrl + Shift + Enter, aby se stal vzorcem pole. Například:

    =SOUČET(COUNTIF(A2:A10,F1:H1))

    Na obrázku níže si všimněte kroucených závorek - je to nejzřetelnější označení vzorce pole v aplikaci Excel:

    Vzorec 3. SUMPRODUCT

    Dalším způsobem, jak v aplikaci Excel počítat buňky s logikou OR, je použití funkce SUMPRODUCT tímto způsobem:

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

    Pro lepší představu logiky by se to dalo napsat také takto:

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

    Vzorec otestuje každou buňku v rozsahu podle jednotlivých kritérií a vrátí hodnotu TRUE, pokud je kritérium splněno, v opačném případě hodnotu FALSE. Jako mezivýsledek získáte několik polí s hodnotami TRUE a FALSE (počet polí se rovná počtu vašich kritérií). Poté se prvky polí na stejné pozici sečtou, tj. první prvky ve všech polích, druhé prvky atd.operace sčítání převede logické hodnoty na čísla, takže na konci je jedno pole 1 (jedno z kritérií vyhovuje) a 0 (žádné kritérium nevyhovuje). Protože všechna kritéria jsou testována proti stejným buňkám, není možné, aby se ve výsledném poli objevilo jiné číslo - pouze jedno počáteční pole může mít na určité pozici hodnotu TRUE, ostatní budou mít hodnotu FALSE. Nakonec se použije SUMPRODUCT.sečte prvky výsledného pole a získá požadovaný počet.

    První vzorec funguje podobným způsobem s tím rozdílem, že vrací jedno dvourozměrné pole hodnot TRUE a FALSE, které vynásobíte 1, abyste převedli logické hodnoty na 1, resp. 0.

    Při aplikaci na náš vzorový soubor dat mají vzorce následující podobu:

    =SUMPRODUCT(1*(A2:A10={"jablka", "banány", "citrony"}))

    Nebo

    =SUMPRODUCT((A2:A10="jablka") + (A2:A10="banány") + (A2:A10="citrony"))

    Nahraďte pevně zadanou konstantu pole odkazem na rozsah a získáte ještě elegantnější řešení:

    =SOUČIN(1*( A2:A10=F1:H1))

    Poznámka: Funkce SUMPRODUCT je pomalejší než COUNTIF, proto je tento vzorec nejvhodnější používat pro relativně malé soubory dat.

    Počítání buněk s logikou OR i AND

    Při práci s rozsáhlými soubory dat, které mají víceúrovňové a meziúrovňové vztahy mezi prvky, je pravděpodobné, že budete muset počítat buňky s podmínkami OR a AND najednou.

    Jako příklad uveďme počet "jablek", "banánů" a "citronů", které jsou "dodány". Jak to uděláme? Pro začátek přeložme naše podmínky do jazyka aplikace Excel:

    • Sloupec A: "jablka" nebo "banány" nebo "citrony".
    • Sloupec C: "dodáno"

    Když se na to podíváme z jiného úhlu, potřebujeme spočítat řádky s "jablky a doručenými" NEBO "banány a doručenými" NEBO "citrony a doručenými". Takto řečeno se úloha omezuje na spočítání buněk se 3 podmínkami OR - přesně to, co jsme dělali v předchozí části! Jediný rozdíl je v tom, že k vyhodnocení kritéria AND v rámci každé podmínky OR použijete COUNTIFS místo COUNTIF.

    Vzorec 1. COUNTIFS + COUNTIFS

    Je to nejdelší vzorec, který se nejsnáze píše :)

    =COUNTIFS(A2:A10, "jablka", C2:C10, "dodáno") + COUNTIFS(A2:A10, "banány", C2:C10, "dodáno")) + COUNTIFS(A2:A10, "citrony", C2:C10, "dodáno"))

    Na obrázku níže je zobrazen stejný vzorec s odkazy na buňky:

    =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 konstantou pole

    Kompaktnější vzorec COUNTIFS s logikou AND/OR lze vytvořit zabalením kritérií OR do konstanty pole:

    =SUMA(COUNTIFS(A2:A10, {"jablka", "banány", "citrony"}, C2:C10, "dodáno"))

    Pokud pro kritéria použijete odkaz na rozsah, potřebujete vzorec pole, který doplníte stisknutím kláves Ctrl + Shift + Enter :

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

    Tip. V případě potřeby můžete použít zástupné znaky v kritériích všech výše uvedených vzorců. Například pro počítání všech druhů banánů, jako jsou "zelené banány" nebo "banány se zlatými prsty", můžete použít tento vzorec:

    =SUMA(COUNTIFS(A2:A10, {"jablka", "*banány*", "citrony"}, C2:C10, "dodáno"))

    Podobným způsobem můžete sestavit vzorec pro počítání buněk na základě dalších typů kritérií. Chcete-li například získat počet "jablek" nebo "banánů" nebo "citronů", které jsou "dodány" a jejichž množství je větší než 200, přidejte do COUNTIFS ještě jednu dvojici rozsah kritérií/kritérií:

    =SUMA(COUNTIFS(A2:A10, {"jablka", "*banány*", "citrony"}, C2:C10, "dodáno", B2:B10, ">200"))

    Nebo použijte tento vzorec pole (zadává se pomocí kláves Ctrl + Shift + Enter ):

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

    Počítání buněk s více podmínkami OR

    V předchozím příkladu jste se naučili testovat jednu sadu podmínek OR. Co když ale máte dvě nebo více sad a chcete získat součet všech možných vztahů OR?

    Podle toho, kolik podmínek potřebujete zpracovat, můžete použít buď COUNTIFS s konstantou pole, nebo SUMPRODUCT s ISNUMBER MATCH. První z nich se sestavuje poměrně snadno, ale je omezen pouze na 2 sady podmínek OR. Druhý může vyhodnotit libovolný počet podmínek (samozřejmě rozumný počet vzhledem k omezení Excelu na 255 argumentů a 8192 znaků na celkovou délku vzorce),ale pochopení logiky vzorce může vyžadovat určité úsilí.

    Počítání buněk se 2 sadami podmínek OR

    Pokud se jedná pouze o dvě sady kritérií OR, stačí do výše uvedeného vzorce COUNTIFS přidat ještě jednu konstantu pole.

    Aby vzorec fungoval, je nutná jedna drobná, ale zásadní změna: použijte kód horizontální pole (prvky oddělené čárkami) pro jednu sadu kritérií a vertikální pole (prvky oddělené středníkem) pro druhý. Tím Excelu řeknete, aby "pároval" nebo "křížově počítal" prvky v obou polích a vrátil dvourozměrné pole výsledků.

    Jako příklad uveďme "jablka", "banány" nebo "citrony", které jsou buď "dodány", nebo "na cestě":

    =SUMA(COUNTIFS(A2:A10, {"jablka", "banány", "citrony"}, B2:B10, {"doručeno"; "na cestě"}))

    Všimněte si středníku ve druhé konstantě pole:

    Protože Excel je dvourozměrný program, není možné sestavit třírozměrné nebo čtyřrozměrné pole, a proto tento vzorec funguje pouze pro dvě sady kritérií OR. Chcete-li počítat s více kritérii, budete muset přejít na složitější vzorec SUMPRODUCT, který je vysvětlen v dalším příkladu.

    Počítání buněk s více sadami podmínek OR

    Chcete-li spočítat buňky s více než dvěma sadami kritérií OR, použijte funkci SUMPRODUCT spolu s funkcí ISNUMBER MATCH.

    Zjistíme například počet "jablek", "banánů" nebo "citronů", které jsou buď "dodány", nebo "přepravovány" a jsou zabaleny v "sáčku" nebo "vaničce":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"jablka", "banány", "citrony"},0))*

    ISNUMBER(MATCH(B2:B10,{"bag", "tray"},0))*

    ISNUMBER(MATCH(C2:C10,{"doručeno", "na cestě"},0)))

    V jádru vzorce funkce MATCH kontroluje kritéria porovnáním každé buňky v zadaném rozsahu s odpovídající konstantou pole. Pokud je nalezena shoda, vrátí relativní pozici hodnoty, pokud je pole, jinak N/A. ISNUMBER převede tyto hodnoty na TRUE a FALSE, které se rovnají 1, resp. 0. SUMPRODUCT je převezme a vynásobí pole'.Protože vynásobením nulou získáme nulu, zůstanou zachovány a sečtou se pouze buňky, které mají ve všech polích hodnotu 1.

    Výsledek je zobrazen na následujícím snímku obrazovky:

    Takto lze v Excelu použít funkce COUNTIF a COUNTIFS k počítání buněk s více podmínkami AND i OR. Chcete-li se blíže seznámit se vzorci probíranými v tomto tutoriálu, můžete si stáhnout náš ukázkový sešit níže. Děkuji za přečtení a doufám, že se uvidíme na našem blogu příští týden!

    Cvičebnice

    Excel COUNTIF s podmínkami OR - příklady (.xlsx soubor)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.