ElyxAI

NB.SI : La formule Excel pour compter les cellules selon vos critères

Débutant
=NB.SI(plage; critère)

La formule NB.SI est l'une des fonctions les plus essentielles d'Excel pour analyser et synthétiser des données. Elle permet de compter automatiquement le nombre de cellules dans une plage qui répondent à un critère spécifique, qu'il soit numérique, textuel ou basé sur une condition logique. Cette fonction est indispensable pour les professionnels travaillant avec des données volumineuses, qu'ils soient dans la finance, les ressources humaines, la gestion de projets ou le commerce. Au-delà de son utilité basique, NB.SI offre une flexibilité remarquable. Vous pouvez l'utiliser pour compter les valeurs supérieures à un seuil, identifier les doublons, analyser les tendances de ventes, ou encore contrôler la qualité des données. Maîtriser cette formule vous permettra de créer des tableaux de bord dynamiques et des rapports automatisés qui gagneront un temps précieux à votre équipe. Dans ce guide complet, nous vous expliquons la syntaxe exacte, les pièges courants à éviter, et surtout, comment appliquer NB.SI dans des contextes réels pour optimiser votre productivité avec Excel.

Syntaxe et paramètres

La syntaxe de NB.SI est simple mais puissante : =NB.SI(plage; critère). Le premier paramètre, 'plage', désigne l'ensemble des cellules que vous souhaitez analyser. Cette plage peut être une colonne entière (A:A), un intervalle précis (A1:A100), ou même une plage nommée pour plus de clarté. Le deuxième paramètre, 'critère', définit la condition que les cellules doivent satisfaire pour être comptées. Le critère peut prendre plusieurs formes. Pour des nombres, vous pouvez utiliser des opérateurs de comparaison : ">100" compte les valeurs supérieures à 100, "<50" les inférieures à 50, ou "=25" pour une égalité exacte. Pour du texte, vous pouvez rechercher une chaîne exacte comme "Paris" ou utiliser des caractères génériques : "*france*" trouvera toutes les cellules contenant ce mot. Vous pouvez également référencer une cellule contenant le critère, ce qui rend votre formule dynamique : =NB.SI(A:A;B1) comptera les occurrences de la valeur en B1. Un conseil pratique : toujours placer les critères textuels entre guillemets, sauf s'ils proviennent d'une référence cellulaire. Les critères numériques avec opérateurs doivent aussi être entre guillemets (">=100"). Cette fonction ignore les cellules vides et traite les majuscules/minuscules comme identiques pour le texte.

range
Plage de cellules à évaluer
criteria
Critère pour compter les cellules

Exemples pratiques

Compter les ventes dépassant un seuil

=NB.SI(B2:B50;">500")

Cette formule parcourt la plage B2:B50 contenant les montants de ventes et compte uniquement celles dépassant 500€. L'opérateur ">" avec guillemets permet une comparaison numérique précise.

Compter les employés d'un département spécifique

=NB.SI(C2:C100;"Marketing")

Cette formule compte toutes les cellules de la colonne Département (C2:C100) contenant exactement le texte 'Marketing'. Elle ignore les variantes de casse et les espaces supplémentaires.

Compter les produits en rupture de stock

=NB.SI(D2:D200;"<=10")

Cette formule analyse la colonne Stock et compte tous les produits ayant 10 unités ou moins. Utile pour automatiser les alertes de réapprovisionnement dans un tableau de bord.

Points clés à retenir

  • NB.SI est la fonction de base pour compter les cellules selon un critère unique ; sa syntaxe simple =NB.SI(plage;critère) la rend accessible à tous les niveaux
  • Les critères doivent être entre guillemets s'ils contiennent du texte ou des opérateurs, sauf s'ils proviennent d'une référence cellulaire
  • Pour plusieurs critères, utilisez NB.SI.ENS (COUNTIFS) ; NB.SI est limité à un seul critère par conception
  • Les caractères génériques (* et ?) offrent une flexibilité puissante pour les recherches partielles de texte
  • Combinée avec d'autres fonctions comme SI, SOMME ou INDIRECT, NB.SI devient un outil d'analyse très puissant pour les tableaux de bord professionnels

Astuces de pro

