SOMMEPROD dans Excel : la fonction couteau suisse
SOMMEPROD est l'une des fonctions les plus puissantes d'Excel. Elle multiplie les éléments de plusieurs tableaux et en fait la somme — mais sa vraie force, c'est de servir de SOMME.SI multi-critères, de compteur conditionnel, et même de générateur de classements. Tout ça sans formule matricielle.
Fonctionnement de base
=SOMMEPROD(tableau1; [tableau2]; [tableau3]…)
SOMMEPROD prend des tableaux de même dimension, les multiplie élément par élément, puis additionne les produits. Exemple avec deux colonnes :
| Quantité (A) | Prix unitaire (B) | Produit |
|---|---|---|
| 5 | 12,00 € | 60,00 € |
| 3 | 25,00 € | 75,00 € |
| 8 | 8,50 € | 68,00 € |
=SOMMEPROD(A2:A4; B2:B4) → 60 + 75 + 68 = 203,00 €
Équivalent de =SOMME(A2:A4*B2:B4) en formule matricielle, mais sans Ctrl+Maj+Entrée.
Somme conditionnelle multi-critères
C'est là que SOMMEPROD brille. Supposons un tableau de ventes avec colonnes Région (C), Produit (D), CA (E) :
=SOMMEPROD((C2:C100="Nord")*(D2:D100="Produit A")*E2:E100)
Les expressions booléennes (C2:C100="Nord") renvoient des tableaux de 1 (VRAI) et 0 (FAUX). En les multipliant, on obtient 1 seulement quand les deux conditions sont vraies simultanément. Le produit final par E donne la somme filtrée.
La syntaxe avec*équivaut à un ET logique. Pour un OU, utilisez+à la place — mais attention aux doubles comptes si les deux conditions peuvent être vraies ensemble.
🧪 Simulateur SOMMEPROD multi-critères
Modifiez les données ou les filtres pour voir SOMMEPROD recalculer en temps réel.
| Région | Produit | Qté | Prix unit. |
|---|---|---|---|
Compter des lignes avec plusieurs critères (équivalent NB.SI.ENS)
=SOMMEPROD((C2:C100="Nord")*(D2:D100="Produit A"))
Sans multiplier par une colonne de valeur, SOMMEPROD compte simplement le nombre de lignes qui satisfont les deux conditions. C'est l'équivalent de NB.SI.ENS, mais plus flexible pour des critères complexes.
Moyenne conditionnelle (équivalent MOYENNE.SI.ENS)
=SOMMEPROD((C2:C100="Nord")*E2:E100) / SOMMEPROD((C2:C100="Nord")*1)
Le numérateur additionne les valeurs de la région Nord. Le dénominateur compte le nombre de lignes Nord. Le rapport est la moyenne conditionnelle — sans passer par MOYENNE.SI.ENS.
Rang sans doublons ni lacune
=SOMMEPROD((B$2:B$10>B2)*1)+1
Pour chaque ligne, cette formule compte combien de valeurs dans B2:B10 sont supérieures à la valeur courante, puis ajoute 1. Résultat : un classement 1, 2, 3… sans trous ni doublons même si deux valeurs sont égales.
SOMMEPROD vs SOMME.SI.ENS : quand utiliser lequel ?
| Critère | SOMME.SI.ENS | SOMMEPROD |
|---|---|---|
| Performance sur grands tableaux | ✅ Plus rapide | ⚠️ Plus lent |
| Critères simples (égalité) | ✅ Idéal | ✅ Fonctionne |
| Critères calculés (formules dans le critère) | ❌ Limité | ✅ Flexibilité totale |
| Conditions OU complexes | ❌ Difficile | ✅ Natif (+) |
| Opérations pondérées (qté × prix) | ❌ Impossible | ✅ Usage principal |
| Compatible Excel 2003 | ❌ | ✅ |
Piège fréquent : les tableaux de tailles différentes
SOMMEPROD exige que tous les tableaux aient exactement les mêmes dimensions. Si A2:A100 et B2:B101 ont des tailles différentes, vous obtenez #VALEUR!. Vérifiez toujours que vos plages ont le même nombre de lignes et de colonnes.