Exceller

Compter le nombre total de mots dans une cellule

Count Total Words Cell

Formule Excel: compter le nombre total de mots dans une celluleFormule générique
= LEN ( TRIM (A1))- LEN ( SUBSTITUTE (A1,' ',''))+1
Résumé

Pour compter le nombre total de mots dans une cellule, vous pouvez utiliser une formule basée sur le LEN et REMPLACER fonctions, avec l'aide du Fonction TRIM . Dans l'exemple illustré, la formule de la cellule C5, copiée vers le bas, est:

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

La formule renvoie le nombre de mots dans la cellule B5.



comment ajuster automatiquement la largeur dans Excel
Explication

Excel n'a pas de fonction dédiée pour compter les mots dans une cellule. Cependant, avec un peu d'ingéniosité, vous pouvez créer une telle formule à l'aide des fonctions SUBSTITUTE et LEN, avec l'aide de TRIM, comme indiqué dans l'exemple. À un niveau élevé, cette formule utilise la fonction LEN pour compter le nombre de caractères dans la cellule, avec et sans espaces, puis utilise la différence pour déterminer le nombre de mots. Cela fonctionne, car le nombre de mots est égal au nombre d'espaces + 1, tant qu'il y a un espace entre chaque mot.



La première partie de la formule compte les caractères de la cellule B5, après avoir supprimé l'espace supplémentaire:

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

À l'intérieur de LEN, le Fonction TRIM supprime d'abord les espaces supplémentaires entre les mots, ou au début ou à la fin du texte. Ceci est important, car tout espace supplémentaire annulera le nombre de mots. Dans ce cas, il n'y a pas de caractères d'espacement supplémentaires, donc TRIM renvoie le texte d'origine directement au Fonction LEN , qui renvoie 30:



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

À ce stade, nous avons:

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

Ensuite, nous utilisons le Fonction SUBSTITUTE pour supprimer tous les espaces du texte:

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

Notez que SUBSTITUTE est configuré pour rechercher un caractère d'espace ('') et le remplacer par un chaîne vide (''). Par défaut, SUBSTITUTE remplacera tout les espaces. Le résultat est livré directement à la fonction LEN, qui renvoie le décompte:



comment faire vba dans excel
 
 LEN ('AllQuietontheWesternFront') // returns 25

LEN renvoie 25, le nombre de caractères restants après que tout l'espace a été supprimé . Nous pouvons maintenant simplifier la formule pour:

 
=30-25+1 // returns 6

qui renvoie 6 comme résultat final, le nombre de mots dans la cellule B5.

Gérer les cellules vides

La formule de l'exemple renvoie 1 même si une cellule est vide ou contient uniquement de l'espace. Cela se produit parce que nous ajoutons 1 inconditionnellement , après avoir compté les caractères d'espacement entre les mots. Pour vous prémunir contre ce problème, vous pouvez adapter la formule comme indiqué ci-dessous:

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

Notez que nous avons remplacé 1 par cette expression:

comment créer si alors des déclarations dans Excel
 
 LEN ( TRIM (B5))>0

Ce code coupe d'abord B5, puis vérifie la longueur. Si B5 contient du texte, LEN renvoie un nombre positif et l'expression retourne TRUE. Si B5 est vide ou contient uniquement de l'espace, TRIM renvoie une chaîne vide ('') à LEN. Dans ce cas, LEN renvoie zéro (0) et l'expression renvoie FALSE. L'astuce est que VRAI et FAUX évaluent respectivement à 1 et à zéro lorsqu'ils sont impliqués dans une opération mathématique. Par conséquent, l'expression ajoute seulement 1 lorsqu'il y a du texte dans B5. Sinon, il ajoute zéro (0). Cette logique pourrait également être écrite avec le Fonction IF déclaration comme celle-ci:

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

et le résultat serait le même. L'expression ci-dessus est simplement plus compacte.

Pièces jointes Déposer compter le nombre total de mots dans cell.xlsx Auteur Dave Bruns


^