Syntaxe
La fonction NB.SI s’écrit de la façon suivante :
=NB.SI(plage;critère)
Les arguments de la formule sont :
plage
– plage de cellules sur laquelle appliquer le critèrecritère
– le critère à appliquer
Utilisation de la fonction NB.SI
Utilisation des critères avec les opérateurs logiques
Pour définir les critères avec la fonction NB.SI, on peut utiliser les opérateurs logiques. La syntaxe n’est pas forcément évidente à maîtriser. Dans le tableau ci-dessous, retrouvez l’ensemble des opérateurs logiques pouvant être appliqués suivant le type de donnée présent dans la cellule. Sont également indiqués les caractères génériques (*, ?, ~).
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) |
Dans ces exemples, les valeurs sont directement saisies dans les formules. Cependant, vous avez la possibilité de saisir la valeur à comparer dans une autre cellule et l’appeler directement dans votre formule. Pour cela, si vous avez utilisé un opérateur logique, il faudra mettre l’opérateur entre guillemets et le lier à la formule grâce au caractère &
.
=NB.SI(E3:E11;">="&B1)
Exemples simples d’utilisation de la fonction NB.SI
Dans l’exemple présenté ci-dessous, retouvrez quelques cas d’utilisation simple de la fonction NB.SI. Vous verrez un exemple avec un format texte, nombre et date.
=NB.SI(E3:E11;"Production")
--> Nb de "Production"
=NB.SI(C3:C11;">2000")
--> Nb de salaires supérieurs à 2000
=NB.SI(D3:D11;">="&DATE(2023;1;1))
--> Nb de dates après le 01/01/2023
A noter que la fonction NB.SI n’est pas sensible à la casse. C’est-à-dire que saisir Production
, production
et PRODUCTION
sont équivalentes pour cette fonction Excel.
La fonction NB.SI avec du texte
Compter le nombre de cellules contenant un texte
Pour calculer le nombre de cellules contenant un texte spécifique, il suffit d’indiquer ce texte entre guillemets. Par exemple, si on recherche le mot « Production » dans notre plage de données, il suffit de suivre la formule ci-dessous.
=NB.SI(E3:E11;"Production")
--> Nb de "Production"
=NB.SI(E3:E11;A1)
--> A1 contient la valeur "Production"
Compter le nombre de cellules contenant une partie du texte
Parfois, on veut compter le nombre de cellules contenant une partie du texte. Par exemple, si nous avons une liste de matériel de bureau, nous pouvons vouloir compter toutes les chaines peu importe la référence. Si toutes les cellules contiennent le terme « chaise », il suffira de placer de chaque côté des astérix : "*chaise*"
.
L’astérix fait partie des caractères génériques permettant d’avoir des critères plus complexes sur la recherche de textes.
=NB.SI(E3:E11;"*Prod*")
--> Nb de cellules ayant "Prod" dans leur texte
=NB.SI(E3:E11;"*"&A1&"*")
--> A1 contient la valeur "Prod"
Compter le nombre de cellules contenant un texte différent
Pour compter le nombre de cellules qui ne contient pas un texte précis, il suffit de mettre l’opérateur logique "<>"
devant le terme. Ainsi, nous précisons à Excel que nous voulons compter toutes les cellules qui ne contiennent pas un terme précis.
=NB.SI(E3:E11;"<>Production")
--> Nb de valeurs différentes de "Production"
=NB.SI(E3:E11;"<>"&A1)
--> A1 contient la valeur "Production"
Comme dans la section précédente, il est possible de compter des cellules dont une partie du texte ne contient pas une chaine de caractère précise. Pour cela, on va combiner les astérix et l’opérateur logique.
=NB.SI(E3:E11;"<>*Prod*")
--> Nb de valeurs qui ne contiennent pas "Production"
=NB.SI(E3:E11;"<>*"&A1&"*")
--> A1 contient la valeur "Prod"
Compter le nombre de cellules commençant par
Pour compter le nombre de cellules commençant par une chaine de caractère précise, on va se servir de l’astérix. Il faudra indiquer entre guillemets la chaine de caractères suivi de l’astérix.
=NB.SI(E3:E11;"Production*")
--> Nb de valeurs commençant par "Production"
=NB.SI(E3:E11;A1&"*")
--> A1 contient la valeur "Production"
Compter le nombre de cellules ne commençant pas par
Pour compter le nombre de cellules ne commençant pas par une chaine de caractère précise, on va se servir de l’astérix ainsi que des opérateurs logiques "<>"
. Il faudra indiquer entre guillemets les opérateurs logiques puis la chaine de caractères suivie de l’astérix.
=NB.SI(E3:E11;"<>Production*")
--> Nb de valeurs commençant par "Production"
=NB.SI(E3:E11;"<>"&A1&"*")
--> A1 contient la valeur "Production"
Compter le nombre de cellules se terminant par
Pour compter le nombre de cellules se terminant par une chaine de caractère précise, on va se servir de l’astérix. Il faudra indiquer entre guillemets l’astérix suivi de la chaine de caractères.
=NB.SI(E3:E11;"*Production")
--> Nb de valeurs se terminant par "Production"
=NB.SI(E3:E11;"*"&A1)
--> A1 contient la valeur "Production"
Compter le nombre de cellules ne se terminant pas par
Pour compter le nombre de cellules ne se terminant pas par une chaine de caractère précise, on va se servir de l’astérix et des opérateurs logiques "<>"
. Il faudra indiquer entre guillemets les opérateurs logiques et l’astérix suivis de la chaine de caractères.
=NB.SI(E3:E11;"<>*Production")
--> Nb de valeurs se terminant par "Production"
=NB.SI(E3:E11;"<>*"&A1)
--> A1 contient la valeur "Production"
Compter le nombre de cellules contenant un nombre précis de caractères
Il peut arriver que vous vouliez compter les cellules contenant un nombre précis de caractères. Pour cela, nous allons nous servir du caractère générique "?"
. Chaque point d’interrogation indique à Excel un caractère (peu importe le caractère). Si je recherche les cellules contenant 5 caractères, je vais utiliser la syntaxe suivante :
=NB.SI(E3:E11;"?????")
--> Nb de cellules contenant 5 caractères
Compter le nombre de cellules contenant un texte avec ou sans accent
Pour compter des cellules contenant un mot avec ou sans accent, nous allons indiquer à Excel un schéma de recherche grâce au caractère générique "?"
. Avec la syntaxe « salari?s » nous disons à Excel que « salariés » et « salaries » sont des valeurs valables. Cependant, il en sera de même pour « salarias » ou « salari2s ».
=NB.SI(E3:E11;"salari?s")
--> Nb de cellules contenant "salaries" ou "salariés"
La fonction NB.SI avec des nombres
Compter les cellules contenant une valeur spécifique
Pour compter les cellules qui contiennent une valeur précise, il suffit de suivre la syntaxe suivante :
=NB.SI(E3:E11;2000) --> Nb de cellules contenant 2000
=NB.SI(E3:E11;A1) --> A1 contient la valeur 2000
Compter les cellules avec une valeur supérieure à
Pour compter les cellules contenant une valeur supérieure à un nombre clairement défini, il faudra vous servir de l’opérateur logique ">"
. Pour indiquer que vous voulez une valeur supérieure ou égale, il faudra combiner deux opérateurs de la façon suivante ">="
.
=NB.SI(E3:E11;">"&2000)
=NB.SI(E3:E11;">2000")
--> Nb de cellules supérieures à 2000
=NB.SI(E3:E11;">="&2000)
=NB.SI(E3:E11;">=2000")
--> Nb de cellules supérieures ou égales à 2000
=NB.SI(E3:E11;">="&A1)
--> A1 contient la valeur 2000
Compter les cellules avec une valeur inférieure à
Pour compter les cellules contenant une valeur inférieure à un nombre clairement défini, il faudra vous servir de l’opérateur logique "<"
. Pour indiquer que vous voulez une valeur inférieure ou égale, il faudra combiner deux opérateurs de la façon suivante "<="
.
=NB.SI(E3:E11;"<"&2000)
=NB.SI(E3:E11;"<2000")
--> Nb de cellules inférieures à 2000
=NB.SI(E3:E11;"<="&2000)
=NB.SI(E3:E11;"<=2000")
--> Nb de cellules inférieures ou égales à 2000
=NB.SI(E3:E11;"<="&A1)
--> A1 contient la valeur 2000
Compter les cellules avec une valeur différente de
Pour compter les cellules avec une valeur différente d’un montant, vous devez vous servir des opérateurs logiques de la façon suivant "<>mon_montant"
.
=NB.SI(E3:E11;"<>"&2000)
--> Nb de cellules différentes de 2000
=NB.SI(E3:E11;"<>2000")
--> Nb de cellules différentes de 2000
=NB.SI(E3:E11;"<>"&A1)
--> A1 contient la valeur 2000
La fonction NB.SI avec des dates
Compter les cellules contenant une date spécifique
Pour compter les cellules qui contiennent une date précise, il suffit de suivre la syntaxe suivante :
=NB.SI(E3:E11;"01/01/2023")
=NB.SI(E3:E11;DATE(2023;1;1))
--> Nb de cellules contenant la date 01/01/2023
=NB.SI(E3:E11;A1)
--> A1 contient la date 01/01/2023
Je préfère me servir de la fonction DATE pour préciser la date voulue. Sur certains fichiers, Excel passe en date au format américain et les jours et mois sont inversés. Avec la fonction DATE, notre dessein est clairement défini.
Compter les cellules avec une date supérieure à
Pour compter les cellules avec une date supérieure à la date que vous aurez définie, il faut vour servir de l’opérateur logique ">"
. N’oubliez pas d’intégrer le &
pour lier votre opérateur et la date.
Pour indiquer que vous voulez une date supérieure ou égale, il faudra combiner deux opérateurs de la façon suivante ">="
.
=NB.SI(E3:E11;">01/01/2023")
=NB.SI(E3:E11;">"&DATE(2023;1;1))
--> Nb de cellules avec date supérieure au 01/01/2023
=NB.SI(E3:E11;">"&A1)
--> A1 contient la date 01/01/2023
=NB.SI(E3:E11;">=01/01/2023")
=NB.SI(E3:E11;">="&DATE(2023;1;1))
--> Nb de cellules avec date supérieure ou égale au 01/01/2023
=NB.SI(E3:E11;">="&A1)
--> A1 contient la date 01/01/2023
Compter les cellules avec une date inférieure à
Pour compter les cellules avec une date inférieure à la date que vous aurez définie, il faut vour servir de l’opérateur logique "<"
. N’oubliez pas d’intégrer le &
pour lier votre opérateur et la date.
Pour indiquer que vous voulez une date inférieure ou égale, il faudra combiner deux opérateurs de la façon suivante "<="
.
=NB.SI(E3:E11;"<01/01/2023")
=NB.SI(E3:E11;"<"&DATE(2023;1;1))
--> Nb de cellules avec date inférieure au 01/01/2023
=NB.SI(E3:E11;"<=01/01/2023")
=NB.SI(E3:E11;"<="&DATE(2023;1;1))
--> Nb de cellules avec date inférieure ou égale au 01/01/2023
=NB.SI(E3:E11;"<="&A1)
--> A1 contient la date 01/01/2023
Compter les cellules avec une date différente de
Si vous voulez compter les cellules ne contenant pas une date clairement définie, vous devez utiliser les opérateurs logiques « <> ».
=NB.SI(E3:E11;"<>01/01/2023")
=NB.SI(E3:E11;"<>"&DATE(2023;1;1))
--> Nb de cellules ne contenant pas le 01/01/2023
=NB.SI(E3:E11;"<>"&A1)
--> A1 contient la date 01/01/2023
La fonction NB.SI avec des cellules vides
Compter le nombre de cellules vides
La fonction NB.SI peut compter le nombre de cellules vides. La formule ci-dessous compte le nombre de cellules vides dans la plage de données E3:E11
.
=NB.SI(E3:E11;"")
--> Nb de cellules vides
Compter le nombre de cellules non vides
Avec la fonction NB.SI vous pouvez compter le nombre de cellules non vides. Voici la syntaxe :
=NB.SI(E3:E11;"<>")
--> Nb de cellules vides
La fonction NB.SI avec la logique OU
La fonction NB.SI permet de définir un seul critère. Cependant, il est possible de définir une liste de valeurs possibles. Par exemple, si je veux compter le nombre de cellules contenant la valeur « Production » ou la valeur « Bureau d’études », je vais utiliser la formule suivante.
=SOMME(NB.SI(E3:E11,{"Production","Bureau d'études"}))
--> Nb de cellules contenant "Production" ou "Bureau d'études"
Pour que la formule fonctionne, il faut la combiner à la fonction SOMME. Il faut également utiliser un argument matriciel.
Les limites de la fonction NB.SI
La fonction NB.SI se révèlera insuffisante dans certains cas :
- Compter des valeurs avec plusieurs critères. Il vaudra mieux utiliser la fonction NB.SI.ENS ou voir les autres solutions en lien avec la fonction NB.SI plusieurs critères.
- La fonction NB.SI n’est pas sensible à la casse. Si vous voulez un comptage avec une sensibilité à la casse, il faudra utiliser la fonction EXACT.
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 le nombre de cellules contenant une partie du texte (mot, caractère)
- Compter nombre de valeurs texte différentes
- Compter le nombre de cellules non vides
- Trouver des doublons avec NB.SI
- 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
Fonctions en lien
- NB
- NBVAL
- NB.SI.ENS
- GRANDE.VALEUR
- PETITE.VALEUR
- MAX
- MAX.SI.ENS
- MEDIANE
- MIN
- MIN.SI.ENS
- RANG
- MOYENNE
- MOYENNE.SI
- MOYENNE.SI.ENS