Comptez le nombre de mots dans une chaîne dans Google Sheets


Réponses:


9

Dans Google Spreadsheets, je le ferais un peu différemment.

Formule

=COUNTA(SPLIT(A1, " "))

Expliqué

La SPLITfonction est uniquement disponible dans Google Spreadsheet et divisera le contenu de la cellule sur chaque espace ( " "). La COUNTfonction comptera simplement les instances.

La formule Excel donne la même réponse, mais un peu plus laborieuse:

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

Capture d'écran

entrez la description de l'image ici

Remarque

Voir la réponse suivante sur les formules uniques à la feuille de calcul Google:
https://webapps.stackexchange.com/a/44719/29140


1
Pour la plupart, cela a fonctionné pour moi (dans Google Sheets) ... sauf que la cellule vide a renvoyé 1 .. J'ai donc changé un peu pour que les cellules vides retournent 0:=COUNTA(SPLIT(A1, " "))-IF(A1 = "",1,0)
CenterOrbit

Nous faisons quelque chose de similaire, mais cela ne fonctionnera pas lorsque les espaces ne sont pas le caractère d'espaces normal (par exemple, les tabulations, etc.). J'aimerais donc trouver une façon un peu intelligente de compter les mots.
Aldo 'xoen' Giambelluca

Salut Aldo, le mieux est de simplement poser votre question ici sur les applications Web !!!
Jacob Jan Tuinstra

3

Légère amélioration de la formule dans cette autre réponse, donc dans le cas où A1 est vide ou s'il a une chaîne vide, il retournera zéro.

= SI (LEN (A1) = 0,0, COUNTA (SPLIT (A1, ""))

0

Si vous voulez le faire sur une plage de cellules (c'est-à-dire A1:A25), vous pouvez utiliser la formule ci-dessus, où CHAR(32)est le caractère espace" "

=COUNTA(SPLIT(ARRAYFORMULA(CONCATENATE(A1:A25&CHAR(32)));CHAR(32)))

Cela fonctionne avec des cellules vides, sauf lorsque la cellule initiale est vide.


0

Un autre:

=COUNTA(SPLIT(TRIM(A1&" #")," "))-1

Cela ajoute simplement un espace et un signe dièse à la fin de tout ce qui se trouve dans la cellule cible, y compris en l'ajoutant à une valeur nulle , de sorte qu'il n'y a jamais d'erreur de rejet du décompte. Ensuite, nous soustrayons simplement ce "faux espace" temporaire à la fin.


0

=ARRAYFORMULA(IF(LEN(A3:A), 
 MMULT(IF(IFERROR(SPLIT(IF(LEN(A3:A), A3:A, ), " "))<>"", 1, 0), 
 ROW(INDIRECT("A1:A"&COUNTA(IFERROR(
 QUERY(IF(IFERROR(SPLIT(IF(LEN(A3:A), A3:A, ), " "))<>"", 1, 0), "limit 1", 0)))))^0), ))

0

______________________________________________________________

=ARRAYFORMULA(IF(LEN(A3:A), LEN(REGEXREPLACE(A3:A, "[^\s]", ))+1, ))

0

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.