Formula Excel: Numărați cuvintele totale dintr-o celulă -

Cuprins

Formula generică

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

rezumat

Pentru a număra cuvintele totale dintr-o celulă, puteți utiliza o formulă bazată pe funcțiile LEN și SUBSTITUTE, cu ajutorul funcției TRIM. În exemplul prezentat, formula din celula C5, copiată, este:

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

Formula returnează numărul de cuvinte din celula B5.

Explicaţie

Excel nu are o funcție dedicată pentru numărarea cuvintelor într-o celulă. Cu toate acestea, cu puțină ingeniozitate, puteți crea o astfel de formulă folosind funcțiile SUBSTITUTE și LEN, cu ajutorul TRIM, așa cum se arată în exemplu. La un nivel ridicat, această formulă folosește funcția LEN pentru a număra numărul de caractere din celulă, cu și fără spații, apoi folosește diferența pentru a afla numărul de cuvinte. Acest lucru funcționează, deoarece numărul de cuvinte este egal cu numărul de spații + 1, atât timp cât există un spațiu între fiecare cuvânt.

Prima parte a formulei numără caracterele din celula B5, după eliminarea spațiului suplimentar:

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

În interiorul LEN, funcția TRIM elimină mai întâi orice spații suplimentare între cuvinte sau la începutul sau la sfârșitul textului. Acest lucru este important, deoarece orice spații suplimentare vor elimina numărul de cuvinte. În acest caz, nu există caractere spațiale suplimentare, astfel încât TRIM returnează textul original direct la funcția LEN, care returnează 30:

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

În acest moment, avem:

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

Apoi, folosim funcția SUBSTITUTE pentru a elimina toate caracterele spațiale din text:

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

Observație SUBSTITUTE este configurat pentru a căuta un caracter spațial ("") și înlocui cu un șir gol (""). În mod implicit, SUBSTITUTE va înlocui toate spațiile. Rezultatul este livrat direct la funcția LEN, care returnează numărul:

LEN("AllQuietontheWesternFront") // returns 25

LEN returnează 25, numărul de caractere rămase după eliminarea întregului spațiu. Acum putem simplifica formula pentru:

=30-25+1 // returns 6

care returnează 6 ca rezultat final, numărul de cuvinte din celula B5.

Tratarea celulelor goale

Formula din exemplu va returna 1 chiar dacă o celulă este goală sau conține doar spațiu. Acest lucru se întâmplă deoarece adăugăm 1 necondiționat, după numărarea caracterelor spațiale între cuvinte. Pentru a vă proteja împotriva acestei probleme, puteți adapta formula așa cum se arată mai jos:

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

Observați că am înlocuit 1 cu această expresie:

LEN(TRIM(B5))>0

Acest cod tunde mai întâi B5, apoi verifică lungimea. Dacă B5 conține text, LEN returnează un număr pozitiv, iar expresia returnează TRUE. Dacă B5 este gol sau conține doar spațiu, TRIM returnează un șir gol ("") la LEN. În acest caz, LEN returnează zero (0) și expresia returnează FALSE. Trucul este că ADEVĂRAT și FALS evaluează la 1 și respectiv la zero, atunci când sunt implicați în orice operație matematică. Ca rezultat, expresia adaugă 1 doar când există text în B5. În caz contrar, adaugă zero (0). Această logică ar putea fi, de asemenea, scrisă cu declarația de funcție IF astfel:

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

iar rezultatul ar fi același. Expresia de mai sus este pur și simplu mai compactă.

Articole interesante...