Tu veux analyser des ventes par produit, calculer une moyenne par région, ou compter combien de clients appartiennent à une catégorie précise ? Trois fonctions Excel te permettent de faire tout ça en une seule formule : SOMME.SI, MOYENNE.SI et NB.SI. Ce sont les piliers de l’analyse conditionnelle dans Excel. Une fois que tu les maîtrises, ton approche des données change complètement.
- Écrire et comprendre la syntaxe exacte de SOMME.SI, MOYENNE.SI et NB.SI
- Utiliser des critères texte, numériques et avec jokers
- Éviter les erreurs classiques qui retournent 0 ou un résultat faux
- Passer aux versions multi-critères (SOMME.SI.ENS, MOYENNE.SI.ENS, NB.SI.ENS)
SOMME.SI : additionner selon un critère

La fonction =SOMME.SI() additionne les cellules d’une plage qui correspondent à un critère donné.
Syntaxe
=SOMME.SI(plage_critère; critère; plage_à_sommer)
- plage_critère : la colonne où Excel va chercher le critère (ex. : la colonne Produit)
- critère : la valeur à chercher (ex. : « Stylo », une cellule comme E2, ou un test comme « >100 »)
- plage_à_sommer : la colonne dont tu veux additionner les valeurs (ex. : la colonne Ventes)
Exemple concret
Tu as un tableau avec les colonnes Produit (A), Région (B) et Ventes (C). Pour obtenir le total des ventes du produit « Stylo » :
=SOMME.SI(A2:A100;"Stylo";C2:C100)
Si le critère est dans une cellule (par exemple E2 contient « Stylo »), écris directement :
=SOMME.SI(A2:A100;E2;C2:C100)
C’est la version recommandée : plus flexible, tu changes le critère dans E2 sans toucher à la formule.
MOYENNE.SI : calculer une moyenne selon un critère
Même logique, même syntaxe, résultat différent : =MOYENNE.SI() calcule la moyenne des cellules qui correspondent au critère.
Syntaxe
=MOYENNE.SI(plage_critère; critère; plage_à_moyenner)
Exemple concret
Toujours avec les mêmes colonnes Produit (A), Région (B) et Ventes (C). Pour obtenir la moyenne des ventes dans la région « Nord » :
=MOYENNE.SI(B2:B100;"Nord";C2:C100)
Contrairement à une moyenne classique, seules les lignes où la région est « Nord » entrent dans le calcul. Les cellules vides dans la plage à moyenner sont automatiquement ignorées.
NB.SI : compter selon un critère
=NB.SI() compte le nombre de cellules dans une plage qui correspondent à un critère. Elle est légèrement différente des deux précédentes : elle n’a que deux arguments.
Syntaxe
=NB.SI(plage; critère)
- plage : la plage de cellules à analyser
- critère : la valeur ou la condition à chercher
Exemple concret
Tu as une colonne Catégorie (D) avec les valeurs « VIP », « Standard » ou « Prospect ». Pour compter le nombre de clients VIP :
=NB.SI(D2:D200;"VIP")
Avec une référence de cellule (F2 contient « VIP ») :
=NB.SI(D2:D200;F2)
Critères avancés : opérateurs et jokers

Les trois fonctions acceptent des critères beaucoup plus puissants que de simples valeurs exactes.
Opérateurs de comparaison
Tu peux utiliser les opérateurs >, <, >=, <=, <> (différent de). Il faut les inclure entre guillemets :
=NB.SI(C2:C100;">100"): compte les cellules supérieures à 100=SOMME.SI(C2:C100;"<>0";D2:D100): somme les valeurs de D quand C est différent de zéro=MOYENNE.SI(C2:C100;">="&G1;D2:D100): combine un opérateur et une référence de cellule avec&
Jokers pour le texte partiel
Quand tu ne cherches pas une correspondance exacte, utilise les jokers :
*remplace zéro ou plusieurs caractères."*Excel*"trouve tout ce qui contient « Excel »?remplace exactement un caractère."A??"trouve « Art », « Arc », « Axe »…"*A*"dans un NB.SI : compte toutes les cellules dont le contenu contient la lettre A"???"dans un NB.SI : compte les cellules dont le contenu fait exactement 3 caractères
Exemple : pour sommer les ventes de tous les produits qui contiennent « Pro » dans leur nom :
=SOMME.SI(A2:A100;"*Pro*";C2:C100)
Multi-critères : SOMME.SI.ENS, MOYENNE.SI.ENS, NB.SI.ENS
Quand tu as besoin de combiner plusieurs conditions, il faut passer aux variantes .ENS. Ces fonctions fonctionnent exactement comme leurs versions simples, mais elles acceptent autant de paires critère/plage que tu veux.
SOMME.SI.ENS
Attention : l’ordre des arguments change par rapport à SOMME.SI. La plage à sommer passe en premier.
=SOMME.SI.ENS(plage_à_sommer; plage_critère1; critère1; plage_critère2; critère2; ...)
Exemple : total des ventes de « Stylo » dans la région « Nord » :
=SOMME.SI.ENS(C2:C100;A2:A100;"Stylo";B2:B100;"Nord")
MOYENNE.SI.ENS et NB.SI.ENS
Même logique. Pour NB.SI.ENS, il n’y a pas de plage à compter séparée (comme NB.SI), seulement des paires plage/critère :
=MOYENNE.SI.ENS(plage_à_moyenner; plage_critère1; critère1; plage_critère2; critère2)
=NB.SI.ENS(plage_critère1; critère1; plage_critère2; critère2)
Pour construire des analyses encore plus avancées sur ces données, consulte l’article sur tableau de bord Excel.
Erreurs courantes à éviter
Ces fonctions semblent simples, mais quelques pièges reviennent souvent.
- Plages de tailles différentes : la plage_critère et la plage_à_sommer doivent avoir exactement le même nombre de lignes. Si tu écris
A2:A100etC2:C50, Excel renvoie une erreur ou un résultat incorrect. - Espaces invisibles dans le texte : si une cellule contient « Stylo » (avec un espace en fin), le critère « Stylo » ne la trouvera pas. Utilise RECHERCHEX ou la fonction SUPPRESPACE() pour nettoyer tes données.
- Guillemets manquants sur les opérateurs : écrire
>100sans guillemets provoque une erreur. Il faut toujours écrire">100". - Concaténation oubliée : si l’opérateur est dans une formule avec une référence, n’oublie pas le
&. Exemple :">="&A1et non">=A1". - Confusion SOMME.SI / SOMME.SI.ENS : dans SOMME.SI, la plage à sommer est en 3e argument. Dans SOMME.SI.ENS, elle est en 1er. C’est la différence la plus fréquente qui génère des erreurs.

Questions fréquentes
Quelle est la différence entre SOMME.SI et SOMME.SI.ENS ?
Peut-on utiliser SOMME.SI avec du texte partiel ?
"*Paris*" sélectionne toutes les cellules qui contiennent « Paris ». "Paris*" sélectionne celles qui commencent par « Paris ».MOYENNE.SI ignore-t-elle les cellules vides ?
Comment compter des cellules selon deux critères avec NB.SI ?
=NB.SI.ENS(B2:B100;"Paris";C2:C100;">1000") compte les lignes où la ville est Paris ET le montant dépasse 1000.SOMME.SI fonctionne-t-elle avec des dates ?
=SOMME.SI(A2:A100;">"&DATE(2024;1;1);B2:B100) pour sommer les valeurs après le 1er janvier 2024. Utilise la fonction DATE() plutôt que de taper la date en dur.