Excel COUNTIF og COUNTIFS med OR-logik

  • Del Dette
Michael Brown

Vejledningen forklarer, hvordan du bruger Excels COUNTIF- og COUNTIFS-funktioner til at tælle celler med flere OR-betingelser, f.eks. hvis en celle indeholder X, Y eller Z.

Som alle ved, er Excel-funktionen COUNTIF designet til at tælle celler baseret på ét kriterium, mens COUNTIFS evaluerer flere kriterier med AND-logik. Men hvad nu hvis din opgave kræver OR-logik - når der er angivet flere betingelser, kan enhver af dem matche for at blive inkluderet i tællingen?

Der er et par mulige løsninger på denne opgave, og denne vejledning vil dække dem alle i detaljer. Eksemplerne forudsætter, at du har et godt kendskab til syntaksen og den generelle brug af begge funktioner. Hvis ikke, kan du begynde med at gennemgå de grundlæggende ting:

Excel COUNTIF-funktion - tæller celler med ét kriterium.

Excel COUNTIFS-funktion - tæller celler med flere AND-kriterier.

Nu, hvor alle er enige, kan vi gå i gang:

    Tælle celler med OR-betingelser i Excel

    Dette afsnit dækker det enkleste scenario - optælling af celler, der opfylder en (mindst én) af de angivne betingelser.

    Formel 1. COUNTIF + COUNTIF

    Den nemmeste måde at tælle celler, der har den ene eller den anden værdi (Countif a eller b ) er at skrive en almindelig COUNTIF-formel for at tælle hvert enkelt element individuelt og derefter lægge resultaterne sammen:

    COUNTIF( rækkevidde , kriterium1 ) + COUNTIF( rækkevidde , kriterium2 )

    Lad os f.eks. finde ud af, hvor mange celler i kolonne A der indeholder enten "æbler" eller "bananer":

    = COUNTIF(A:A, "æbler") + COUNTIF(A:A, "bananer")

    I virkelige regneark er det en god praksis at operere med intervaller i stedet for hele kolonner for at få formlen til at fungere hurtigere. Hvis du vil slippe for at opdatere din formel, hver gang betingelserne ændres, kan du skrive de relevante elementer i foruddefinerede celler, f.eks. F1 og G1, og henvise til disse celler. F.eks:

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

    Denne teknik fungerer fint for et par kriterier, men hvis du tilføjer tre eller flere COUNTIF-funktioner sammen, bliver formlen for besværlig. I dette tilfælde er det bedre at holde dig til et af følgende alternativer.

    Formel 2. COUNTIF med arraykonstant

    Her er en mere kompakt version af formlen SUMIF med OR-betingelser i Excel:

    SUM(COUNTIF( rækkevidde , { kriterium1 , kriterium2 , kriterium3 , ...}))

    Formlen er opbygget på denne måde:

    Først pakker du alle betingelserne i en array-konstant - de enkelte elementer adskilt af kommaer og arrayet omsluttet af parenteser som {"æbler", "bananer", "citroner"}.

    Derefter medtager du arraykonstanten i kriterier argument for en normal COUNTIF-formel: COUNTIF(A2:A10, {"æbler", "bananer", "citroner"})

    Endelig skal du forvrænge COUNTIF-formlen i SUM-funktionen. Det er nødvendigt, fordi COUNTIF returnerer 3 individuelle tællinger for "æbler", "bananer" og "citroner", og du skal lægge disse tællinger sammen.

    Vores fuldstændige formel er som følger:

    =SUM(COUNTIF(A2:A10,{"æbler", "bananer", "citroner"}))

    Hvis du hellere vil angive dine kriterier som referencer for området skal du indtaste formlen med Ctrl + Shift + Enter for at gøre den til en array-formel, f.eks:

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

    Bemærk de parenteser i skærmbilledet nedenfor - det er det tydeligste tegn på en array-formel i Excel:

    Formel 3. SUMPRODUKT

    En anden måde at tælle celler med OR-logik i Excel på er at bruge funktionen SUMPRODUCT på denne måde:

    SUMPRODUCT(1*( rækkevidde ={ kriterium1 , kriterium2 , kriterium3 , ...}))

    For bedre at visualisere logikken kan dette også skrives som:

    SUMPRODUKT(( rækkevidde = kriterium1 ) + ( rækkevidde = kriterium2 ) + ...)

    Formlen tester hver celle i intervallet i forhold til hvert kriterium og returnerer TRUE, hvis kriteriet er opfyldt, og FALSE i modsat fald. Som et mellemresultat får du et par arrays med TRUE- og FALSE-værdier (antallet af arrays er lig med antallet af dine kriterier). Derefter lægges array-elementerne i samme position sammen, dvs. de første elementer i alle arrays, de andet elementer og så videre.konverterer de logiske værdier til tal, så du ender med et array med 1'er (et af kriterierne passer) og 0'er (ingen af kriterierne passer). Da alle kriterierne testes i forhold til de samme celler, kan der ikke forekomme andre tal i det resulterende array - kun ét indledende array kan have TRUE i en bestemt position, andre vil have FALSE. Endelig kan SUMPRODUCTlægger elementerne i det resulterende array sammen, og du får det ønskede antal.

    Den første formel fungerer på samme måde med den forskel, at den returnerer et 2-dimensionelt array af værdierne TRUE og FALSE, som du ganger med 1 for at konvertere de logiske værdier til henholdsvis 1 og 0.

    Anvendt på vores datasæt i eksemplet har formlerne følgende formularer:

    =SUMPRODUCT(1*(A2:A10={"æbler", "bananer", "citroner"}))

    Eller

    =SUMPRODUCT((A2:A10="æbler") + (A2:A10="bananer") + (A2:A10="citroner"))

    Udskift den hardcodede array-konstant med en range-reference, og du får en endnu mere elegant løsning:

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

    Bemærk: SUMPRODUCT-funktionen er langsommere end COUNTIF, og derfor er det bedst at bruge denne formel på relativt små datasæt.

    Tæl celler med OR- og AND-logik

    Når du arbejder med store datasæt, der har relationer på flere niveauer og på tværs af niveauer mellem elementer, er der stor sandsynlighed for, at du skal tælle celler med OR- og AND-betingelser ad gangen.

    Lad os f.eks. få en optælling af "æbler", "bananer" og "citroner", der er "leveret". Hvordan gør vi det? Lad os først oversætte vores betingelser til Excel-sprog:

    • Kolonne A: "æbler" eller "bananer" eller "citroner"
    • Kolonne C: "leveret"

    Set fra en anden vinkel skal vi tælle rækker med "æbler og leveret" ELLER "bananer og leveret" ELLER "citroner og leveret". På denne måde kan opgaven koges ned til at tælle celler med 3 OR-betingelser - præcis som vi gjorde i det foregående afsnit! Den eneste forskel er, at du skal bruge COUNTIFS i stedet for COUNTIF til at evaluere AND-kriteriet inden for hver OR-betingelse.

    Formel 1. COUNTIFS + COUNTIFS

    Det er den længste formel, som er den letteste at skrive :)

    = COUNTIFS(A2:A10, "æbler", C2:C10, "leveret") + COUNTIFS(A2:A10, "bananer", C2:C10, "leveret")) + COUNTIFS(A2:A10, "citroner", C2:C10, "leveret")))

    Skærmbilledet nedenfor viser den samme formel med cellehenvisninger:

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

    Formel 2. COUNTIFS med arraykonstant

    En mere kompakt COUNTIFS-formel med AND/OR-logik kan oprettes ved at pakke OR-kriterierne i en array-konstant:

    =SUM(COUNTIFS(A2:A10, {"æbler", "bananer", "citroner"}, C2:C10, "leveret"))

    Når du bruger en intervalreference til kriterierne, skal du bruge en arrayformel, som du udfylder ved at trykke på Ctrl + Shift + Enter :

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

    Tip. Hvis det er nødvendigt, kan du frit bruge jokertegn i kriterierne for de formler, der er beskrevet ovenfor. For eksempel kan du bruge denne formel for at tælle alle slags bananer, f.eks. "grønne bananer" eller "guldfingerbananer":

    =SUM(COUNTIFS(A2:A10, {"æbler", "*bananer*", "citroner"}, C2:C10, "leveret"))

    På samme måde kan du opbygge en formel til at tælle celler baseret på andre kriterietyper. Hvis du f.eks. vil have en optælling af "æbler" eller "bananer" eller "citroner", der er "leveret", og hvis beløbet er større end 200, skal du tilføje endnu et kriterieområde/kriteriepar til COUNTIFS:

    =SUM(COUNTIFS(A2:A10, {"æbler", "*bananer*", "citroner"}, C2:C10, "leveret", B2:B10, ">200")))

    Du kan også bruge denne matrixformel (indtastet via Ctrl + Shift + Enter ):

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

    Tælle celler med flere OR-betingelser

    I det foregående eksempel har du lært at teste ét sæt OR-betingelser. Men hvad nu hvis du har to eller flere sæt, og du ønsker at få et samlet antal af alle mulige OR-relationer?

    Afhængigt af hvor mange betingelser du skal håndtere, kan du bruge enten COUNTIFS med en array-konstant eller SUMPRODUCT med ISNUMBER MATCH. Førstnævnte er relativt let at lave, men den er begrænset til kun 2 sæt OR-betingelser. Sidstnævnte kan evaluere et vilkårligt antal betingelser (et rimeligt antal, naturligvis i betragtning af Excels begrænsning til 255 argumenter og 8192 tegn i den samlede formellængde),men det kan kræve en vis indsats at forstå formlens logik.

    Tæl celler med 2 sæt af OR-betingelser

    Når der kun er tale om to sæt OR-kriterier, skal du blot tilføje endnu en array-konstant til den ovenfor beskrevne COUNTIFS-formel.

    For at formlen kan fungere, er der behov for en lille, men afgørende ændring: brug en vandret række (elementer adskilt af kommaer) for et kriteriesæt og lodret række (elementer adskilt af semikolon) for den anden. Dette fortæller Excel at "parre" eller "krydskalkulere" elementerne i de to arrays og returnere et todimensionelt array med resultaterne.

    Lad os f.eks. tælle "æbler", "bananer" eller "citroner", der enten er "leveret" eller "under transport":

    =SUM(COUNTIFS(A2:A10, {"æbler", "bananer", "citroner"}, B2:B10, {"leveret"; "under transport"}))

    Bemærk semikolonet i den anden arraykonstant:

    Da Excel er et 2-dimentionelt program, er det ikke muligt at konstruere et 3-dimentionelt eller 4-dimentionelt array, og derfor fungerer denne formel kun for to sæt OR-kriterier. Hvis du vil tælle med flere kriterier, skal du skifte til en mere kompleks SUMPRODUCT-formel, som forklares i det næste eksempel.

    Tæl celler med flere sæt OR-betingelser

    Hvis du vil tælle celler med mere end to sæt OR-kriterier, skal du bruge funktionen SUMPRODUCT sammen med ISNUMBER MATCH for at tælle celler med mere end to sæt OR-kriterier.

    Lad os f.eks. få en optælling af "æbler", "bananer" eller "citroner", der enten er "leveret" eller "under transport" og er pakket i enten "pose" eller "bakke":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"æbler", "bananer", "citroner"},0))*

    ISNUMBER(MATCH(B2:B10,{"taske", "bakke"},0))*

    ISNUMBER(MATCH(C2:C10,{"leveret", "under transport"},0))))

    I formlens hjerte kontrollerer MATCH-funktionen kriterierne ved at sammenligne hver celle i det angivne område med den tilsvarende arraykonstant. Hvis der findes et match, returnerer den en relativ position for værdien, hvis arrayet er fundet, ellers N/A. ISNUMBER konverterer disse værdier til TRUE og FALSE, som svarer til henholdsvis 1 og 0. SUMPRODUCT tager den derfra og multiplicerer arrayetsDa multiplikation med nul giver nul, er det kun de celler, der har 1 i alle arrays, der overlever og bliver summeret.

    Nedenstående skærmbillede viser resultatet:

    Sådan bruger du funktionerne COUNTIF og COUNTIFS i Excel til at tælle celler med flere AND- og OR-betingelser. Hvis du vil se nærmere på de formler, der er gennemgået i denne vejledning, er du velkommen til at downloade vores prøvearbejdsmappe nedenfor. Tak for læsningen og håber at se dig på vores blog i næste uge!

    Arbejdsbog til øvelser

    Excel COUNTIF med OR betingelser - eksempler (.xlsx fil)

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.