Excel-formel: Räkna specifika ord i en cell -

Innehållsförteckning

Generisk formel

=(LEN(text)-LEN(SUBSTITUTE(text,word,"")))/LEN(word)

Sammanfattning

Om du behöver räkna hur många gånger ett specifikt ord (eller något underlag) visas i en cell kan du använda en formel som använder SUBSTITUTE och LEN. I den generiska formen av formeln ovan representerar "text" en cell som innehåller text och "ord" representerar ordet eller strängen som räknas. I exemplet använder vi den här formeln:

=(LEN(B4)-LEN(SUBSTITUTE(B4,C4,"")))/LEN(C4)

Förklaring

B4 är cellen som vi räknar ord i, och C4 innehåller den delning (ord eller vilken delsträngning) du räknar.

SUBSTITUTE tar bort strängen från originaltexten och LEN beräknar längden på texten utan understrängen. Detta nummer subtraheras sedan från längden på originaltexten. Resultatet är antalet tecken som togs bort av SUBSTITUTE.

Slutligen divideras antalet borttagna tecken med substratets längd. Så om ett underlag är 5 tecken långt och det tio tecken saknas efter det att det har tagits bort från originaltexten, vet vi att understrängen föreföll två gånger i originaltexten.

Hanteringsväska

SUBSTITUTE är en skiftlägeskänslig funktion, så den kommer att matcha skiftläge när en utbyte körs. Om du behöver räkna både stora och små bokstäver av ett ord eller en delsträng, använd UPPER-funktionen i SUBSTITUT för att konvertera texten till versaler innan du kör substitutionen:

=(LEN(B4)-LEN(SUBSTITUTE(UPPER(B4),UPPER(C4),"")))/LEN(C4)

Eftersom denna formel omvandlar understrängen och texten till versaler innan du byter ut fungerar den i alla fall lika bra med text.

Hanteringsproblem

Att räkna ord i Excel är svårt eftersom Excel inte stöder reguljära uttryck. Som ett resultat är det svårt att rikta in de ord du vill räkna exakt, medan du ignorerar strängar och andra partiella matchningar (dvs. hitta "räv" men inte "rävar"). Punktuering och fallvariationer gör detta problem ganska utmanande.

En lösning är att använda en annan formel i en hjälpkolumn för att "normalisera text" som ett första steg. Använd sedan formeln på denna sida för att räkna ord som är inslagna med mellantecken för att få ett exakt antal (dvs. du kan leta efter "räv" i den normaliserade texten.

Obs: detta tillvägagångssätt är bara lika bra som den normaliserade texten du kan skapa, och du kan behöva justera normaliseringsformeln många gånger för att få det resultat du behöver.

Intressanta artiklar...