Excel-formel: Räkna celler som innehåller specifik text -

Innehållsförteckning

Generisk formel

=COUNTIF(range,"*txt*")

Sammanfattning

För att räkna celler som innehåller viss text kan du använda COUNTIF-funktionen med ett jokertecken. I exemplet som visas är formeln i E5:

=COUNTIF(B5:B15,"*a*")

Förklaring

COUNTIF-funktionen räknar celler i ett intervall som uppfyller kriterierna. För att till exempel räkna antalet celler i ett intervall som innehåller "a" kan du använda:

=COUNTIF(range,"a") // exact match

Observera dock att detta är en exakt matchning. För att räknas måste en cell innehålla exakt "a". Om cellen innehåller andra tecken räknas den inte.

För det visade problemet vill vi räkna celler som innehåller specifik text, vilket innebär att texten kan vara var som helst i cellen. För att göra detta måste vi använda asterisk (*) som ett jokertecken. Till exempel för att räkna celler som innehåller bokstaven "a" var som helst vi använder:

=COUNTIF(range,"*a*")

Asterisken i en formel betyder "matcha valfritt antal tecken, inklusive noll", så detta mönster räknar alla celler som innehåller "a" i valfri position, med eller utan andra tecken till vänster eller höger. Formlerna som används i exemplet följer alla samma mönster:

=COUNTIF(B5:B15,"*a*") // contains "a" =COUNTIF(B5:B15,"*2*") // contains "2" =COUNTIF(B5:B15,"*-S*") // contains "-s" =COUNTIF(B5:B15,"*x*") // contains "x"

Obs! COUNTIF är inte skiftlägeskänslig.

Med en cellreferens

Du kan enkelt justera den här formeln för att använda innehållet i en annan cell för kriterierna. Om A1 till exempel innehåller texten du vill matcha kan du använda:

=COUNTIF(range,"*"&A1&"*")

Räkna specifika nummer

COUNTIF-formeln ovan fungerar inte om du letar efter ett visst nummer och celler innehåller numeriska data. Detta beror på att jokertecken automatiskt gör att COUNTIF bara letar efter text (dvs. söker efter "2" istället för bara 2). Eftersom ett textvärde aldrig kommer att hittas i ett sant nummer kommer COUNTIF att returnera noll.

För att räkna ett specifikt nummer i numeriskt innehåll kan du använda en annan formel baserad på SÖK-funktionen och ISNUMBER-funktionen så här:

=SUMPRODUCT(--(ISNUMBER(SEARCH(text,range))))

I denna formel är text den text du letar efter, och intervall är det cellområde du vill räkna. När SEARCH hittar en matchning kommer den att returnera ett tal och ISNUMBER-funktionen konverterar numret till ett SANT eller FALSKT värde. Eftersom vi kontrollerar mer än en cell blir resultatet en matris eller SANT och FALSKA värden. Dubbelnegativet används för att konvertera SANT och FALSKT till 1s och 0s, och SUMPRODUCT-funktionen returnerar summan av arrayen som ett slutresultat.

SÖK behandlar automatiskt alla siffror som text, så den kommer till exempel att hitta 1 i siffran 201. Det finns inte heller något behov av att använda jokertecken för att ange position, eftersom SÖK automatiskt tittar igenom all text i en cell.

Skiftlägeskänslig version

För ett skiftlägeskänsligt antal kan du använda en formel baserad på HITTA-funktionen:

=SUMPRODUCT(--(ISNUMBER(FIND(text,range))))

Här används HITTA-funktionen istället för SÖK, eftersom HITTA är skiftlägeskänslig. I andra avseenden fungerar formeln som ISNUMBER + HITTA-formeln som beskrivs ovan.

Intressanta artiklar...