NB.SI dans Excel : syntaxe, exemples et erreurs
Mis à jour le 2026-10-13 · Gratuit · Compatible Excel et Google Sheets
Syntaxe
=NB.SI(plage, critère)Réponse rapide
NB.SI compte les cellules d’une plage qui remplissent une condition : =NB.SI($D$2:$D$500 ; ">100") renvoie le nombre de cellules contenant un nombre supérieur à 100. La fonction compare aussi du texte, des dates et des jokers, sans distinguer majuscules et minuscules. Un résultat de 0 signifie le plus souvent des nombres stockés en texte ou des critères sans guillemets.
Syntaxe
=NB.SI(plage, critère)| Argument | Ce que ça signifie |
|---|---|
| plage | Les cellules à évaluer : une seule colonne ou ligne, p. ex. $D$2:$D$500. |
| critère | La condition que la cellule doit remplir : un nombre, du texte entre guillemets, une comparaison comme ">100" ou une référence de cellule comme D2. |
Selon vos paramètres régionaux, les arguments sont séparés par des points-virgules au lieu de virgules : =NB.SI($D$2:$D$500 ; ">100"). C’est la norme en France et dans les pays où la virgule est le séparateur décimal.
Exemples de base
=NB.SI($D$2:$D$500 ; ">100")Compte les ventes supérieures à 100. Les opérateurs de comparaison (>, >=, <, <>) vont toujours dans la chaîne entre guillemets, collés au nombre.
=NB.SI($C$2:$C$500 ; "New York")Compte les cellules contenant exactement « New York ». Les critères texte exigent toujours des guillemets doubles, et la comparaison ignore la casse : « new york » compte pareil.
=NB.SI($B$2:$B$500 ; ">2026-01-01")Compte les dates postérieures au 1er janvier 2026. La comparaison reste dans les guillemets ; les cellules doivent contenir de vraies dates, pas du texte qui y ressemble.
=NB.SI($A$2:$A$500 ; "*@gmail.com")Compte les e-mails qui se terminent par @gmail.com. Le joker * remplace un nombre quelconque de caractères, ? un seul, et ~ échappe un * ou ? littéral.
Le classique contrôle des doublons repose sur NB.SI : =NB.SI($A$2:$A$500 ; A2)>1 renvoie VRAI pour chaque valeur qui apparaît plus d’une fois. Copiez-le à côté de la colonne et filtrez les VRAI pour voir tous les doublons.
Erreurs fréquentes et solutions
| Symptôme | Cause la plus fréquente | Solution |
|---|---|---|
| #NOM? | NB.SI est mal orthographié — ou votre Excel est dans une autre langue, où la fonction porte un nom localisé (COUNTIF en anglais, CONTAR.SI en espagnol, ZÄHLENWENN en allemand). | Tapez =NB( et laissez l’autocomplétion compléter le nom, ou ouvrez le fichier dans la version d’Excel correspondant à la langue. |
| Le résultat vaut toujours 0 | Nombres stockés en texte, espaces invisibles en fin de cellule ou critères sans guillemets (">100" doit inclure les guillemets). | Convertissez les nombres stockés en texte, nettoyez les espaces et gardez le critère entre guillemets doubles. |
| Le texte ne correspond jamais | Les cellules traînent des espaces invisibles : pour NB.SI, « NYC » suivi d’une espace et « NYC » sont deux chaînes différentes. La casse n’est jamais le problème — les espaces le sont. | NB.SI ignore la casse mais pas les espaces : supprimez les espaces de toute la colonne avant de compter. |
| Les dates ne sont jamais comptées | Les « dates » sont du texte importé d’un autre système, donc ">2026-01-01" ne correspond jamais. | Convertissez d’abord la colonne en vraies dates — un critère de date ne fonctionne que sur de vraies valeurs de date. |
Les espaces en fin de cellule sont ici aussi le tueur silencieux : le compte revient plus court sans aucun message d’erreur. Nettoyez toute la colonne en un clic avant de compter.
NB.SI face à NB.SI.ENS
| NB.SI | NB.SI.ENS | |
|---|---|---|
| Conditions par formule | Une | De deux à 127 |
| Combine des conditions avec ET | Non | Oui |
| Plage différente par condition | — | Oui, à condition que les plages aient la même taille |
| Disponible dans | Toutes les versions d’Excel (et Google Sheets) | Excel 2007+ (et Google Sheets) |
=NB.SI.ENS($C$2:$C$500 ; "New York" ; $D$2:$D$500 ; ">100")Passez à NB.SI.ENS dès que deux conditions doivent être vraies en même temps — des ventes supérieures à 100 à New York, par exemple. NB compte uniquement des nombres et NBVAL compte les cellules non vides ; NB.SI et NB.SI.ENS couvrent tout le conditionnel.
NB.SI dans Google Sheets
Google Sheets propose NB.SI (écrite COUNTIF là-bas) avec les mêmes arguments qu’Excel : les formules ci-dessus fonctionnent telles quelles une fois collées.
- Opérateurs de comparaison, jokers et comparaison insensible à la casse se comportent à l’identique dans Sheets.
- Dans les paramètres régionaux où la virgule est le séparateur décimal (une grande partie de l’Europe et de l’Amérique latine), tapez des points-virgules entre les arguments : =NB.SI($D$2:$D$500 ; ">100"). Excel se comporte pareil.
- Google Sheets propose aussi NB.SI.ENS avec les mêmes règles : les comptages multi-conditions marchent pareil dans les deux applications.
- Sheets ajoute COUNTUNIQUE, qui compte directement les valeurs distinctes ; dans Excel, cela demande une astuce SOMMEPROD ou un outil dédié.
Limites et conseils avancés
- NB.SI ne peut pas comparer deux plages ligne à ligne (compter où D est supérieur à E) — il faut SOMMEPROD(($D$2:$D$500>$E$2:$E$500)*1).
- Une seule condition. Pour une logique OU, additionnez deux NB.SI : =NB.SI(plage ; ">100")+NB.SI(plage ; "<0").
- Impossible de compter par couleur de cellule : filtrez par couleur et lisez la barre d’état, ou ajoutez une colonne auxiliaire.
- Verrouillez les plages avec $ ($D$2:$D$500) pour qu’elles ne glissent pas quand vous recopiez la formule vers le bas.
- Compter les valeurs uniques avec NB.SI seul est maladroit et lent sur les grandes plages : extrayez plutôt les valeurs uniques avec un outil.
Compter les doublons n’est que la première étape : une fois repérés, supprimez-les en une passe. Les outils gratuits ci-dessous s’en chargent sans formules.
Outils associés
Fonctions associées
Questions fréquentes
Que fait NB.SI dans Excel ?
Elle compte les cellules d’une plage qui remplissent une seule condition — des nombres au-dessus d’un seuil, un texte exact, des dates avant une échéance ou des motifs avec jokers : =NB.SI($D$2:$D$500 ; ">100"). La comparaison ignore la casse et une formule ne traite qu’une seule condition.
Comment compter les cellules supérieures à un nombre ?
Mettez l’opérateur dans le critère entre guillemets : =NB.SI($D$2:$D$500 ; ">100"). Les guillemets sont obligatoires — sans eux, Excel lit >100 comme une formule non valide. Pour « supérieur ou égal », utilisez >= ; pour coller une référence de cellule, utilisez & : ">"&D1.
Pourquoi NB.SI renvoie-t-elle 0 ?
Presque toujours un problème de données, pas de formule : nombres stockés en texte, espaces invisibles ou critères sans guillemets. Convertissez les nombres avec CNUM(), nettoyez les espaces et vérifiez que « New York » est bien entre guillemets doubles.
NB.SI distingue-t-elle les majuscules ?
Non — NB.SI traite « NYC », « nyc » et « Nyc » comme la même valeur. Si vous avez vraiment besoin de distinguer la casse, utilisez SOMMEPROD avec EXACT : =SOMMEPROD(--EXACT(plage ; "NYC")).
Comment utiliser les jokers dans NB.SI ?
* remplace un nombre quelconque de caractères et ? exactement un : =NB.SI($A$2:$A$500 ; "*@gmail.com") compte les adresses Gmail. Pour chercher un astérisque ou un point d’interrogation littéral, échappez-le avec un tilde : ~* ou ~?.
Quand utiliser NB.SI.ENS plutôt que NB.SI ?
Dès que deux conditions ou plus doivent être vraies ensemble : =NB.SI.ENS($C$2:$C$500 ; "New York" ; $D$2:$D$500 ; ">100"). NB.SI traite une condition ; NB.SI.ENS en accepte de 2 à 127 et fonctionne dans Excel 2007+ et Google Sheets.
NB.SI fonctionne-t-elle dans Google Sheets ?
Oui, écrite là-bas COUNTIF, avec les mêmes arguments, jokers et comparaison insensible à la casse. Seul le séparateur change dans les paramètres régionaux à virgule décimale, où l’on tape des points-virgules : =COUNTIF($D$2:$D$500 ; ">100").
Prêt à l’essayer avec votre propre fichier ?
Ouvrir Supprimer les doublons Excel — c’est gratuit