Menu

Excel : compter les cellules contenant du texte (NB.SI)

=NB.SI(A2:A8;"*") compte les cellules de A2:A8 qui contiennent du texte, sans les nombres, les dates ni les cellules vides. Compter les cellules qui contiennent un mot précis, et renvoyer une valeur si une cellule contient un texte.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=NB.SI(A2:A8;"*") compte les cellules de A2:A8 qui contiennent du texte. L'astérisque est un caractère générique qui signifie "n'importe quels caractères", et il ne correspond qu'à du texte : les nombres, les dates, VRAI/FAUX et les cellules vides ne sont pas comptés. NB.SI s'appelle COUNTIF dans un Excel anglais ; le tableau affiche les formules sous cette forme, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =NB.SI(A2:A8;"*").

Compter les cellules de texte
D2
ABCD
1EntryWhatCount
2AppleText3
312Not empty6
4Numbers and dates2
5PearEmpty1
62026-01-05
7TRUE
8n/a
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI(A2:A8;"*")

D2 compte Apple, Pear et n/a : 3. NBVAL (COUNTA) compte toutes les cellules remplies, 6, et NB (COUNT) les deux nombres (une date est un nombre). Tapez 25 en A4 : D3 et D4 augmentent alors que D2 reste à 3 ; tapez plutôt Plum : D2 et D3 augmentent alors que D4 reste à 2. NB et NBVAL sont comparées sur leur propre page.

Un nombre tapé précédé d'une apostrophe, comme '007, est du texte, donc "*" le compte. Pour ne compter que les cellules d'au moins un caractère, utilisez "?*" : le ? doit correspondre à un caractère, donc une formule qui renvoie une chaîne vide ("") n'est jamais comptée.

Compter les cellules qui contiennent un texte précis

Pour compter les cellules qui contiennent un mot n'importe où, placez un astérisque de chaque côté. Sans astérisques, toute la cellule doit correspondre.

Compter un mot
D2
ABCD
1ProductConditionCount
2Applecontains apple5
3Pineappleexactly apple1
4Pearstarts with apple3
5apple juiceword in C61
6Plumjuice
7Green appleapple, case-sensitive3
8Apple cider
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI(A2:A8;"*apple*")

"*apple*" correspond à cinq produits. "apple" seul ne correspond qu'à la cellule qui vaut exactement Apple (NB.SI ignore la casse), et "apple*" aux trois qui commencent par ce mot. D5 prend le mot en C6 : vous pouvez y taper n'importe quel mot. D7 respecte la casse : TROUVE (FIND), contrairement à NB.SI, distingue apple de Apple, donc seuls Pineapple, apple juice et Green apple comptent. Le -- transforme les résultats VRAI/FAUX en 1 et 0 pour que SOMMEPROD (SUMPRODUCT) les additionne.

Si une cellule contient un texte, renvoyer une valeur

Pour marquer chaque ligne, testez une cellule à la fois. CHERCHE("apple";A2) renvoie la position où commence apple, ou #VALEUR! (en anglais #VALUE!) quand le mot est absent. ESTNUM (ISNUMBER) transforme ce résultat en VRAI ou FAUX, et SI choisit le résultat.

Si la cellule contient apple
B2
ABC
1ProductContains apple?Any text?
2AppleYesText
3PearNoText
4PineappleYesText
542NoNot text
6Green appleYesText
72026-02-01NoNot text
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =SI(ESTNUM(CHERCHE("apple";A2));"Yes";"No")

Les deux colonnes sont recopiées vers le bas. B affiche Yes pour Apple, Pineapple et Green apple. C utilise ESTTEXTE (ISTEXT), qui répond à une autre question : la cellule contient-elle du texte, quel qu'il soit. 42 et la date sont des nombres, donc "Not text". Utilisez TROUVE à la place de CHERCHE quand la casse compte. Les deux fonctions, et la raison pour laquelle CHERCHE est celle qui ignore la casse, sont détaillées sur TROUVE et CHERCHE.

=SI(NB.SI(A2;"*apple*");"Yes";"No") fait le même test avec NB.SI : un compte de 1 vaut VRAI et 0 vaut FAUX.

Compter les cellules qui contiennent l'un de plusieurs mots

Additionner deux NB.SI compte deux fois une cellule qui contient les deux mots. Testez plutôt chaque cellule une seule fois : CHERCHE pour chaque mot, additionnez les résultats VRAI, et comptez les lignes où la somme dépasse 0.

Apple ou juice
D2
ABCD
1ProductFormulaCount
2AppleTwo COUNTIFs5
3Orange juiceEach cell once4
4Pear
5apple juice
6Plum
7Green apple
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI(A2:A7;"*apple*")+NB.SI(A2:A7;"*juice*")

Quatre produits mentionnent apple ou juice, mais les deux NB.SI donnent 5, car apple juice est compté par les deux. La version SOMMEPROD donne 4.

Exercice : compter les cellules de texte

À vous : compter le texte
E2
ABCDE
1DeliveryWeightWhatCount
2D-112Notes
3D-29
4D-3damaged
5D-415
6D-5missing
7D-6
8D-7late
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : Certaines livraisons ont un poids, d'autres une remarque. Comptez les cellules de B2:B8 qui contiennent du texte. Écrivez la formule en E2.

Pourquoi le nombre de cellules de texte est faux

  • Les nombres stockés sous forme de texte sont comptés. Une colonne importée d'un autre système peut contenir '125 sous forme de texte. "*" la compte, et NB non. Si NB sur une colonne de nombres donne moins que NBVAL, certains sont du texte ; voir nombres stockés sous forme de texte.
  • Des cellules qui semblent seulement vides. Une cellule contenant une espace est du texte et elle est comptée. Utilisez =SOMMEPROD(--(NBCAR(SUPPRESPACE(A2:A8))>0)) pour compter les cellules qui contiennent des caractères visibles.
  • VRAI et FAUX ne sont pas du texte. "*" les ignore, comme il ignore les valeurs d'erreur telles que #N/A.
  • NB.SI ignore la casse. Pour un comptage sensible à la casse, utilisez TROUVE dans SOMMEPROD, comme dans le deuxième tableau.

Questions fréquentes

Comment compter les cellules qui contiennent du texte dans Excel ?

Utilisez =NB.SI(A2:A8;"*"). L'astérisque correspond à n'importe quel texte : la formule compte chaque cellule de texte et ignore les nombres, les dates, VRAI/FAUX et les cellules vides.

Comment compter les cellules qui contiennent un texte précis ?

Entourez le mot d'astérisques : =NB.SI(A2:A8;"*apple*") compte les cellules qui contiennent apple n'importe où, quelle que soit la casse. Sans les astérisques, "apple" ne compte que les cellules qui valent exactement apple.

Comment écrire "si une cellule contient un texte alors" dans Excel ?

Combinez SI, ESTNUM et CHERCHE : =SI(ESTNUM(CHERCHE("apple";A2));"Yes";"No"). CHERCHE renvoie une position quand elle trouve le texte et une erreur sinon, et ESTNUM transforme ce résultat en VRAI ou FAUX.

Comment vérifier si une cellule contient du texte, quel qu'il soit ?

Utilisez =ESTTEXTE(A2), qui renvoie VRAI pour du texte et FAUX pour les nombres, les dates et les cellules vides. Dans un SI : =SI(ESTTEXTE(A2);"Text";"Not text").

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER