David doit compter le nombre d’astérisques qui apparaissent dans une plage de cellules. Il note que COUNTIF semble supposer que * est un caractère générique, donc il ne renvoie pas le décompte correct.

Il existe un certain nombre de façons d’obtenir des résultats, en fonction de ce que vous voulez réellement obtenir. Supposons que vous ayez les valeurs suivantes dans les cellules A3: A8:

1234 abcd abcd abcd

Dans ces six cellules, il y a un total de sept astérisques. Pour déterminer le nombre d’astérisques apparaissant dans la plage, vous devrez vous fier à une formule matricielle, telle que celle-ci:

=SUM(LEN(A3:A8)-LEN(SUBSTITUTE(A3:A8,"*","")))

N’oubliez pas de saisir la formule avec Ctrl + Maj + Entrée.

Bien sûr, vous souhaiterez peut-être compter le nombre de cellules de la plage contenant un seul astérisque au lieu du nombre d’astérisques réels. Dans ce cas, vous pouvez réellement utiliser la fonction COUNTIF, à condition de savoir comment assembler la formule. Essayez d’abord cette formule:

=COUNTIF(A3:A8,"*")

Avec les données affichées au début de cette astuce, cette formule renvoie la valeur 5. Ceci, bien sûr, est faux. La raison pour laquelle il renvoie ce résultat est que COUNTIF utilise * comme caractère générique qui signifie «tout texte de la cellule». Puisqu’il y a cinq cellules dans la plage qui contiennent du texte (valeurs non numériques), c’est la réponse renvoyée par la formule.

Vous pourriez penser que si vous recherchiez le caractère ANSI de l’astérisque, au lieu de l’astérisque lui-même, vous pourriez obtenir le résultat correct. Cette formule montre cette approche:

=COUNTIF(A3:A8,CHAR(42))

Cette formule renvoie également la réponse incorrecte (5). Il semble qu’Excel ne voit aucune différence, dans l’application, entre la recherche de * et la recherche de CHAR (42). Les deux sont toujours traités comme un joker.

La solution à cela est de vous rappeler que vous pouvez forcer Excel à traiter l’astérisque comme un caractère réel en le précédant d’un tilde, caractère, de cette manière:

=COUNTIF(A3:A8,"~*")

Cela renvoie un résultat de 1, ce qui peut être surprenant. Cependant, Excel est très littéral et votre formule demandait un décompte de toutes les cellules contenant un seul astérisque. La bonne réponse est qu’une seule cellule (A7) contient ce que vous avez demandé. Si vous voulez compter toutes les cellules contenant un astérisque n’importe où dans la cellule, vous devez entourer la formule de caractères génériques, de cette manière:

=COUNTIF(A3:A8,"~*")

Cela renvoie «n’importe quel texte» suivi d’un astérisque littéral suivi de «n’importe quel texte». Le résultat est 4, qui est le nombre de cellules contenant au moins un astérisque.

Le concept d’utilisation des tildes pour contrer les caractères génériques est traité dans cet article de la base de connaissances:

https://support.office.com/en-us/article/find-or-replace-text-and-numbers-on-a-worksheet-0e304ca5-ecef-4808-b90f-fdb42f892e90

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (9483) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

lien: / excel-Counting_Asterisks [Compter les astérisques].