Excel formula: preštejte skupno število besed v celici -

Kazalo

Splošna formula

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Povzetek

Če želite prešteti skupno število besed v celici, lahko s pomočjo funkcije TRIM uporabite formulo, ki temelji na funkcijah LEN in SUBSTITUTE. V prikazanem primeru je formula v kopirani celici C5:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+1

Formula vrne število besed v celici B5.

Pojasnilo

Excel nima posebne funkcije za štetje besed v celici. Z malo iznajdljivosti pa lahko s pomočjo funkcije TRIM, kot je prikazano v primeru, ustvarite takšno formulo z uporabo funkcij SUBSTITUTE in LEN. Na visoki ravni ta formula uporablja funkcijo LEN za štetje števila znakov v celici, s presledki in brez njih, nato pa uporabi razliko, da ugotovi število besed. To deluje, ker je število besed enako številu presledkov + 1, če je med vsako besedo en presledek.

Prvi del formule po odstranitvi odvečnega prostora šteje znake v celici B5:

=LEN(TRIM(B5)) // normalize space, count characters

Znotraj LEN funkcija TRIM najprej odstrani odvečne presledke med besedami ali na začetku ali koncu besedila. To je pomembno, saj bodo morebitni odvečni presledki zavrgli štetje besed. V tem primeru ni dodatnih presledkov, zato TRIM vrne izvirno besedilo neposredno v funkcijo LEN, ki vrne 30:

LEN("All Quiet on the Western Front") // returns 30

Na tej točki imamo:

=30-LEN(SUBSTITUTE(B5," ",""))+1

Nato s funkcijo SUBSTITUTE odstranimo vse presledke iz besedila:

SUBSTITUTE(B5," ","") // strip all space

Obvestilo SUBSTITUTE je nastavljen tako, da išče presledek ("") in ga nadomesti s praznim nizom (""). Privzeto bo SUBSTITUTE nadomestil vse presledke. Rezultat se dostavi neposredno v funkcijo LEN, ki vrne štetje:

LEN("AllQuietontheWesternFront") // returns 25

LEN vrne 25, število znakov, ki ostanejo po odstranitvi ves prostor. Zdaj lahko formulo poenostavimo na:

=30-25+1 // returns 6

ki vrne 6 kot končni rezultat, število besed v celici B5.

Obravnavanje praznih celic

Formula v primeru bo vrnila 1, tudi če je celica prazna ali vsebuje samo presledek. To se zgodi, ker po štetju presledkov med besedami brezpogojno dodajamo 1. Za zaščito pred to težavo lahko prilagodite formulo, kot je prikazano spodaj:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+(LEN(TRIM(B5))>0)

Upoštevajte, da smo 1 zamenjali s tem izrazom:

LEN(TRIM(B5))>0

Ta koda najprej obreže B5, nato preveri dolžino. Če B5 vsebuje besedilo, LEN vrne pozitivno število, izraz pa TRUE. Če je B5 prazen ali vsebuje samo presledek, TRIM vrne prazen niz ("") v LEN. V tem primeru LEN vrne nič (0), izraz pa FALSE. Trik je v tem, da je TRUE in FALSE ocenjen na 1 oziroma nič, ko sodeluje v kateri koli matematični operaciji. Kot rezultat, izraz doda samo 1, če je besedilo v B5. V nasprotnem primeru doda nič (0). To logiko bi lahko zapisali tudi s stavkom funkcije IF, kot je ta:

IF(LEN(TRIM(B5))>0,1,0)

in rezultat bi bil enak. Zgornji izraz je preprosto bolj kompakten.

Zanimive Članki...