SOMME.SI, SOMME.SI.ENS ou SOMMEPROD : quelle formule choisir ?
Sommer des valeurs selon une ou plusieurs conditions est l'un des besoins les plus fréquents dans Excel. Trois formules répondent à ce besoin : SOMME.SI pour une condition, SOMME.SI.ENS pour plusieurs conditions directes, et SOMMEPROD pour les cas complexes où les deux précédentes montrent leurs limites.
Vue d'ensemble
1 critère, syntaxe intuitive
Somme si une colonne remplit un critère
=SOMME.SI(plage_critère; critère; plage_somme)
Disponible depuis toutes les versions. Très rapide.
2 à 127 critères
Somme si plusieurs colonnes remplissent chacune un critère
=SOMME.SI.ENS(plage_somme; plage1; crit1; plage2; crit2; ...)
Disponible depuis Excel 2007. Rapide et lisible.
Conditions calculées ou complexes
Multiplie et somme des tableaux ; peut simuler n'importe quel critère
=SOMMEPROD((cond1)*(cond2)*plage_somme)
Disponible depuis toutes les versions. Très puissant mais plus lent sur grands tableaux.
SOMME.SI — le classique efficace
SOMME.SI additionne les cellules d'une plage pour lesquelles la colonne de critère correspond à la valeur spécifiée. Son ordre des arguments est différent de SOMME.SI.ENS (attention lors de la migration).
— Total des ventes pour "Paris" :
=SOMME.SI(A2:A100;"Paris";C2:C100)
— Total des ventes supérieures à 1000 € :
=SOMME.SI(C2:C100;">1000";C2:C100)
— Total des ventes dont le code commence par "PRD" :
=SOMME.SI(B2:B100;"PRD*";C2:C100) ← les jokers * et ? sont acceptés
* remplace n'importe quel nombre de caractères, ? remplace un seul caractère. Cette syntaxe fonctionne aussi dans SOMME.SI.ENS.
SOMME.SI.ENS — plusieurs conditions simultanées
SOMME.SI.ENS évalue plusieurs critères : tous doivent être vrais (logique ET). La plage à sommer est le premier argument (contrairement à SOMME.SI).
— Ventes de "Paris" ET supérieures à 1000 € :
=SOMME.SI.ENS(C2:C100; A2:A100;"Paris"; C2:C100;">1000")
— Ventes du produit "Écran" en "Nord" entre jan et mars 2025 :
=SOMME.SI.ENS(D2:D500;
B2:B500; "Écran";
C2:C500; "Nord";
A2:A500; ">="&DATE(2025;1;1);
A2:A500; "<="&DATE(2025;3;31)
)
SOMMEPROD — la formule universelle
SOMMEPROD multiplie des tableaux élément par élément puis additionne le résultat. En combinant des expressions booléennes, elle simule des critères impossibles avec les deux autres formules.
— Équivalent SOMME.SI.ENS (mais avec conditions calculées) :
=SOMMEPROD((A2:A100="Paris")*(C2:C100>1000)*D2:D100)
— Somme basée sur la longueur d'un texte (impossible avec SOMME.SI.ENS) :
=SOMMEPROD((NBCAR(B2:B100)>5)*C2:C100)
— Somme en excluant les erreurs :
=SOMMEPROD(SIERREUR(C2:C100;0)*(A2:A100="Paris"))
— Condition sur une autre feuille (référence croisée) :
=SOMMEPROD((Feuil2!A2:A100=E1)*Feuil2!C2:C100)
— OR logique (au moins une condition vraie) :
=SOMMEPROD(((A2:A100="Paris")+(A2:A100="Lyon")>0)*C2:C100)
((cond1)+(cond2)>0) dans SOMMEPROD.
Même scénario, trois formules
Objectif : sommer la colonne D (montant) quand colonne A = "Paris" et colonne B = "Q1".
— Avec SOMME.SI (impossible, 2 critères → à éviter) :
=SOMME.SI(A2:A100;"Paris";D2:D100) ← ignore la condition B
— Avec SOMME.SI.ENS (recommandé) :
=SOMME.SI.ENS(D2:D100; A2:A100;"Paris"; B2:B100;"Q1")
— Avec SOMMEPROD (fonctionne mais plus lent) :
=SOMMEPROD((A2:A100="Paris")*(B2:B100="Q1")*D2:D100)
Tableau comparatif
| Critère | SOMME.SI | SOMME.SI.ENS | SOMMEPROD |
|---|---|---|---|
| Nombre de conditions | 1 seul | 1 à 127 | Illimité |
| Logique ET / OU | ET uniquement | ET uniquement | ET et OU |
| Conditions calculées (NBCAR, MOIS…) | Non | Non | Oui |
| Tolérance aux erreurs dans la plage | Non (renvoie erreur) | Non | Oui (avec SIERREUR) |
| Jokers (* ?) | Oui | Oui | Non (utiliser RECHERCHE ou NBCAR) |
| Performance sur grands tableaux | Très rapide | Très rapide | Plus lente |
| Lisibilité | Bonne | Bonne | Moyenne (syntaxe moins intuitive) |
| Disponibilité | Toutes versions | Excel 2007+ | Toutes versions |
Quand choisir quoi ?
- SOMME.SI : un seul critère, données volumineuses, besoin de simplicité.
- SOMME.SI.ENS : plusieurs critères simultanés de type égalité, inégalité ou joker — c'est le choix par défaut pour la plupart des cas.
- SOMMEPROD : logique OU, conditions basées sur des fonctions (NBCAR, MOIS, JOURSEM…), présence d'erreurs dans la plage, ou conditions croisées entre colonnes calculées.
Astuce : NB.SI.ENS fonctionne de la même façon
Les mêmes règles s'appliquent à NB.SI (1 critère) et NB.SI.ENS (plusieurs critères). SOMMEPROD peut aussi compter : =SOMMEPROD((A2:A100="Paris")*(B2:B100="Q1"))
SOMME vs SOUS.TOTAL vs AGREGAT → Ignorer les erreurs dans une somme Fiche SOMME.SI