SOMMEPROD dans Excel : syntaxe, exemples et exercices corrigés
Mis à jour le
SOMMEPROD multiplie des plages ligne par ligne puis additionne les résultats. Par exemple, =SOMMEPROD(C2:C11;D2:D11) multiplie chaque quantité de C par son prix en D et renvoie le chiffre d’affaires total, sans colonne intermédiaire. Avec des tests comme (A2:A11="Nord"), elle n’additionne que les lignes qui remplissent vos conditions.
Syntaxe de SOMMEPROD
=SOMMEPROD(matrice1; [matrice2]; [matrice3]; …)
- matrice1
- La première plage de nombres, par exemple
C2:C11. Ce peut aussi être un calcul sur des plages, comme(A2:A11="Nord")*C2:C11. - matrice2
- Facultatif. La plage multipliée par matrice1, ligne par ligne, par exemple
D2:D11. Elle doit avoir la même taille que matrice1. - matrice3; …
- Facultatif. D’autres plages de même taille, jusqu’à 255. Les valeurs de chaque ligne sont multipliées entre elles avant l’addition.
Exercices SOMMEPROD à faire ici
Tapez votre formule directement dans la feuille. Elle est vérifiée comme dans Excel, avec des points-virgules ou des virgules, en français ou en anglais.
Le chiffre d’affaires en une formule
En F2, écrivez une SOMMEPROD qui renvoie le chiffre d’affaires total des commandes A1:D11 : chaque quantité de la colonne C multipliée par son prix unitaire en colonne D, le tout additionné.
| Région | Produit | Quantité | Prix unitaire (€) | Chiffre d’affaires (€) | |
| Nord | Cahier | 10 | 5,00 | ||
| Est | Sac à dos | 8 | 35,00 | ||
| Sud | Stylo | 30 | 3,00 | ||
| Nord | Lampe de bureau | 5 | 28,00 | ||
| Ouest | Cahier | 20 | 5,00 | ||
| Nord | Stylo | 25 | 3,00 | ||
| Sud | Lampe de bureau | 4 | 28,00 | ||
| Est | Cahier | 15 | 5,00 | ||
| Nord | Sac à dos | 6 | 35,00 | ||
| Ouest | Stylo | 40 | 3,00 |
Comment faire une SOMMEPROD, étape par étape
- Cliquez sur la cellule du total et tapez
=SOMMEPROD(. - Sélectionnez la première colonne, par exemple les quantités, puis tapez un point-virgule.
- Sélectionnez la deuxième colonne, par exemple les prix unitaires, sur exactement les mêmes lignes.
- Fermez la parenthèse et validez avec Entrée. Pour ajouter une condition, écrivez-la entre parenthèses et multipliez-la :
=SOMMEPROD((A2:A11="Nord")*C2:C11*D2:D11).
Exemples de SOMMEPROD
Quantité × prix
=SOMMEPROD(C2:C11;D2:D11)
Multiplie chaque quantité par son prix unitaire et additionne les dix résultats : le chiffre d’affaires total dans une seule cellule.
Moyenne pondérée
=SOMMEPROD(C2:C11;D2:D11)/SOMME(C2:C11)
Divise le chiffre d’affaires par le nombre d’unités vendues : chaque prix compte autant de fois qu’il a été vendu. MOYENNE(D2:D11) donnerait le même poids à chaque commande.
Une condition
=SOMMEPROD((A2:A11="Nord")*C2:C11*D2:D11)
Le test renvoie VRAI ou FAUX sur chaque ligne. La multiplication les change en 1 et 0 : seules les lignes du Nord comptent dans le chiffre d’affaires.
Deux conditions
=SOMMEPROD((A2:A11="Nord")*(C2:C11>=10)*C2:C11*D2:D11)
Multiplier deux tests revient à faire un ET : une ligne ne compte que si elle est dans le Nord et qu’elle a au moins 10 unités.
Erreurs fréquentes et solutions
| Résultat | Cause | Solution |
|---|---|---|
| #VALEUR! | Les plages n’ont pas la même taille, par exemple C2:C11 et D2:D10. | Sélectionnez toutes les plages de la même première ligne à la même dernière ligne. |
| 0 avec une condition | Le test a été passé comme argument séparé, comme dans =SOMMEPROD(A2:A11="Nord";C2:C11;D2:D11). VRAI et FAUX comptent alors pour 0. | Multipliez le test avec * : =SOMMEPROD((A2:A11="Nord")*C2:C11*D2:D11). |
| Total trop faible | Certains nombres sont stockés en texte. Avec des plages séparées par des points-virgules, SOMMEPROD les compte pour 0. | Convertissez la colonne en nombres, ou multipliez les plages avec * pour que le texte soit converti. |
| #NOM? | Formule copiée d’un site anglais (SUMPRODUCT) ou nom mal orthographié, par exemple SOMMEPRODUIT. | Écrivez SOMMEPROD et séparez les arguments par des points-virgules. |
SOMMEPROD ou SOMME.SI.ENS ?
SOMME.SI.ENS additionne une colonne qui contient déjà les valeurs voulues : =SOMME.SI.ENS(E2:E11;A2:A11;"Nord") demande une colonne de totaux par ligne. SOMMEPROD multiplie en même temps qu’elle additionne : =SOMMEPROD((A2:A11="Nord")*C2:C11*D2:D11) part directement des quantités et des prix. Prenez SOMME.SI.ENS quand la colonne des montants existe, la formule est plus courte et plus lisible. Prenez SOMMEPROD pour multiplier des colonnes, calculer une moyenne pondérée ou écrire une condition que SOMME.SI.ENS ne sait pas exprimer.
Questions fréquentes
Comment ajouter une condition à SOMMEPROD ?
Écrivez le test entre parenthèses et multipliez-le par les plages : =SOMMEPROD((A2:A11="Nord")*C2:C11*D2:D11). VRAI vaut 1 et FAUX vaut 0, donc les lignes qui ne passent pas le test n’ajoutent rien.
SOMMEPROD peut-elle faire un OU ?
Oui. Additionnez les tests au lieu de les multiplier, puis vérifiez que la somme est positive : =SOMMEPROD(((A2:A11="Nord")+(A2:A11="Sud")>0)*C2:C11*D2:D11).
Comment calculer une moyenne pondérée ?
Divisez SOMMEPROD par la somme des poids : =SOMMEPROD(C2:C11;D2:D11)/SOMME(C2:C11) donne le prix moyen payé par unité.
Faut-il valider SOMMEPROD avec Ctrl + Maj + Entrée ?
Non. SOMMEPROD accepte seule les plages et les calculs sur des plages : un simple Entrée suffit.
Continuez à pratiquer
Les 5 exercices SOMMEPROD, avec explications et suivi de progression.
Ouvrir les exercices SOMMEPROD