Fonction NB.SI

La fonction NB.SI est une fonction Excel permettant de compter le nombre de valeurs répondant à un critère dans une plage de données définie. On peut utiliser des opérateurs logiques pour définir des conditions plus complexes mais également des caractères génériques.

Télécharger le fichier
Utilisation de la fonction NB.SI - tutoriel de Cleex

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ère
  • critè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 (*, ?, ~).

TypeSyntaxeSignification
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“>”&2000Supérieur à 2000
“>=”&2000Supérieur ou égal à 2000
“<”&2000Inférieur à 2000
“<=”&2000Inférieur ou égal à 2000
2000Montant 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
Utilisation de la fonction NB.SI - tutoriel de Cleex

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

Fonctions en lien

4.9/5 - (14 votes)

Vous avez apprécié cet article ?

Pour me soutenir, cliquez sur cette publicité. Pas besoin d’acheter, un clic suffit.

Merci. 🤩

Annonces

Modèles Excel

+

Livret 

7 méthodes pour gagner 2H par semaine sur Excel

C’est gratuit 🤩

Formation Excel (100% finançable)

Un programme personnalisé, avec un formateur expert attitré et selon vos disponibilités.

Formations Excel

Parce que chacun devrait avoir les moyens de faire son travail sur Excel

Découvrez des formations accessibles, rapides et directement applicables.