À quoi servent NB.SI et NB.SI.ENS
NB.SI et NB.SI.ENS répondent à une question que vous vous posez sans cesse dans un tableur : combien de cellules respectent telle condition ? Plutôt que de filtrer manuellement et de compter à la main, ces deux fonctions vous donnent la réponse instantanément, et la recalculent à chaque fois que vos données changent.
NB.SI gère un seul critère. C'est la fonction historique, présente depuis les toutes premières versions d'Excel. Vous lui indiquez une plage de cellules et une condition, et elle renvoie le nombre de cellules qui correspondent. NB.SI.ENS, apparue avec Excel 2007, va plus loin : elle accepte plusieurs critères, sur plusieurs plages, combinés par un ET logique. Toutes les conditions doivent être vraies pour qu'une ligne soit comptée.
Ces fonctions sont au cœur du reporting et des tableaux de bord. Un commercial compte le nombre de commandes au-dessus d'un certain montant, un gestionnaire suit le nombre de dossiers en retard, un enseignant calcule le nombre d'élèves ayant la moyenne. À chaque fois, la logique est la même : compter selon une règle. Si vous travaillez déjà avec la fonction SI, vous retrouverez ici une logique conditionnelle voisine, mais appliquée au comptage.
Ne confondez pas compter et additionner. NB.SI vous dit combien de cellules respectent un critère ; SOMME.SI additionne les valeurs correspondantes. Pour le total des montants plutôt que leur nombre, c'est SOMME.SI qu'il vous faut, abordée plus loin dans ce guide.
La syntaxe de NB.SI et NB.SI.ENS
Les deux fonctions partagent une logique commune, mais leur structure diffère selon le nombre de critères. Voici comment les construire pas à pas.
NB.SI : un seul critère
La syntaxe de NB.SI tient en deux arguments seulement :
=NB.SI(plage; critère)
La plage est la zone de cellules à examiner, par exemple A1:A100. Le critère est la condition à respecter : une valeur, un texte ou une comparaison. La fonction renvoie le nombre de cellules de la plage qui satisfont ce critère.
Un exemple concret : pour compter combien de cellules de la colonne A contiennent une valeur supérieure à 10, vous écrivez =NB.SI(A1:A100; ">10"). Notez les guillemets autour de la comparaison : ils sont obligatoires, et c'est l'oubli le plus fréquent chez les débutants.
NB.SI.ENS : plusieurs critères
NB.SI.ENS fonctionne par paires plage/critère, et vous pouvez en aligner jusqu'à 127 :
=NB.SI.ENS(plage1; critère1; plage2; critère2; ...)
Chaque paire ajoute une condition, et toutes doivent être remplies simultanément. Par exemple, pour compter les lignes où la colonne A est supérieure à 10 ET la colonne B inférieure à 20 :
=NB.SI.ENS(A1:A100; ">10"; B1:B100; "<20")
Le ET est implicite : il n'y a pas de mot-clé à écrire. Une cellule n'est comptée que si elle respecte la première condition, la deuxième, et ainsi de suite. Un point de vigilance : toutes les plages doivent avoir exactement la même taille, faute de quoi Excel renvoie une erreur.
Des exemples concrets pour chaque cas
La meilleure façon d'assimiler ces fonctions reste de parcourir des situations réelles. Voici les usages que vous rencontrerez le plus souvent.
Compter selon une valeur exacte ou une comparaison
Vous pouvez compter sur du texte comme sur des nombres. Le tableau ci-dessous récapitule les formes les plus utiles.
| Formule | Ce qu'elle compte |
|---|---|
=NB.SI(A1:A100; "Validé") | Cellules contenant exactement le texte « Validé » |
=NB.SI(A1:A100; 100) | Cellules contenant le nombre 100 |
=NB.SI(A1:A100; ">100") | Cellules supérieures à 100 |
=NB.SI(A1:A100; "<=50") | Cellules inférieures ou égales à 50 |
=NB.SI(A1:A100; "<>0") | Cellules différentes de 0 |
Comparer à une cellule de référence
Souvent, le seuil n'est pas une valeur fixe mais le contenu d'une autre cellule. Si vous voulez compter les cellules égales à B1, écrivez simplement =NB.SI(A1:A100; B1). En revanche, dès que vous combinez un opérateur de comparaison avec une référence, vous devez les concaténer avec l'esperluette :
=NB.SI(A1:A100; ">"&B1)
Ici, Excel assemble le signe supérieur et la valeur de B1 pour former le critère. C'est un point technique majeur : sans l'esperluette, Excel chercherait littéralement le texte « >B1 » dans vos cellules, ce qui n'a aucun sens.
Compter les cellules vides ou non vides
Trois écritures couvrent ce besoin courant. =NB.SI(A1:A100; "") compte les cellules vides, =NB.SI(A1:A100; "<>") compte les cellules non vides, et =NBVAL(A1:A100) renvoie également le nombre de cellules non vides, qu'elles contiennent du texte ou des nombres.
Utiliser les jokers pour les recherches partielles
NB.SI accepte deux caractères génériques. L'astérisque * remplace n'importe quelle suite de caractères, le point d'interrogation ? remplace un seul caractère. C'est précieux pour compter des éléments qui se ressemblent sans être identiques.
=NB.SI(A1:A100; "Mar*") → tout ce qui commence par « Mar » (Marc, Marie, Martin)
=NB.SI(A1:A100; "*sport*") → tout ce qui contient « sport »
=NB.SI(A1:A100; "T?p") → mots de trois lettres : Top, Tip, Tap
Pour compter toutes les cellules contenant du texte, quel qu'il soit, utilisez =NB.SI(A1:A100; "*"). L'astérisque seul ne capture que le texte : les cellules contenant uniquement des nombres ne sont pas comptées, ce qui permet justement de distinguer les deux.
Compter des dates
Les dates étant des nombres pour Excel, vous les comparez de la même manière, en passant par la fonction DATE pour éviter toute ambiguïté de format. Pour compter les enregistrements postérieurs au 1ᵉʳ janvier 2026 :
=NB.SI(A1:A100; ">"&DATE(2026;1;1))
Envie de maîtriser vraiment Excel ?
Notre formation Excel vous fait passer du niveau débutant à un usage professionnel des formules, fonctions et tableaux croisés, en live avec un formateur dédié.
Trois cas pratiques en situation réelle
Au-delà des formules isolées, voyons comment ces fonctions s'articulent dans des contextes professionnels concrets.
Cas 1 : suivre des ventes par produit
Imaginez une liste de ventes, avec le nom du produit en colonne A et la quantité en colonne B. Pour savoir combien de ventes concernent les pommes, vous comptez les occurrences :
=NB.SI(A2:A100; "Pomme")
Cette formule vous donne le nombre de ventes. Si vous voulez le total des quantités vendues, vous changez de fonction et passez à SOMME.SI, =SOMME.SI(A2:A100; "Pomme"; B2:B100). C'est exactement la distinction que nous détaillons dans notre guide de la somme conditionnelle sous Excel.
Cas 2 : un suivi commercial multi-critères
Avec NB.SI.ENS, vous croisez plusieurs dimensions. Pour compter le nombre de commandes passées en France, au-dessus de 1 000 €, au mois de janvier, vous combinez trois conditions :
=NB.SI.ENS(Pays; "France"; Montant; ">1000"; Mois; "Janvier")
Chaque paire affine le comptage. C'est ce type de formule qui alimente les indicateurs d'un tableau de bord commercial, recalculés automatiquement à chaque nouvelle ligne saisie.
Cas 3 : repérer les doublons
NB.SI sert aussi à détecter les valeurs en double. En écrivant =NB.SI(A:A; A2) à côté de chaque ligne, vous obtenez le nombre de fois où la valeur de A2 apparaît dans toute la colonne. Un résultat supérieur à 1 signale un doublon. Combinée à une mise en forme conditionnelle, cette approche met en évidence d'un coup d'œil les enregistrements répétés dans une grande liste.
Les erreurs fréquentes et comment les éviter
Quatre maladresses reviennent constamment. Les connaître vous fait gagner un temps précieux.
Oublier les guillemets autour des comparaisons. Écrire =NB.SI(A1:A100; >10) renvoie une erreur de syntaxe. Les opérateurs de comparaison (supérieur, inférieur, différent) doivent toujours être placés entre guillemets, sous la forme ">10".
Concaténer une référence de cellule sans l'esperluette. La formule =NB.SI(A1:A100; ">B1") cherche le texte littéral « >B1 », ce qui ne renvoie jamais rien d'utile. La bonne écriture est =NB.SI(A1:A100; ">"&B1), qui compare bien à la valeur de B1.
Utiliser des plages de tailles différentes dans NB.SI.ENS. Si la première plage couvre 100 lignes et la seconde seulement 50, Excel refuse de calculer. Toutes les plages d'une même formule NB.SI.ENS doivent avoir un nombre de lignes et de colonnes identique.
Obtenir 0 alors que des cellules correspondent visiblement. Plusieurs causes possibles : des espaces invisibles dans les cellules, que vous nettoyez avec SUPPRESPACE ; un décalage de format, lorsqu'un nombre est en réalité stocké comme texte ; ou une simple faute dans le critère. Inspectez la cellule avec attention, le problème vient presque toujours de la donnée, pas de la formule.
NB.SI.ENS ne sait pas faire de OU. Pour compter les lignes correspondant à « France » OU à « Espagne », additionnez deux NB.SI : =NB.SI(A1:A100; "France") + NB.SI(A1:A100; "Espagne"). Le ET est natif, le OU se construit à la main.
En résumé
NB.SI et NB.SI.ENS comptent parmi les fonctions les plus utiles d'Excel pour quiconque manipule des données. NB.SI répond à une condition unique, NB.SI.ENS en combine plusieurs, et l'ensemble s'appuie sur quelques règles simples : les guillemets autour des comparaisons, l'esperluette pour les références, des plages de même taille et le bon usage des jokers. Une fois ces réflexes acquis, vous passez du comptage manuel à des tableaux de bord qui se mettent à jour tout seuls.
Ces fonctions ne sont qu'une porte d'entrée. Une formation structurée vous fait gagner des mois de tâtonnement et vous donne une méthode applicable immédiatement à vos propres fichiers. C'est l'objet de notre formation Excel : formules, fonctions de comptage et de recherche, tableaux croisés dynamiques, le tout 100 % à distance et en live, avec un formateur dédié. Inscription immédiate, démarrage rapide, paiement en 3× sans frais. Pour aller plus loin dès maintenant, parcourez notre guide complet de la fonction SI et notre guide de la somme sous Excel.




