Excel COUNTIF og COUNTIFS med OR-logikk

  • Dele Denne
Michael Brown

Opplæringen forklarer hvordan du bruker Excels COUNTIF- og COUNTIFS-funksjoner til å telle celler med flere ELLER-betingelser, f.eks. hvis en celle inneholder X, Y eller Z.

Som alle vet, er Excel COUNTIF-funksjonen designet for å telle celler basert på bare ett kriterium mens COUNTIFS evaluerer flere kriterier med OG-logikk. Men hva om oppgaven din krever ELLER-logikk - når flere betingelser er gitt, kan alle matche for å bli inkludert i tellingen?

Det er noen mulige løsninger på denne oppgaven, og denne opplæringen vil dekke dem alle i full detalj. Eksemplene innebærer at du har god kunnskap om syntaks og generell bruk av begge funksjonene. Hvis ikke, kan det være lurt å begynne med å revidere det grunnleggende:

Excel COUNTIFS-funksjonen - teller celler med ett kriterium.

Excel COUNTIFS-funksjonen - teller celler med flere OG-kriterier.

Nå som alle er på samme side, la oss dykke ned i:

    Telle celler med ELLER-betingelser i Excel

    Denne delen dekker det enkleste scenariet - å telle celler som oppfylle noen (minst én) av de angitte betingelsene.

    Formel 1. COUNTIF + COUNTIF

    Den enkleste måten å telle celler som har en eller annen verdi (Countif a eller b ) er å skrive en vanlig COUNTIF-formel for å telle hvert element individuelt, og deretter legge til resultatene:

    COUNTIF( område, kriterium1) + COUNTIF( område, kriterium2)

    Som enfor eksempel, la oss finne ut hvor mange celler i kolonne A som inneholder enten "epler" eller "bananer":

    =COUNTIF(A:A, "apples") + COUNTIF(A:A, "bananas")

    I virkelige regneark er det en god praksis å operere på områder i stedet for enn hele kolonner for at formelen skal fungere raskere. For å spare bryet med å oppdatere formelen hver gang betingelsene endres, skriv inn elementene av interesse i forhåndsdefinerte celler, si F1 og G1, og referer til disse cellene. For eksempel:

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

    Denne teknikken fungerer fint for et par kriterier, men å legge til tre eller flere COUNTIF-funksjoner sammen vil gjøre formelen for tungvint. I dette tilfellet bør du holde deg til ett av følgende alternativer.

    Formel 2. COUNTIF med matrisekonstant

    Her er en mer kompakt versjon av SUMIF med OR-betingelser-formelen i Excel:

    SUM(ANTALLHVIS( område, { kriterium1, kriterium2, kriterium3, …}))

    Formelen er konstruert på denne måten:

    Først pakker du alle betingelsene i en matrisekonstant - individuelle elementer atskilt med kommaer og matrisen omsluttet av krøllete klammeparenteser som {"epler", "bananer", "sitroner"}.

    Deretter inkluderer du matrisekonstanten i kriteriet -argumentet til en normal COUNTIF-formel: COUNTIF(A2:A10, {"epler","bananer","sitroner"})

    Til slutt, vri COUNTIF-formelen i SUM-funksjonen. Det er nødvendig fordi COUNTIF vil returnere 3 individuelle tellinger for "epler", "bananer" og"sitroner", og du må legge disse tellingene sammen.

    Vår komplette formel er som følger:

    =SUM(COUNTIF(A2:A10,{"apples","bananas","lemons"}))

    Hvis du Hvis du heller oppgir kriteriene dine som områdereferanser , må du skrive inn formelen med Ctrl + Shift + Enter for å gjøre den til en matriseformel. For eksempel:

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

    Vennligst legg merke til de krøllete klammeparentesene i skjermbildet nedenfor - det er den mest tydelige indikasjonen på en matriseformel i Excel:

    Formel 3. SUMPRODUKT

    En annen måte å telle celler med OR-logikk i Excel er å bruke SUMPRODUKT-funksjonen på denne måten:

    SUMPRODUKT(1*( område= { kriterium1, kriterium2, kriterium3, …}))

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

    SUMPRODUKT( ( område= kriterium1) + ( område= kriterium2) + …)

    Formelen tester hver celle i området mot hvert kriterium og returnerer TRUE hvis kriteriet er oppfylt, FALSE ellers. Som et mellomresultat får du noen få matriser med TRUE og FALSE-verdier (antall matriser tilsvarer antallet av kriteriene dine). Deretter legges matriseelementene i samme posisjon sammen, dvs. de første elementene i alle matrisene, de andre elementene, og så videre. Addisjonsoperasjonen konverterer de logiske verdiene til tall, slik at du ender opp med en matrise med 1-er (en av kriteriene samsvarer) og 0-er (ingen av kriteriene samsvarer). Fordi alle kriteriene ertestet mot de samme cellene, er det ingen måte noe annet tall kan vises i den resulterende matrisen - bare én innledende matrise kan ha TRUE i en bestemt posisjon, andre vil ha FALSE. Til slutt legger SUMPRODUCT sammen elementene i den resulterende matrisen, og du får ønsket antall.

    Den første formelen fungerer på lignende måte, med den forskjellen at den returnerer én 2-dimensjonal matrise med TRUE og FALSE-verdier , som du multipliserer med 1 for å konvertere de logiske verdiene til henholdsvis 1 og 0.

    Anvendt på eksempeldatasettet vårt, har formlene følgende form:

    =SUMPRODUCT(1*(A2:A10={"apples","bananas","lemons"}))

    Eller

    =SUMPRODUCT((A2:A10="apples") + (A2:A10="bananas") + (A2:A10="lemons"))

    Erstatt den hardkodede matrisekonstanten med en rekkeviddereferanse, så får du en enda mer elegant løsning:

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

    Merk. SUMPRODUCT-funksjonen er tregere enn COUNTIF, og derfor er denne formelen best å bruke på relativt små datasett.

    Tell celler med OR samt OG-logikk

    Når du arbeider med store data sett som har relasjoner på flere nivåer og på tvers av nivåer mellom elementer, er sjansen stor for at du må telle celler med OR- og AND-betingelser om gangen.

    Som et eksempel, la oss få en telling av "epler" , "bananer" og "sitroner" som "leveres". Hvordan gjør vi det? For det første, la oss oversette betingelsene våre til Excels språk:

    • Kolonne A: "epler" eller "bananer" eller "sitroner"
    • Kolonne C: "levert"

    Ser fraen annen vinkel, vi må telle rader med "epler og levert" ELLER "bananer og levert" ELLER "sitroner og levert". Sagt på denne måten koker oppgaven ned til å telle celler med 3 OR-betingelser - akkurat det vi gjorde i forrige avsnitt! Den eneste forskjellen er at du vil bruke COUNTIFS i stedet for COUNTIFS for å evaluere OG-kriteriet innenfor hver OR-betingelse.

    Formel 1. COUNTIFS + COUNTIFS

    Det er den lengste formelen, som er lettest å skrive :)

    =COUNTIFS(A2:A10, "apples", C2:C10, "delivered") + COUNTIFS(A2:A10, "bananas", C2:C10, "delivered")) + COUNTIFS(A2:A10, "lemons", C2:C10, "delivered"))

    Skjermbildet nedenfor viser samme formel med cellereferanser:

    =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 matrisekonstant

    En mer kompakt COUNTIFS-formel med AND/OR-logikk kan opprettes ved å pakke OR-kriterier i en matrisekonstant:

    =SUM(COUNTIFS(A2:A10, {"apples","bananas","lemons"}, C2:C10, "delivered"))

    Når ved å bruke en områdereferanse for kriteriene, trenger du en matriseformel, fullført ved å trykke Ctrl + Shift + Enter :

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

    Tips. Om nødvendig står du fritt til å bruke jokertegn i kriteriene for alle formler diskutert ovenfor. For for eksempel å telle alle slags bananer som "grønne bananer" eller "gullfingerbananer" kan du bruke denne formelen:

    =SUM(COUNTIFS(A2:A10, {"apples","*bananas*","lemons"}, C2:C10, "delivered"))

    På lignende måte kan du bygge en formel for å telle celler basert på andre kriterietyper. For for eksempel å få en telling av "epler" eller "bananer" eller "sitroner" som er "levert" og mengden er større enn 200, legg til ett kriterieområde/kriteriepar tilCOUNTIFS:

    =SUM(COUNTIFS(A2:A10, {"apples","*bananas*","lemons"}, C2:C10, "delivered", B2:B10, ">200"))

    Eller bruk denne matriseformelen (skrives inn via Ctrl + Shift + Enter):

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

    Tell celler med flere ELLER-betingelser

    I forrige eksempel har du lært hvordan du tester ett sett med ELLER-betingelser. Men hva om du har to eller flere sett og du ønsker å få en total av alle mulige OR-relasjoner?

    Avhengig av hvor mange forhold du må håndtere, kan du bruke enten COUNTIFS med en matrisekonstant eller SUMPRODUCT med ISNUMBER MATCH. Førstnevnte er relativt enkel å bygge, men den er begrenset til kun 2 sett med OR-betingelser. Sistnevnte kan evaluere et hvilket som helst antall forhold (et rimelig antall, selvfølgelig gitt Excels grense til 255 argumenter og 8192 tegn til den totale formellengden), men det kan kreve litt innsats å forstå formelens logikk.

    Tell celler med 2 sett med ELLER-betingelser

    Når du arbeider med bare to sett med ELLER-kriterier, legger du bare til en matrisekonstant til COUNTIFS-formelen diskutert ovenfor.

    For at formelen skal fungere, må en minutt, men kritisk endring er nødvendig: bruk en horisontal matrise (elementer atskilt med komma) for ett kriteriesett og vertikal matrise (elementer atskilt med semikolon) for det andre. Dette forteller Excel å "parre" eller "kryssberegne" elementene i de to matrisene, og returnere en todimensjonal matrise med resultatene.

    Som et eksempel, la oss telle "epler", "bananer" eller"sitroner" som enten er "levert" eller "under transport":

    =SUM(COUNTIFS(A2:A10, {"apples", "bananas", "lemons"}, B2:B10, {"delivered"; "in transit"}))

    Vær oppmerksom på semikolonet i den andre matrisekonstanten:

    Fordi Excel er et 2-dimensjonalt program, er det ikke mulig å konstruere en 3-dimensjonal eller 4-dimensjonal matrise, og derfor fungerer denne formelen bare for to sett med ELLER-kriterier. For å telle med flere kriterier, må du bytte til en mer kompleks SUMPRODUCT-formel som er forklart i neste eksempel.

    Telle celler med flere sett med ELLER-betingelser

    For å telle celler med mer enn to sett med ELLER-kriterier, bruk SUMPRODUKT-funksjonen sammen med ISNUMBER MATCH.

    La oss for eksempel få en telling av "epler", "bananer" eller "sitroner" som enten er "levert" eller "under transport" og er pakket i enten "pose" eller "tray":

    =SUMPRODUCT(ISNUMBER(MATCH(A2:A10,{"apples","bananas","lemons"},0))*

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

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

    I hjertet av formelen sjekker MATCH-funksjonen kriteriene ved å sammenligne hver celle i det angitte området med den tilsvarende matrisekonstanten. Hvis samsvaret blir funnet, returnerer det en relativ posisjon av verdien hvis matrisen, ellers ikke aktuelt. ISNUMBER konverterer disse verdiene til TRUE og FALSE, som tilsvarer henholdsvis 1 og 0. SUMPRODUCT tar det derfra, og multipliserer matrisens elementer. Fordi å multiplisere med null gir null, overlever bare cellene som har 1 i alle matrisene ogfå summert.

    Skjermbildet nedenfor viser resultatet:

    Slik bruker du funksjonene COUNTIF og COUNTIFS i Excel til å telle celler med flere OG som samt OR-forhold. For å se nærmere på formlene som er diskutert i denne opplæringen, er du velkommen til å laste ned vår eksempelarbeidsbok nedenfor. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!

    Øvningsarbeidsbok

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

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.