Utilisez des plages nommées pour rendre vos formules plus lisibles et maintenables. Au lieu de =NB.SI(A1:A1000;critère), créez une plage nommée 'Ventes' et écrivez =NB.SI(Ventes;critère).

Impact : Améliore la clarté du classeur, facilite les audits, et permet de modifier rapidement les plages sans toucher aux formules.

Combinez NB.SI avec des listes déroulantes pour créer des tableaux de bord interactifs. Mettez le critère dans une cellule avec validation de données, puis référencez-la dans NB.SI.

Impact : Permet aux utilisateurs non-techniques de modifier les critères sans toucher aux formules, rendant votre classeur plus accessible.

Pour éviter les erreurs #VALUE!, testez d'abord votre critère avec une cellule test. Écrivez la condition dans une cellule pour vérifier qu'elle est valide avant de l'intégrer dans NB.SI.

Impact : Réduit les bugs et économise du temps de débogage, surtout sur des critères complexes avec des caractères génériques.

Utilisez des références absolues ($) pour les plages si vous copiez votre formule : =NB.SI($A$2:$A$100;B2). Cela permet de copier la formule horizontalement sans que la plage ne change.

Impact : Permet de créer facilement des tableaux comparatifs avec plusieurs colonnes de critères sans refaire chaque formule manuellement.

Combinaisons utiles

NB.SI + SOMME pour un ratio

=NB.SI(B2:B50;">500")/SOMME(B2:B50)

Cette combinaison calcule le pourcentage de transactions importantes par rapport au total. Elle compte les ventes > 500€ et les divise par la somme totale pour obtenir un ratio d'importance.

NB.SI + SI pour un message conditionnel

=SI(NB.SI(A2:A100;"Retard")>5;"Attention : trop de retards";"Situation normale")

Cette formule affiche un message d'alerte si le nombre de 'Retard' dépasse 5. Parfait pour les tableaux de bord qui nécessitent des alertes visuelles.

NB.SI + INDIRECT pour des plages dynamiques

=NB.SI(INDIRECT("A"&LIGNE():"A"&LIGNE()+99);critère)

Cette combinaison crée une plage dynamique qui s'ajuste en fonction de la ligne courante. Utile pour les modèles qui se répètent ou les rapports automatisés.

Erreurs courantes

#VALUE!

Cause : Le critère n'est pas correctement formaté. Par exemple, oublier les guillemets autour d'un critère textuel : =NB.SI(A:A;Paris) au lieu de =NB.SI(A:A;"Paris").

Solution : Vérifiez que tous les critères textuels et les opérateurs sont entre guillemets. Pour les références cellulaires, n'utilisez pas de guillemets : =NB.SI(A:A;B1) est correct.

#REF!

Cause : La plage référencée a été supprimée ou déplacée. Par exemple, si vous supprimez la colonne A et que votre formule contenait =NB.SI(A:A;critère), elle affichera cette erreur.

Solution : Recréez la formule en pointant vers la bonne plage. Utilisez des plages nommées pour éviter ce problème lors de restructurations futures.

Résultat 0 inattendu

Cause : Le critère ne correspond à aucune donnée, souvent à cause d'une différence de format (texte vs nombre) ou d'espaces invisibles. Par exemple, chercher "100" (texte) dans une colonne contenant des nombres 100.

Solution : Utilisez la fonction TRIM() pour supprimer les espaces : =NB.SI(TRIM(A:A);critère). Vérifiez aussi le format des cellules (Format > Cellules) pour garantir la cohérence.

