Toutes les fonctionsMath
SOMMEPROD (SUMPRODUCT) dans Excel
SOMMEPROD (SUMPRODUCT) expliquée avec trois exemples vérifiés, les moyennes pondérées, les conditions et les erreurs fréquentes.
Syntaxe
SUMPRODUCT(array1, [array2], …)Exemple : =SUMPRODUCT(B2:B6,C2:C6)
Disponible dans : All versions
La fonction SOMMEPROD multiplie les éléments correspondants de deux plages ou plus, puis additionne les produits : =SUMPRODUCT(array1, array2, …). Elle calcule en une étape des totaux pondérés et des sommes conditionnelles, sans colonne auxiliaire ni validation matricielle.
Quand l’utiliser
- Vous devez additionner quantité multipliée par prix sans colonne auxiliaire.
- Vous calculez une moyenne pondérée, par exemple des notes assorties de coefficients.
- Vous additionnez ou comptez avec des conditions que SOMME.SI.ENS ne sait pas exprimer, comme une logique OU ou des tests sur des valeurs calculées.
- Vous avez besoin d’un total qui fonctionne dans toutes les versions d’Excel.
Arguments
- array1. La première plage ou matrice. SOMMEPROD multiplie les valeurs position par position et additionne les produits.
- array2, array3, …. D’autres matrices facultatives, jusqu’à 255. Toutes doivent avoir exactement les mêmes dimensions, sinon le résultat est #VALUE!.
- Conditions. Les comparaisons au sein des matrices produisent TRUE/FALSE, que vous convertissez en 1 et 0 par multiplication, par exemple SUMPRODUCT((A2:A9="East")*(C2:C9)).
- Cellules textuelles. Les entrées non numériques sont traitées comme zéro lorsqu’elles sont passées sous forme d’arguments distincts, mais provoquent des erreurs lorsqu’elles sont utilisées dans des opérations arithmétiques.
Exemples expliqués
Total d’une commande
Formule : D2: =SUMPRODUCT(A2:A4,B2:B4)
Résultat : 75
2×10 + 3×5 + 1×40 = 75.
Note pondérée
| A | B |
|---|
| 1 | Score | Weight |
|---|
| 2 | 90 | 0.5 |
|---|
| 3 | 80 | 0.3 |
|---|
| 4 | 70 | 0.2 |
|---|
Formule : D2: =SUMPRODUCT(A2:A4,B2:B4)/SUM(B2:B4)
Résultat : 83
La division par le poids total donne la moyenne pondérée.
Somme conditionnelle
| A | B | C |
|---|
| 1 | Region | Rep | Amount |
|---|
| 2 | East | Ana | 1200 |
|---|
| 3 | West | Ben | 850 |
|---|
| 4 | East | Cara | 430 |
|---|
| 5 | North | Dan | 970 |
|---|
| 6 | West | Eli | 1500 |
|---|
| 7 | East | Ana | 610 |
|---|
Formule : E2: =SUMPRODUCT((A2:A7="East")*C2:C7)
Résultat : 2240
La comparaison produit TRUE ou FALSE pour chaque ligne ; la multiplication les transforme en 1 ou 0, si bien que seuls les montants East subsistent.
À vous de jouer
Modifiez une formule ou une valeur dans la feuille d’exemple et observez le résultat.
Formule en F2 : =SUMPRODUCT(C2:C7,D2:D7)
Résultat en F2 : 2885
Erreurs et vérifications
- #VALUE!. Les matrices ont des tailles différentes. Tous les arguments doivent comporter le même nombre de lignes et de colonnes.
- Le texte compte comme zéro. Le texte d’une matrice numérique est traité comme 0 lorsqu’il est transmis dans des arguments distincts. Nettoyez les données.
- Résultat erroné avec une virgule et une multiplication. Séparer les matrices par des virgules traite le texte comme 0, tandis qu’une multiplication avec * renvoie #VALUE!. Sachez quelle méthode il vous faut.
- Lenteur sur de très grandes plages. Les matrices calculées sur des colonnes entières sont lourdes. Limitez les plages.
Fonctions associées
Questions fréquentes
- Pourquoi SOMMEPROD sert-elle aux sommes conditionnelles ?
- Elle évalue nativement les matrices ; des conditions comme une logique OU ou des tests sur la longueur du texte fonctionnent donc sans Ctrl+Maj+Entrée.
- SOMMEPROD peut-elle compter ?
- Oui : =SUMPRODUCT(--(A2:A7="East")) compte les lignes correspondantes.
- À quoi sert le double signe moins ?
- Il transforme TRUE et FALSE en 1 et 0 afin de pouvoir les additionner.
- SOMMEPROD ou SOMME.SI.ENS ?
- SOMME.SI.ENS est plus rapide et plus simple pour de simples conditions ET ; SOMMEPROD convient à tout le reste.
Autres fonctions de la catégorie Math