Excel COUNTIF en COUNTIFS met OR-logica

  • Deel Dit
Michael Brown

De handleiding legt uit hoe u de functies COUNTIF en COUNTIFS van Excel kunt gebruiken om cellen te tellen met meerdere OF-voorwaarden, bijvoorbeeld als een cel X, Y of Z bevat.

Zoals iedereen weet, is de Excel COUNTIF-functie ontworpen om cellen te tellen op basis van slechts één criterium, terwijl COUNTIFS meerdere criteria evalueert met AND-logica. Maar wat als uw taak OR-logica vereist - wanneer meerdere voorwaarden worden verstrekt, kan elke voorwaarde overeenkomen om in de telling te worden opgenomen?

Er zijn een paar mogelijke oplossingen voor deze taak, en deze tutorial zal ze allemaal in detail behandelen. De voorbeelden veronderstellen dat u een goede kennis hebt van de syntaxis en het algemene gebruik van beide functies. Zo niet, dan kunt u misschien beter beginnen met het herzien van de basis:

Excel COUNTIF functie - telt cellen met één criterium.

Excel COUNTIFS functie - telt cellen met meerdere EN criteria.

Nu iedereen op één lijn zit, laten we beginnen:

    Cellen met OR-voorwaarden tellen in Excel

    Dit deel behandelt het eenvoudigste scenario - het tellen van cellen die voldoen aan (ten minste één) van de gespecificeerde voorwaarden.

    Formule 1. COUNTIF + COUNTIF

    De eenvoudigste manier om cellen te tellen die de ene of de andere waarde hebben (Countif a of b ) is het schrijven van een gewone COUNTIF-formule om elk item afzonderlijk te tellen, en dan de resultaten op te tellen:

    COUNTIF( reeks , criterium1 ) + COUNTIF( reeks , criterium2 )

    Laten we bijvoorbeeld nagaan hoeveel cellen in kolom A "appels" of "bananen" bevatten:

    =COUNTIF(A:A, "appels") + COUNTIF(A:A, "bananen")

    In echte werkbladen is het een goede gewoonte om op bereiken te werken in plaats van op hele kolommen, zodat de formule sneller werkt. Om de moeite te besparen om uw formule bij te werken telkens wanneer de voorwaarden veranderen, typt u de items van belang in vooraf gedefinieerde cellen, bijvoorbeeld F1 en G1, en verwijst u naar die cellen. Bijvoorbeeld:

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

    Deze techniek werkt prima voor een paar criteria, maar het toevoegen van drie of meer COUNTIF-functies samen zou de formule te omslachtig maken. In dat geval kunt u het beter houden bij een van de volgende alternatieven.

    Formule 2. COUNTIF met matrixconstante

    Hier is een compactere versie van de SUMIF met OF-voorwaarden formule in Excel:

    SUM(COUNTIF( reeks , { criterium1 , criterium2 , criterium3 , ...}))

    De formule is als volgt opgebouwd:

    Eerst verpakt u alle voorwaarden in een arrayconstante - individuele items gescheiden door komma's en de array omsloten door accolades zoals {"appels", "bananen", "citroenen"}.

    Vervolgens neemt u de arrayconstante op in de criteria argument van een normale COUNTIF-formule: COUNTIF(A2:A10, {"appels","bananen","citroenen"})

    Tenslotte moet u de COUNTIF-formule in de SUM-functie vervormen. Dat is nodig omdat COUNTIF 3 individuele tellingen oplevert voor "appels", "bananen" en "citroenen", en u moet die tellingen bij elkaar optellen.

    Onze volledige formule gaat als volgt:

    =SUM(COUNTIF(A2:A10,{"appels","bananen","citroenen"}))

    Als u liever uw criteria aanlevert als reeks referenties moet u de formule invoeren met Ctrl + Shift + Enter om er een matrixformule van te maken. Bijvoorbeeld:

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

    Let op de accolades in de schermafbeelding hieronder - dat is de duidelijkste aanwijzing voor een matrixformule in Excel:

    Formule 3. SUMPRODUCT

    Een andere manier om cellen te tellen met OR-logica in Excel is door de SUMPRODUCT-functie op deze manier te gebruiken:

    SUMPRODUCT(1*( reeks ={ criterium1 , criterium2 , criterium3 , ...}))

    Om de logica beter te visualiseren, kan dit ook worden geschreven als:

    SUMPRODUCT(( reeks = criterium1 ) + ( reeks = criterium2 ) + ...)

    De formule toetst elke cel in het bereik aan elk criterium en geeft WAAR als aan het criterium is voldaan, anders ONWAAR. Als tussenresultaat krijgt u een paar matrices met WAAR- en ONWAAR-waarden (het aantal matrices is gelijk aan het aantal van uw criteria). Vervolgens worden de matrixelementen op dezelfde positie bij elkaar opgeteld, d.w.z. de eerste elementen in alle matrices, de tweede elementen, enz.De optelbewerking zet de logische waarden om in getallen, zodat u uiteindelijk een matrix van 1's (een van de criteria komt overeen) en 0's (geen van de criteria komt overeen) krijgt. Omdat alle criteria aan dezelfde cellen worden getoetst, kan er op geen enkele manier een ander getal in de resulterende matrix voorkomen - slechts één initiële matrix kan op een specifieke positie TRUE hebben, andere hebben FALSE. Ten slotte kan SUMPRODUCTtelt de elementen van de resulterende array op, en je krijgt de gewenste telling.

    De eerste formule werkt op een soortgelijke manier, met dit verschil dat zij een 2-dimensionale matrix van TRUE- en FALSE-waarden oplevert, die u met 1 vermenigvuldigt om de logische waarden om te zetten in respectievelijk 1 en 0.

    Toegepast op onze voorbeeldgegevens zien de formules er als volgt uit:

    =SUMPRODUCT(1*(A2:A10={"appels","bananen","citroenen"}))

    Of

    =SUMPRODUCT((A2:A10="appels") + (A2:A10="bananen") + (A2:A10="citroenen"))

    Vervang de hardcoded arrayconstante door een bereikverwijzing, en je krijgt een nog elegantere oplossing:

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

    Opmerking: de SUMPRODUCT-functie is langzamer dan COUNTIF, en daarom kan deze formule het best worden gebruikt voor relatief kleine gegevensverzamelingen.

    Cellen tellen met zowel OR- als AND-logica

    Wanneer u werkt met grote gegevensverzamelingen met relaties op meerdere niveaus en tussen elementen, is de kans groot dat u cellen met OR- en AND-condities tegelijk moet tellen.

    Laten we bijvoorbeeld eens tellen hoeveel "appels", "bananen" en "citroenen" zijn "geleverd". Hoe doen we dat? Laten we om te beginnen onze voorwaarden vertalen naar de taal van Excel:

    • Kolom A: "appels" of "bananen" of "citroenen".
    • Kolom C: "geleverd".

    Vanuit een andere hoek bekeken, moeten we rijen tellen met "appels en geleverd" OF "bananen en geleverd" OF "citroenen en geleverd". Op deze manier komt de taak neer op het tellen van cellen met 3 OF-voorwaarden - precies wat we in het vorige deel hebben gedaan! Het enige verschil is dat u COUNTIFS gebruikt in plaats van COUNTIF om het EN-criterium binnen elke OF-voorwaarde te evalueren.

    Formule 1. COUNTIFS + COUNTIFS

    Het is de langste formule, die het gemakkelijkst te schrijven is :)

    =COUNTIFS(A2:A10, "appels", C2:C10, "geleverd") + COUNTIFS(A2:A10, "bananen", C2:C10, "geleverd") + COUNTIFS(A2:A10, "citroenen", C2:C10, "geleverd")

    De schermafbeelding hieronder toont dezelfde formule met celverwijzingen:

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

    Formule 2. COUNTIFS met matrixconstante

    Een compactere COUNTIFS-formule met AND/OR-logica kan worden gemaakt door OR-criteria te verpakken in een matrixconstante:

    =SUM(COUNTIFS(A2:A10, {"appels","bananen","citroenen"}, C2:C10, "geleverd"))

    Wanneer u voor de criteria een bereikverwijzing gebruikt, hebt u een matrixformule nodig, die u aanvult door op Ctrl + Shift + Enter te drukken:

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

    Tip. Indien nodig bent u vrij om gebruik te maken van wildcards in de criteria van alle hierboven besproken formules. Bijvoorbeeld, om alle soorten bananen te tellen, zoals "groene bananen" of "goldfinger bananen" kunt u deze formule gebruiken:

    =SUM(COUNTIFS(A2:A10, {"appels","*bananen*","citroenen"}, C2:C10, "geleverd"))

    Op vergelijkbare wijze kunt u een formule maken om cellen te tellen op basis van andere criteriatypen. Bijvoorbeeld, om een telling te krijgen van "appels" of "bananen" of "citroenen" die "geleverd" zijn en waarvan de hoeveelheid groter is dan 200, voegt u nog een criteriabereik/criteria-paar toe aan COUNTIFS:

    =SUM(COUNTIFS(A2:A10, {"appels","*bananen*","citroenen"}, C2:C10, "geleverd", B2:B10, ">200"))

    Of gebruik deze matrixformule (ingevoerd via Ctrl + Shift + Enter ):

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

    Cellen tellen met meerdere OF-condities

    In het vorige voorbeeld hebt u geleerd hoe u één set OR-voorwaarden kunt testen. Maar wat als u twee of meer sets hebt en u een totaal van alle mogelijke OR-relaties wilt verkrijgen?

    Afhankelijk van het aantal voorwaarden dat u moet verwerken, kunt u ofwel COUNTIFS gebruiken met een matrixconstante, ofwel SUMPRODUCT met ISNUMBER MATCH. De eerste is relatief eenvoudig te bouwen, maar is beperkt tot slechts 2 sets OF-voorwaarden. De tweede kan elk aantal voorwaarden evalueren (een redelijk aantal natuurlijk, gezien Excel's limiet van 255 argumenten en 8192 tekens voor de totale lengte van de formule),maar het kan enige moeite kosten om de logica van de formule te begrijpen.

    Cellen tellen met 2 sets OK-condities

    Wanneer slechts twee sets OF-criteria worden gehanteerd, hoeft slechts een extra matrixconstante te worden toegevoegd aan de hierboven besproken COUNTIFS-formule.

    Om de formule te laten werken, is een minieme maar kritische verandering nodig: gebruik een horizontale reeks (elementen gescheiden door komma's) voor één criteriaverzameling en verticale lijn (elementen gescheiden door puntkomma's) voor de andere. Dit vertelt Excel om de elementen in de twee matrices te "koppelen" of "kruiselings te berekenen" en een tweedimensionale matrix van de resultaten terug te geven.

    Laten we bijvoorbeeld "appels", "bananen" of "citroenen" tellen die ofwel "geleverd" ofwel "onderweg" zijn:

    =SUM(COUNTIFS(A2:A10, {"appels", "bananen", "citroenen"}, B2:B10, {"geleverd"; "onderweg"}))

    Let op de puntkomma in de tweede matrixconstante:

    Omdat Excel een 2-dimentionaal programma is, is het niet mogelijk om een 3-dimentionale of 4-dimentionale matrix te construeren, en daarom werkt deze formule alleen voor twee sets OF-criteria. Om met meer criteria te rekenen, zult u moeten overschakelen op een complexere SUMPRODUCT-formule die in het volgende voorbeeld wordt uitgelegd.

    Cellen tellen met meerdere sets OR-voorwaarden

    Om cellen met meer dan twee sets OF-criteria te tellen, gebruikt u de functie SUMPRODUCT in combinatie met ISNUMBER MATCH.

    Laten we bijvoorbeeld de "appels", "bananen" of "citroenen" tellen die ofwel "geleverd" ofwel "onderweg" zijn en verpakt in een "zak" of "bak":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"appels","bananen","citroenen"},0))*.

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

    ISNUMBER(MATCH(C2:C10,{"geleverd","in transit"},0)))

    In het hart van de formule controleert de functie MATCH de criteria door elke cel in het opgegeven bereik te vergelijken met de overeenkomstige matrixconstante. Als de overeenkomst wordt gevonden, wordt een relatieve positie van de waarde in de matrix geretourneerd, anders N/A. ISNUMBER zet deze waarden om in TRUE en FALSE, wat overeenkomt met respectievelijk 1 en 0. SUMPRODUCT neemt het vanaf daar over, en vermenigvuldigt de matrixconstanten metelementen. Omdat vermenigvuldigen met nul nul oplevert, overleven alleen de cellen met een 1 in alle matrices en worden ze opgeteld.

    De onderstaande schermafbeelding toont het resultaat:

    Zo gebruikt u de functies COUNTIF en COUNTIFS in Excel om cellen te tellen met zowel meerdere EN- als OF-voorwaarden. Om de formules die in deze tutorial worden besproken nader te bekijken, kunt u hieronder onze voorbeeldwerkmap downloaden. Ik dank u voor het lezen en hoop u volgende week op onze blog te zien!

    Praktijk werkboek

    Excel COUNTIF met OF-voorwaarden - voorbeelden (.xlsx-bestand)

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.