NB.SI.ENS : La Formule Excel pour Compter avec Plusieurs Critères Simultanés
=NB.SI.ENS(plage_critère1; critère1; [plage_critère2; critère2]; ...)La formule NB.SI.ENS est l'une des fonctions les plus puissantes d'Excel pour analyser des données complexes. Contrairement à NB.SI qui ne gère qu'un seul critère, NB.SI.ENS permet de compter les cellules qui satisfont simultanément plusieurs conditions, ce qui en fait un outil indispensable pour les analystes de données et les gestionnaires de projets. Cette fonction est particulièrement utile dans les environnements professionnels où les données doivent être filtrées selon plusieurs paramètres : ventes par région ET par période, produits en stock ET au-dessus d'un seuil, ou employés avec un certain statut ET un salaire spécifique. La flexibilité de NB.SI.ENS réside dans sa capacité à gérer jusqu'à 127 paires critère/plage, offrant une granularité exceptionnelle dans l'analyse. Disponible depuis Excel 2007, elle s'est imposée comme un standard incontournable pour les utilisateurs avancés. Que vous travailliez avec des bases de données commerciales, des inventaires complexes ou des rapports RH, comprendre cette formule transformera votre productivité et la qualité de vos analyses.
Syntaxe et paramètres
La syntaxe de NB.SI.ENS suit un modèle répétitif et logique : =NB.SI.ENS(plage_critère1; critère1; [plage_critère2; critère2]; ...). Le premier paramètre obligatoire est plage_critère1, qui désigne la première plage de cellules à évaluer selon le critère spécifié. Le paramètre critère1 définit la condition à satisfaire : il peut s'agir d'une valeur exacte ("Terminé"), d'une comparaison numérique (>100), d'une plage de dates, ou même d'une référence à une cellule contenant la condition. Les paramètres suivants (plage_critère2, critère2, etc.) sont optionnels mais constituent la véritable puissance de la fonction : ils permettent d'ajouter autant de conditions supplémentaires que nécessaire, toutes devant être satisfaites simultanément (logique ET). Important : toutes les plages_critère doivent avoir exactement la même dimension, sinon Excel retourne une erreur #VALUE!. Les critères peuvent utiliser des opérateurs comme >, <, >=, <=, <> ou des jokers (* pour plusieurs caractères, ? pour un seul caractère). Cette flexibilité permet des analyses nuancées et adaptées à pratiquement tous les scénarios d'entreprise.
criteria_range1criteria1Exemples pratiques
Comptage de ventes réalisées par région
=NB.SI.ENS(D2:D500,"Complété",B2:B500,"Île-de-France")La formule évalue d'abord la colonne D (statut) pour trouver 'Complété', puis vérifie que la colonne B (région) correspond à 'Île-de-France'. Seules les lignes satisfaisant les deux conditions sont comptées.
Gestion d'inventaire avec seuil minimum
=NB.SI.ENS(E2:E200,"Disponible",F2:F200,"<50")Cette formule combine deux critères : le statut doit être 'Disponible' (colonne E) ET la quantité doit être inférieure à 50 (colonne F). L'opérateur '<' permet de définir une condition numérique.
Analyse RH : employés avec critères multiples
=NB.SI.ENS(C2:C150,"CDI",D2:D150,"Commercial",G2:G150,">35000")La formule évalue trois conditions simultanément : type de contrat (CDI), département (Commercial), et salaire (>35000). Les trois critères doivent tous être satisfaits pour qu'une ligne soit comptée.
Points clés à retenir
- NB.SI.ENS compte les cellules satisfaisant PLUSIEURS critères simultanément, contrairement à NB.SI qui n'en gère qu'un
- Toutes les plages_critère doivent avoir exactement la même taille, sinon #VALUE! est retourné
- La formule supporte jusqu'à 127 paires critère/plage, offrant une granularité exceptionnelle pour l'analyse de données complexes
- Les jokers (* et ?) et les opérateurs de comparaison (>, <, >=, <=, <>) sont entièrement supportés pour des critères flexibles
- Pour la performance sur grandes bases, préférez les plages explicites (A1:A100000) aux références entières (A:A)
Astuces de pro
Utilisez des références absolues ($A$1:$A$100) pour les plages et des références relatives pour les critères si vous copiez la formule horizontalement.
Impact : Évite les erreurs lors de copie et facilite la maintenance des formules complexes sur de grandes feuilles.
Créez une colonne 'Debug' avec NB.SI.ENS sur chaque critère individuellement pour identifier lequel pose problème.
Impact : Réduit le temps de débogage de 50% sur les formules à critères multiples.
Pour améliorer la performance sur de très grandes bases (>100k lignes), évitez A:A et préférez A1:A100000 pour limiter le calcul.
Impact : Peut accélérer le recalcul de 5 à 10 fois sur les fichiers volumineux.
Combinez NB.SI.ENS avec IFERROR pour gérer les cas où aucune donnée ne correspond : =IFERROR(NB.SI.ENS(...),0)
Impact : Élimine les erreurs dans les tableaux de bord et rend les formules plus robustes aux changements de données.
Combinaisons utiles
NB.SI.ENS + IF pour analyse conditionnelle
=IF(NB.SI.ENS(A:A,"Critique",B:B,">1000")>5,"Alerte","Normal")Combine NB.SI.ENS avec IF pour déclencher une alerte : si plus de 5 éléments critiques dépassent 1000, affiche 'Alerte'. Utile pour les tableaux de bord avec seuils.
NB.SI.ENS + SUMIFS pour ratio d'analyse
=NB.SI.ENS(A:A,"Vendu",B:B,"Q1")/SUMIFS(C:C,A:A,"Vendu",B:B,"Q1")Divise le nombre de ventes du Q1 par le total des montants du Q1. Permet de calculer des ratios complexes combinant comptage et sommes.
NB.SI.ENS avec INDIRECT pour critères dynamiques
=NB.SI.ENS(A:A,INDIRECT("E1"),B:B,INDIRECT("E2"),C:C,INDIRECT("E3"))Les critères sont référencés via INDIRECT, permettant un tableau de bord où l'utilisateur change les critères dans les cellules E1, E2, E3 sans modifier la formule.
Erreurs courantes
Cause : Les plages_critère ont des dimensions différentes. Par exemple : =NB.SI.ENS(A1:A10,"x",B1:B20,"y") où A1:A10 contient 10 lignes et B1:B20 contient 20 lignes.
Solution : Vérifiez que toutes les plages couvrent le même nombre de lignes. Utilisez =NB.SI.ENS(A1:A10,"x",B1:B10,"y") avec des plages identiques en taille.
Cause : Une plage référencée a été supprimée ou la formule contient une référence invalide. Cela arrive souvent après suppression de colonnes ou lors de copie incorrecte.
Solution : Vérifiez que toutes les plages existent toujours dans le classeur. Utilisez des références absolues ($A$1:$A$100) pour éviter les décalages lors de copies.
Cause : Les critères sont trop restrictifs, mal formatés ou contiennent des espaces invisibles. Par exemple : =NB.SI.ENS(A:A,"Terminé ") avec un espace après 'Terminé'.
Solution : Utilisez TRIM() pour éliminer les espaces : =NB.SI.ENS(A:A,TRIM(B1)) ou vérifiez la casse exacte des critères textuels. Testez chaque critère individuellement avec NB.SI.
Checklist de dépannage
- 1.Vérifiez que TOUTES les plages_critère ont exactement la même dimension (même nombre de lignes)
- 2.Contrôlez la casse exacte des critères textuels et cherchez les espaces invisibles avec TRIM()
- 3.Testez chaque critère individuellement avec NB.SI pour isoler celui qui pose problème
- 4.Assurez-vous que les opérateurs (>, <, >=, <=, <>) sont correctement entre guillemets : ">100" et non >100
- 5.Vérifiez que les références ne contiennent pas d'erreurs #REF! en cliquant sur la barre de formule
- 6.Pour les dates, confirmez le format : utilisez DATE(2024,1,1) ou un format reconnu par votre locale Excel
Cas particuliers
Critère contenant un opérateur (ex: compter les cellules contenant le texte '>100')
Comportement : La formule interprète '>100' comme un opérateur de comparaison, pas comme du texte littéral
Solution : Utilisez un joker : =NB.SI.ENS(A:A,"*>100*") pour chercher le texte contenant '>100'
Cas rare mais important en gestion de texte libre ou de commentaires
Plages contenant des cellules fusionnées
Comportement : Excel compte la première cellule fusionnée une fois, ce qui peut donner des résultats inattendus
Solution : Évitez les cellules fusionnées ou utilisez SUMPRODUCT pour plus de contrôle : =SUMPRODUCT((A:A="x")*(B:B="y"))
Les cellules fusionnées sont généralement déconseillées dans les analyses de données
Critère vide ('') pour compter les cellules vides
Comportement : =NB.SI.ENS(A:A,"") compte correctement les cellules vides, mais attention aux espaces invisibles
Solution : Utilisez ISBLANK ou combinez avec TRIM pour éviter les faux positifs : =NB.SI.ENS(A:A,TRIM(A:A)="")
Les espaces invisibles sont une source fréquente d'erreur
Limitations
- •NB.SI.ENS utilise la logique ET (tous les critères doivent être satisfaits). Pour la logique OU (au moins un critère), utilisez SUMPRODUCT ou plusieurs NB.SI.ENS additionnés
- •Les critères ne peuvent pas être des formules complexes. Pour des conditions très avancées, préférez SUMPRODUCT qui offre plus de flexibilité
- •Sur les très grandes bases de données (>1 million de lignes), NB.SI.ENS peut ralentir le recalcul. Considérez des solutions de base de données ou Power Query
- •La fonction ne gère pas les critères avec expressions régulières. Pour des recherches de pattern avancées, utilisez VBA ou Power Query
Alternatives
Compatibilité
✓ Excel
Depuis 2007
=NB.SI.ENS(plage_critère1; critère1; [plage_critère2; critère2]; ...) - Disponible dans Excel 2007, 2010, 2013, 2016, 2019, 365✓Google Sheets
=COUNTIFS(range1; criterion1; [range2; criterion2]; ...) - Syntaxe identique mais nom différentGoogle Sheets utilise COUNTIFS au lieu de NB.SI.ENS mais la logique est identique. Les séparateurs peuvent être des virgules selon la locale.
✓LibreOffice
=COUNTIFS(range1; criterion1; [range2; criterion2]; ...) - Disponible dans LibreOffice Calc 3.2+