Formule Excel: compter des caractères spécifiques dans une plage -

Formule générique

=SUMPRODUCT(LEN(rng)-LEN(SUBSTITUTE(rng,txt,"")))

Sommaire

Si vous devez compter des caractères spécifiques dans une plage de cellules, vous pouvez le faire avec une formule qui utilise LEN et SUBSTITUTE, ainsi que la fonction SUMPRODUCT. Dans la forme générique de la formule (ci-dessus), rng représente une plage de cellules contenant des mots et txt représente le caractère que vous devez compter.

Dans l'exemple, la cellule active contient cette formule:

=SUMPRODUCT(LEN(B3:B7)-LEN(SUBSTITUTE(B3:B7,"o","")))

Explication

Pour chaque cellule de la plage, SUBSTITUTE supprime tous les o du texte, puis LEN calcule la longueur du texte sans o. Ce nombre est ensuite soustrait de la longueur du texte avec des o.

Parce que nous utilisons SUMPRODUCT, le résultat de tout ce calcul est une liste d'éléments (un tableau), où il y a un élément par cellule dans la plage, et chaque élément un nombre basé sur le calcul décrit ci-dessus. En d'autres termes, nous avons une liste de nombres de caractères, avec un nombre de caractères par cellule.

SUMPRODUCT additionne ensuite les nombres de cette liste et renvoie un total pour toutes les cellules de la plage.

SUBSTITUTE est une fonction sensible à la casse, donc elle correspondra à la casse lors de l'exécution d'une substitution. Si vous devez compter les occurrences majuscules et minuscules d'un caractère spécifique, utilisez la fonction UPPER dans SUBSTITUTE pour convertir le texte en majuscules avant la substitution. Ensuite, indiquez un caractère majuscule pour le texte compté.

La forme générique modifiée de la formule ressemble à ceci:

=SUMPRODUCT(LEN(rng)-LEN(SUBSTITUTE(UPPER(rng),TXT,"")))

Articles intéressants...