Excel-formel: Tæl specifikke ord i en celle -

Indholdsfortegnelse

Generisk formel

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

Resumé

Hvis du har brug for at tælle, hvor mange gange et bestemt ord (eller en hvilken som helst understreng) vises inde i en celle, kan du bruge en formel, der bruger SUBSTITUTE og LEN. I den generiske form med ovenstående formel repræsenterer "tekst" en celle, der indeholder tekst, og "ord" repræsenterer det ord eller understreng, der tælles. I eksemplet bruger vi denne formel:

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

Forklaring

B4 er den celle, vi tæller ord i, og C4 indeholder den understreng (ord eller enhver understreng), du tæller.

SUBSTITUTE fjerner understrengen fra den originale tekst, og LEN beregner længden af ​​teksten uden understrengen. Dette nummer trækkes derefter fra længden på den originale tekst. Resultatet er antallet af tegn, der blev fjernet af SUBSTITUTE.

Endelig divideres antallet af fjernede tegn med længden af ​​understrengen. Så hvis en understreng er 5 tegn lang, og der mangler 10 tegn, efter at den er fjernet fra den originale tekst, ved vi, at understrenget dukkede op to gange i den oprindelige tekst.

Håndtering af sag

SUBSTITUTE er en sagsfølsom funktion, så den svarer til store og små bogstaver, når en udskiftning køres. Hvis du har brug for at tælle både store og små bogstaver af et ord eller en understreng, skal du bruge OPPER-funktionen i SUBSTITUTE til at konvertere teksten til store bogstaver, før du kører erstatningen:

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

Fordi denne formel konverterer understrengen og teksten til store bogstaver, før udskiftningen udføres, fungerer den under alle omstændigheder lige så godt med tekst.

Håndtering af problemer

At tælle ord i Excel er vanskeligt, fordi Excel ikke understøtter regelmæssige udtryk. Som et resultat er det svært at målrette ordene mod de ord, du vil tælle nøjagtigt, mens du ignorerer understrenge og andre delvise matches (dvs. find "ræv", men ikke "ræve"). Tegnsætning og variationer i sager gør dette problem ret udfordrende.

En løsning er at bruge en anden formel i en hjælpekolonne til at "normalisere tekst" som et første trin. Brug derefter formlen på denne side til at tælle ord indpakket med mellemrumstegn for at få en nøjagtig optælling (dvs. du kan se efter "ræv" i den normaliserede tekst.

Bemærk: denne tilgang er kun så god som den normaliserede tekst, du er i stand til at oprette, og du skal muligvis justere normaliseringsformlen mange gange for at få det ønskede resultat.

Interessante artikler...