Checklist de dépannage

  • 1.Vérifiez que tous les critères textuels sont entre guillemets ("texte") et que les opérateurs sont aussi entre guillemets (">=100")
  • 2.Contrôlez le format des cellules : assurez-vous que les nombres sont formatés en nombres et le texte en texte, pas l'inverse
  • 3.Utilisez TRIM() si vous suspectez des espaces invisibles : =NB.SI(TRIM(A:A);critère)
  • 4.Testez votre critère dans une cellule séparée pour confirmer qu'il est syntaxiquement correct avant de l'utiliser dans NB.SI
  • 5.Vérifiez que la plage inclut toutes les données pertinentes et qu'aucune colonne n'a été supprimée (cause #REF!)
  • 6.Pour les caractères génériques, rappelez-vous que * = plusieurs caractères et ? = un seul caractère

Cas particuliers

Compter les cellules contenant des valeurs booléennes (VRAI/FAUX)

Comportement : NB.SI peut compter les booléens en utilisant VRAI ou FAUX comme critère : =NB.SI(A:A;VRAI) compte les cellules TRUE

Solution : Utilisez =NB.SI(A:A;VRAI) pour VRAI ou =NB.SI(A:A;FAUX) pour FAUX, sans guillemets car ce ne sont pas des textes

Les booléens résultant de formules (comme =A1>5) peuvent être comptés directement

Compter les cellules avec des espaces uniquement (pas vraiment vides)

Comportement : NB.SI(A:A;"") ne compte pas les cellules contenant uniquement des espaces, car elles ne sont pas techniquement vides

Solution : Utilisez =NB.SI(TRIM(A:A);"") pour d'abord supprimer les espaces, puis compter les véritablement vides

C'est une source courante de confusion ; les données importées d'autres systèmes contiennent souvent ces espaces invisibles

Compter les cellules avec des nombres stockés en tant que texte

Comportement : NB.SI(A:A;">100") ne compte pas les nombres stockés en texte, même s'ils semblent numériques à l'écran

Solution : Convertissez le texte en nombres avec VALEUR() : =SUMPRODUCT((VALEUR(A:A)>100)*1) ou utilisez Find & Replace pour convertir la colonne

Vérifiez toujours l'alignement des cellules : les nombres sont alignés à droite, le texte à gauche

Limitations

  • NB.SI n'accepte qu'un seul critère à la fois. Pour plusieurs critères, vous devez utiliser NB.SI.ENS ou des formules plus complexes comme SUMPRODUCT.
  • La fonction ne peut pas compter les cellules répondant à des conditions basées sur plusieurs colonnes simultanément (par exemple, compter les lignes où colonne A > 100 ET colonne B < 50 en une seule formule NB.SI).
  • NB.SI n'est pas sensible à la casse, ce qui peut être une limitation si vous avez besoin de distinguer 'Paris' de 'PARIS' ; vous devrez alors utiliser SUMPRODUCT avec EXACT.
  • La fonction traite les caractères génériques (*, ?) comme des caractères littéraux si vous les échappez mal, et elle ne peut pas effectuer de recherches par expression régulière comme certains autres outils.

Alternatives

Offre une flexibilité supérieure avec des conditions multiples et des calculs personnalisés. Syntaxe : =SUMPRODUCT((A:A>100)*1)

Quand : Quand vous avez besoin de combiner plusieurs critères complexes ou d'effectuer des calculs avancés basés sur les résultats.

Permet de compter avec plusieurs critères simultanément sur différentes plages, plus intuitive que SUMPRODUCT.

Quand : Quand vous devez appliquer plusieurs conditions, par exemple compter les ventes > 500€ ET dans la région 'Île-de-France'.

Fonction moderne qui retourne un tableau filtré au lieu de simplement compter, offrant plus de possibilités d'analyse.

Quand : Pour les utilisateurs d'Excel 365 qui veulent non seulement compter mais aussi afficher les données filtrées directement.

Compatibilité

Excel

Depuis 2007

=NB.SI(plage;critère) - Disponible dans toutes les versions modernes d'Excel (2007, 2010, 2013, 2016, 2019, 365)

Google Sheets

=COUNTIF(range;criterion) - Syntaxe identique en anglais, fonctionne de la même manière

Google Sheets utilise COUNTIF au lieu de NB.SI, mais la logique est rigoureusement identique. Les critères et caractères génériques fonctionnent pareil.

LibreOffice

=COUNTIF(plage;critère) - Syntaxe française COUNTIF ou NB.SI selon la localisation, même fonctionnement qu'Excel

Questions fréquentes

Vous trouvez NB.SI limitée pour vos analyses ? Découvrez comment ElyxAI vous aide à créer des formules Excel complexes en quelques secondes et à automatiser vos rapports. Explorez nos solutions intelligentes pour maîtriser Excel comme jamais auparavant.

Explorer Mathématiques et trigonométrie

Formules connexes