Tutoriel · Excel intermédiaire
NB.SI et NB.SI.ENS
Compter les cellules qui correspondent à un ou plusieurs critères. Avec les opérateurs de comparaison et les jokers pour des comptages précis et puissants.
⏱️ Durée · 20 min
🎚️ Niveau · Intermédiaire
📋 Prérequis · Connaître NB, NBVAL et la fonction SI
🔀 NB.SI vs NB.SI.ENS
NB.SI
=NB.SI(plage ; critère)Compte les cellules qui correspondent à un seul critère.
- Idéal pour un comptage simple
- Texte, nombre, opérateur ou joker
- Disponible depuis Excel 2003
NB.SI.ENS
=NB.SI.ENS(plage1 ; crit1 ; plage2 ; crit2 …)Compte les cellules qui correspondent à plusieurs critères simultanément.
- Jusqu’à 127 paires plage/critère
- Tous les critères doivent être vrais
- Disponible depuis Excel 2007
La règle : un seul critère → NB.SI. Deux critères ou plus → NB.SI.ENS.
📘 NB.SI — compter selon un critère
ℹ️
Syntaxe
=NB.SI( plage ; critère ) — le critère peut être un texte exact, un nombre, un opérateur de comparaison ou un joker */?.Exemple 1 — Compter par région
Contexte commercial
Combien de commandes viennent de chaque région ?
Données
Synthèse
G2
=NB.SI(A2:A10 ; F2)| A | B | C | F | G | ||
|---|---|---|---|---|---|---|
| 1 | Région | Produit | Vente € | Région | Nb commandes | |
| 2 | Nord | Stylo | 1 200 | Nord | 3 | |
| 3 | Sud | Cahier | 800 | Sud | 2 | |
| 4 | Nord | Cahier | 950 | Est | 1 | |
| 5 | Est | Stylo | 600 | |||
| 6 | Nord | Stylo | 1 100 | |||
| 7 | Sud | Stylo | 700 |
Nord apparaît 3 fois → NB.SI = 3
G2 — critère en cellule F2=NB.SI(A2:A10 ; F2)
Ou avec critère en dur=NB.SI(A2:A10 ; « Nord »)
Exemple 2 — Compter avec opérateur (>, <, >=…)
Contexte scolaire
Combien d’élèves ont une note supérieure ou égale à 10 ? Combien sont en dessous ?
Classe
E2
=NB.SI(B2:B8 ; ">=10")| A | B | E | F | ||
|---|---|---|---|---|---|
| 1 | Élève | Note /20 | ≥ 10 | < 10 | |
| 2 | Alice | 14 | 4 | 2 | |
| 3 | Bruno | 17 | |||
| 4 | Carla | 7 | |||
| 5 | Didier | 12 | |||
| 6 | Emma | 8 | |||
| 7 | Félix | 10 |
≥ 10 : Alice, Bruno, Didier, Félix → 4
< 10 : Carla, Emma → 2
E2 — élèves admis (≥ 10)=NB.SI(B2:B8 ; « >=10 ») → 4
F2 — élèves recalés (< 10)=NB.SI(B2:B8 ; « <10 ») → 2
Avec seuil en cellule D2 — dynamique=NB.SI(B2:B8 ; « >= »&D2)
Exemple 3 — NB.SI avec joker * (contient)
Contexte formation
Combien de formations contiennent le mot « Excel » dans leur intitulé ?
Inscriptions
E2
=NB.SI(B2:B8 ; "*Excel*")| A | B | E | ||
|---|---|---|---|---|
| 1 | Stagiaire | Formation | Nb formations Excel | |
| 2 | Alice | Excel débutant | 3 | |
| 3 | Bruno | Word avancé | ||
| 4 | Carla | Excel TCD | ||
| 5 | Didier | PowerPoint | ||
| 6 | Emma | Excel VBA | ||
| 7 | Félix | Outlook |
« *Excel* » attrape : Excel débutant, Excel TCD, Excel VBA → 3
E2 — formations contenant « Excel »=NB.SI(B2:B8 ; « *Excel* ») → 3
Avec le mot-clé en cellule F1 — dynamique=NB.SI(B2:B8 ; « * »&F1&« * »)
📗 NB.SI.ENS — compter selon plusieurs critères
ℹ️
Syntaxe
Chaque paire plage/critère est un filtre supplémentaire. Tous les critères doivent être vrais simultanément pour qu’une ligne soit comptée.
=NB.SI.ENS( plage1 ; critère1 ; plage2 ; critère2 … )Chaque paire plage/critère est un filtre supplémentaire. Tous les critères doivent être vrais simultanément pour qu’une ligne soit comptée.
Exemple 4 — Commandes Nord ET Stylo
Contexte commercial
Combien de commandes viennent de la région Nord ET concernent des Stylos ?
Données
G2
=NB.SI.ENS(A2:A10 ; "Nord" ; B2:B10 ; "Stylo")| A | B | C | G | ||
|---|---|---|---|---|---|
| 1 | Région | Produit | Vente € | Nord + Stylo | |
| 2 | Nord | Stylo | 1 200 | 2 | |
| 3 | Sud | Cahier | 800 | ||
| 4 | Nord | Cahier | 950 | ||
| 5 | Est | Stylo | 600 | ||
| 6 | Nord | Stylo | 1 100 | ||
| 7 | Sud | Stylo | 700 |
Lignes 2 et 6 : Nord ET Stylo → 2 · Ligne 4 : Nord mais Cahier → ignorée · Ligne 5 : Stylo mais Est → ignorée
G2 — Nord ET Stylo=NB.SI.ENS(
A2:A10 ; « Nord » ; ← critère 1 : région
B2:B10 ; « Stylo » ← critère 2 : produit
)
Exemple 5 — Dossiers en attente depuis plus de 7 jours
Contexte administratif
Compter les dossiers dont le statut est « En attente » ET la date de création est antérieure à 7 jours
Suivi
F2
=NB.SI.ENS(C2:C8;"En attente";B2:B8;"<"&(AUJOURDHUI()-7))| A | B | C | F | ||
|---|---|---|---|---|---|
| 1 | Dossier | Créé le | Statut | En attente >7j | |
| 2 | D-001 | 10/09/2026 | En attente | 2 | |
| 3 | D-002 | 20/09/2026 | En attente | ||
| 4 | D-003 | 08/09/2026 | En attente | ||
| 5 | D-004 | 15/09/2026 | Traité | ||
| 6 | D-005 | 22/09/2026 | En attente |
D-001 (10/09) et D-003 (08/09) : « En attente » ET créés il y a plus de 7 jours → 2
F2 — dossiers en attente depuis plus de 7 jours=NB.SI.ENS(
C2:C8 ; « En attente » ; ← statut
B2:B8 ; « <« &(AUJOURDHUI()-7) ← date antérieure à J-7
)
💡
Combiner opérateur et formule
"<"&(AUJOURDHUI()-7) — l’opérateur entre guillemets, le & pour coller, la formule entre parenthèses. Fonctionne avec toutes les fonctions de date Excel.Exemple 6 — Stagiaires d’une ville ET d’une formation Excel
Contexte formation A3I
Combien de stagiaires viennent de Lille ET suivent une formation contenant « Excel » ?
Critère texte ET joker dans NB.SI.ENS=NB.SI.ENS(
C2:C10 ; « Lille » ; ← ville
B2:B10 ; « *Excel* » ← formation contenant Excel
)
⚠️ Le piège classique — toutes les plages doivent avoir la même taille
Dans NB.SI.ENS, toutes les plages doivent couvrir le même nombre de lignes. A2:A10 et B2:B8 → erreur. Utilisez A2:A10 et B2:B10.📋 Récapitulatif NB.SI et NB.SI.ENS
| Besoin | Formule |
|---|---|
| Compter les « Nord » dans A | =NB.SI(A2:A10 ; "Nord") |
| Compter les notes ≥ 10 | =NB.SI(B2:B8 ; ">=10") |
| Compter ce qui contient « Excel » | =NB.SI(B2:B8 ; "*Excel*") |
| Compter les Nord ET Stylo | =NB.SI.ENS(A2:A10 ; "Nord" ; B2:B10 ; "Stylo") |
| Compter avec opérateur + cellule | =NB.SI(B2:B8 ; ">="&D2) |
| Compter avec opérateur + formule date | =NB.SI.ENS(C:C ; "En attente" ; B:B ; "<"&(AUJOURDHUI()-7)) |
| Compter avec joker dynamique | =NB.SI(B2:B8 ; "*"&F1&"*") |