Excel: telle celler som inneholder spesifikk tekst (eksakt og delvis samsvar)

  • Dele Denne
Michael Brown

Opplæringen viser hvordan du teller antall celler med bestemt tekst i Excel. Du finner formeleksempler for eksakt samsvar, delvis samsvar og filtrerte celler.

Sist uke så vi på hvordan man kan telle celler med tekst i Excel, altså alle celler med hvilken som helst tekst. Når du analyserer store deler av informasjon, vil du kanskje også vite hvor mange celler som inneholder spesifikk tekst. Denne opplæringen forklarer hvordan du gjør det på en enkel måte.

    Hvordan telle celler med spesifikk tekst i Excel

    Microsoft Excel har en spesiell funksjon for betinget telling av celler, funksjonen COUNTIF. Alt du trenger å gjøre er å oppgi måltekststrengen i argumentet kriterier .

    Her er en generisk Excel-formel for å telle antall celler som inneholder spesifikk tekst:

    ANTALLHVIS(område, " tekst")

    Følgende eksempel viser den i bruk. Anta at du har en liste over element-ID-er i A2:A10 og du vil telle antall celler med en bestemt id, si "AA-01". Skriv inn denne strengen i det andre argumentet, og du vil få denne enkle formelen:

    =COUNTIF(A2:A10, "AA-01")

    For å gjøre det mulig for brukerne å telle celler med en gitt tekst uten å måtte endre formelen, skriv inn tekst i en forhåndsdefinert celle, si D1, og oppgi cellereferansen:

    =COUNTIF(A2:A10, D1)

    Merk. Excel COUNTIF-funksjonen er uavhengig av store og små bokstaver , noe som betyr at den ikke skiller mellom store og små bokstaver. For å behandle store og små bokstavertegn annerledes, bruk denne formelen som skiller mellom store og små bokstaver.

    Hvordan telle celler med bestemt tekst (delvis samsvar)

    Formelen diskutert i forrige eksempel samsvarer nøyaktig med kriteriene. Hvis det er minst ett annet tegn i en celle, for eksempel et ekstra mellomrom til slutt, vil det ikke samsvare nøyaktig, og en slik celle telles ikke.

    For å finne antall celler som inneholder bestemt tekst som en del av innholdet, bruker jokertegn i kriteriene dine, nemlig en stjerne (*) som representerer enhver sekvens eller tegn. Avhengig av målet ditt, kan en formel se ut som en av følgende.

    Tell celler som inneholder spesifikk tekst på helt i starten :

    COUNTIF(område, " tekst *")

    Tell celler som inneholder bestemt tekst i en hvilken som helst posisjon :

    ANTALLHVIS(område, "* tekst *")

    For eksempel, for å finne hvor mange celler i området A2:A10 som begynner med "AA", bruk denne formelen:

    =COUNTIF(A2:A10, "AA*")

    For å få antall celler som inneholder "AA" i en hvilken som helst posisjon, bruk denne one:

    =COUNTIF(A2:A10, "*AA*")

    For å gjøre formlene mer dynamiske, erstatt de hardkodede strengene med cellereferanser.

    For å telle celler som begynner med bestemt tekst:

    =COUNTIF(A2:A10, D1&"*")

    For å telle celler med bestemt tekst hvor som helst i dem:

    =COUNTIF(A2:A10, "*"&D1&"*")

    Skjermbildet nedenfor viser resultatene:

    Tell celler som inneholder spesifikk tekst (skiller mellom store og små bokstaver)

    I situasjoner når du trenger å skillestore og små bokstaver, vil COUNTIF-funksjonen ikke fungere. Avhengig av om du leter etter et eksakt eller delvis samsvar, må du bygge en annen formel.

    Stillingsensitiv formel for å telle celler med spesifikk tekst (eksakt samsvar)

    For å telle antall celler med bestemt tekst som gjenkjenner store og små bokstaver, vil vi bruke en kombinasjon av SUMPRODUKT- og EKSAKT-funksjonene:

    SUMPRODUKT(--EXAKT(" tekst ", område ))

    Hvordan denne formelen fungerer:

    • EXACT sammenligner hver celle i området mot eksempelteksten og returnerer en matrise med TRUE og FALSE-verdier, TRUE representerer eksakte treff og FALSE alle andre celler. En dobbel bindestrek (kalt dobbel unær ) tvinger SANN og USANN til 1-er og 0-er.
    • SUMPRODUKT summerer alle elementene i matrisen. Denne summen er antallet 1-ere, som er antall treff.

    For eksempel for å få antall celler i A2:A10 som inneholder teksten i D1 og håndtere store og små bokstaver som forskjellige tegn, bruk denne formelen:

    =SUMPRODUCT(--EXACT(D1, A2:A10))

    Stillingssensitiv formel for å telle celler med spesifikk tekst (delvis samsvar)

    For å bygge en formel som skiller mellom store og små bokstaver som kan finne en tekststreng av interesse hvor som helst i en celle, vi bruker 3 forskjellige funksjoner:

    SUMPRODUKT(--(ISNUMBER(FINN(" tekst ", område ))))

    Slik fungerer denne formelen:

    • Den store og små bokstavsensitive FIND-funksjonen søkerfor målteksten i hver celle i området. Hvis det lykkes, returnerer funksjonen posisjonen til det første tegnet, ellers #VERDI! feil. For ordens skyld trenger vi ikke å vite den nøyaktige posisjonen, et hvilket som helst tall (i motsetning til feil) betyr at cellen inneholder målteksten.
    • ISNUMBER-funksjonen håndterer matrisen av tall og feil som returneres ved FINN og konverterer tallene til TRUE og alt annet til FALSE. En dobbel unær (--) tvinger de logiske verdiene til enere og nuller.
    • SUMPRODUKT summerer matrisen av 1-er og 0-er og returnerer antallet celler som inneholder den angitte teksten som en del av innholdet.

    For å teste formelen på virkelige data, la oss finne hvor mange celler i A2:A10 som inneholder delstrenginndataene i D1:

    =SUMPRODUCT(--(ISNUMBER(FIND(D1, A2:A10))))

    Og dette returnerer et antall av 3 (celle A2, A3 og A6):

    Hvordan telle filtrerte celler med spesifikk tekst

    Telle synlige elementer i en filtrert liste må du bruke en kombinasjon av 4 eller flere funksjoner avhengig av om du vil ha nøyaktig eller delvis samsvar. For å gjøre eksemplene lettere å følge, la oss ta en rask titt på kildedataene først.

    Forutsatt at du har en tabell med bestillings-IDer i kolonne B og Antall i kolonne C som vist på bildet nedenfor. For øyeblikket er du bare interessert i mengder større enn 1, og du filtrerte tabellen deretter. Despørsmålet er – hvordan teller du filtrerte celler med en bestemt id?

    Formel for å telle filtrerte celler med spesifikk tekst (eksakt samsvar)

    For å telle filtrerte celler hvis innhold samsvarer nøyaktig med eksempeltekststrengen, bruk en av følgende formler:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(B2:B10=F1))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(B2:B10=F1))

    Hvor F1 er eksempelteksten og B2:B10 er cellene å telle.

    Hvordan disse formlene fungerer:

    I kjernen av begge formlene utfører du 2 kontroller:

    1. Identifiser synlige og skjulte rader. For dette bruker du SUBTOTAL-funksjonen med function_num -argumentet satt til 103. For å oppgi alle individuelle cellereferanser til SUBTOTAL, bruk enten INDIREKTE (i den første formelen) eller en kombinasjon av OFFSET, ROW og MIN (i den andre formelen). Siden vi tar sikte på å finne synlige og skjulte rader, spiller det ingen rolle hvilken kolonne det skal refereres til (A i vårt eksempel). Resultatet av denne operasjonen er en matrise med 1-er og 0-er der ener representerer synlige rader og nuller - skjulte rader.
    2. Finn celler som inneholder gitt tekst. For dette, sammenligne eksempelteksten (F1) med celleområdet (B2:B10). Resultatet av denne operasjonen er en rekke TRUE og FALSE-verdier, som tvinges til 1-er og 0-er ved hjelp av den doble unære operatoren.

    Til slutt multipliserer SUMPRODUCT-funksjonen elementene i de to matriser i samme posisjoner, og summerer deretter den resulterende matrisen.Fordi å multiplisere med null gir null, er det bare cellene som har 1 i begge matrisene som har 1 i den endelige matrisen. Summen av 1-er er antallet filtrerte celler som inneholder den angitte teksten.

    Formel for å telle filtrerte celler med spesifikk tekst (delvis samsvar)

    For å telle filtrerte celler som inneholder bestemt tekst som en del av celleinnholdet, endre formlene ovenfor på følgende måte. I stedet for å sammenligne eksempelteksten med celleområdet, søk etter målteksten ved å bruke ISNUMBER og FINN som forklart i et av de foregående eksemplene:

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISNUMBER(FIND(F1, B2:B10))))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISNUMBER(FIND(F1, B2:B10))))

    Som et resultat vil formlene finne en gitt tekststreng i en hvilken som helst posisjon i en celle:

    Merk. SUBTOTAL-funksjonen med 103 i argumentet function_num identifiserer alle skjulte celler, filtrert ut og skjult manuelt. Som et resultat teller formlene ovenfor bare synlige celler uavhengig av hvor usynlige celler ble skjult. For å ekskludere bare utfiltrerte celler, men inkludere de som er skjult manuelt, bruk 3 for funksjonsnummer .

    Slik teller du antall celler med bestemt tekst i Excel. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!

    Tilgjengelige nedlastinger

    Excel-formler for å telle celler med bestemt tekst

    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.