Résumé
Pour compter le nombre de cellules contenant un mot, une partie du texte ou même un caractère spécifique, on peut utiliser la fonction NB.SI avec les caractères génériques. Ces derniers permettront d’exprimer que l’on veut que les cellules comptées contiennent un élément particulier.
= NB.SI( B3:B7 ; "*Chaise*" )
Dans cet exemple, la formule compte les cellules qui contiennent le mot « chaise ».
Pour Compter les cellules contenant du texte (peu importe le texte)
Pour Compter les cellules égales à un texte
Formule Excel – Compter les cellules contenant un mot ou un caractère spécifique
= NB.SI( cellules ; "*texte*" )
Explications
Cette formule Excel permet de compter le nombre de cellules contenant un texte spécifique (mot, caractère, partie de texte). Le texte recherché peut être situé au début du texte complet, à la fin ou au milieu.
La fonction NB.SI ne permet pas de faire une recherche sensible à la casse. C’est-à-dire qu’elle ne permet de vérifier la présence ou l’absence des majuscules ou minuscules. Pour cela, il faudra se tourner vers la solution associant la fonction SOMME, la fonction CHERCHE et la fonction ESTNUM (voir en fin d’article).
Fonction NB.SI
La fonction NB.SI est une fonction Excel. Elle permet de compter le nombre de cellules répondant à un critère. Le critère peut être défini sur des nombres, des dates ou des textes.
= NB.SI( plage_de_cellules ; texte )
= NB.SI( $B$3:$B$7 ; "Chaise" )
--> Compte les cellules égales à "Chaise"
De plus, la fonction NB.SI autorise l’utilisation des caractères génériques. Ils permettent d’effectuer des recherches partielles. On peut compter les cellules commençant par/se terminant par/contenant un mot ou un terme précis.
= NB.SI( plage_de_cellules ; texte )
= NB.SI( $B$3:$B$7 ; "Chaise*" )
--> Compte les cellules commençant par"Chaise"
= NB.SI( $B$3:$B$7 ; "*Chaise" )
--> Compte les cellules se terminant par "Chaise"
= NB.SI( $B$3:$B$7 ; "*Chaise*" )
--> Compte les cellules contenant "Chaise"
Le tableau ci-dessous vous donne un résumé de ces différents éléments en fonction du type de donnée dans vos cellules.
Type | Syntaxe | Signification |
---|---|---|
Texte | “Production” | la valeur est égale à Production |
“<>Production” | la valeur est différente de Production | |
“*Production*” | la valeur contient Production | |
“Production*” | la valeur commence par Production | |
“*Production” | la valeur se termine par Production | |
Date | “>”&DATE(2022;1;1) | Supérieur au 01/01/2022 |
“>=”&DATE(2022;1;1) | Supérieur ou égal au 01/01/2022 | |
“<”&DATE(2022;1;1) | Inférieur au 01/01/2022 | |
“<=”&DATE(2022;1;1) | Inférieur ou égal au 01/01/2022 | |
DATE(2022;1;1) | Date exacte | |
Nombres | “>”&2000 | Supérieur à 2000 |
“>=”&2000 | Supérieur ou égal à 2000 | |
“<”&2000 | Inférieur à 2000 | |
“<=”&2000 | Inférieur ou égal à 2000 | |
2000 | Montant exact | |
Autres conditions | “=” | Cellule vide (pas de formule ni de valeur nulle) |
“” | Valeur nulle (peut être le résultat d’une formule) | |
“<>” | Cellule non vide (inclus zéro) |
L’astérisque permet d’indiquer à Excel que l’on autorise la présence d’un ou de plusieurs caractères. En mettant un astérisque avant le mot et un autre après le mot, on indique à Excel qu’on autorise la présence d’un ou plusieurs caractères avant et après le texte.
Si le texte recherché est situé dans une cellule tierce, il faut utiliser la syntaxe suivante.
= NB.SI( plage_de_cellules ; "*" & B3 & "*" )
Fonctions SOMME + CHERCHE + ESTNUM + double négative
La fonction NB.SI ne permet pas de compter des cellules tout en étant sensible à la casse. C’est-à-dire qu’elle ne tient pas compte de la présence ou de l’absence des majuscules ou minuscules. Pour cela, il faudra se tourner vers une solution combinant la fonction SOMME, la fonction CHERCHE et la fonction ESTNUM.
La fonction CHERCHE renvoie la position d’un caractère ou d’une suite de caractère dans un texte tout en tenant compte de la casse.
= CHERCHE( "Chaise" ; "123 Chaise 123" )
--> Résultat : 4
4 signifie que le texte cherché démarre au 4e caractère
du texte
Si le texte cherché n’est pas trouvé (ou pas avec la bonne casse) la fonction renverra une erreur.
= CHERCHE( "chaise" ; "123 Chaise 123" )
--> Résultat : #VALEUR!
La fonction ESTNUM renvoie la valeur VRAI
si la valeur indiquée est numérique et FAUX
si ce n’est pas le cas.
= ESTNUM( 1 ) --> VRAI
= ESTNUM( #VALEUR! ) --> FAUX
Associée à la fonction CHERCHE, elle renvoie VRAI si le caractère cherchée ou la suite de cractères sont présents.
= ESTNUM( CHERCHE( "Chaise" ; "123 Chaise 123" ) )
--> Résultat : VRAI
= ESTNUM( CHERCHE( "chaise" ; "123 Chaise 123" ) )
--> Résultat : FAUX
Il est possible d’effectuer cette opération sur plusieurs cellules en même temps et d’y ajouter la double négative. La syntaxe double négative a pour effet de transformer les valeurs VRAI
et FAUX
en 1 et 0. Ainsi, il sera possible de les additionner.
= --ESTNUM( CHERCHE( "Chaise" ; B3:B7 ) )
= --({VRAI;FAUX;VRAI;FAUX;VRAI})
= {1;0;1;0;1;0}
Pour additionner les valeurs trouvées, il suffira alors d’utiliser la fonction SOMME.
= SOMME({1;0;1;0;1;0})
--> Résultat : 3
En combinant la fonction SOMME, la fonction ESTNUM et la fonction CHERCHE il est possible de compter les cellules contenant un texte spécifique tout en tenant compte de la casse.
= SOMME( --ESTNUM( CHERCHE( "Chaise" ; B3:B7 ) ) )
Formules en lien
- Extraire le texte avant un caractère
- Compter le nombre de cellules égales à un texte
- Compter le nombre de cellules contenant du texte
- Compter nombre de valeurs texte différentes
- Compter le nombre de cellules non vides
- Compter le nombre de cellules contenant une formule
- NB.SI avec plusieurs critères
- Remplacer un caractère par un autre (yc spéciaux)
- SOMMEPROD avec SI
- Trouver des doublons avec NB.SI
- Séparer nom et prénom
- MIN.SI.ENS sensible à la casse
- Somme si date est entre deux dates
- Supprimer le(s) dernier(s) caractère(s) d’une cellule
- Supprimer le(s) premier(s) caractère(s) d’une cellule
- Compter le nombre de cellules contenant un texte différent de
- Nombre si date comprise entre
- Compter le nombre de caractères spécifiques dans une cellule
- Compter le nombre de caractères totaux dans une cellule
- Remplacer un mot par un autre
Retrouvez d’autres astuces dans l’article sur la fonction NB.SI.