Apprendre Excel
FR
Définit l'affichage des nombres, des dates et des formules, pour que tout fonctionne comme dans votre Excel.

Accueil › Fonctions Excel › SOMMEPROD

Fonction SOMMEPROD dans Excel, avec des exemples

SOMMEPROD multiplie des plages ligne par ligne et additionne les résultats. Quantité × prix pour toute une commande dans une seule cellule, c'est l'usage classique, mais SOMMEPROD additionne et compte aussi avec des conditions, y compris la logique OU que SOMME.SI.ENS ne sait pas faire. Dans l'Excel en anglais, la fonction s'appelle SUMPRODUCT.

Dans ce guide
  1. Syntaxe de SOMMEPROD
  2. Exemple simple
  3. Essayez vous-même
  4. Additionner avec des conditions
  5. Compter avec des conditions
  6. Conditions OU
  7. Moyenne pondérée
  8. Erreurs fréquentes
  9. Questions fréquentes

Syntaxe de SOMMEPROD

=SOMMEPROD(matrice1; [matrice2]; [matrice3]; …)

Toutes les matrices doivent avoir la même taille. Excel multiplie les premières valeurs de chaque matrice, puis les deuxièmes, et ainsi de suite, et renvoie le total.

Exemple simple : le total d'une commande

ABCD
1ProduitQtéPrixRégion
2Stylos101,50Nord
3Cahiers43,25Sud
4Chemises62,00Nord
5Feutres81,75Est
6Agrafeuses27,50Sud
=SOMMEPROD(B2:B6; C2:C6)

Excel calcule 10×1,50 + 4×3,25 + 6×2,00 + 8×1,75 + 2×7,50 = 15 + 13 + 12 + 14 + 15 = 69. Sans SOMMEPROD, il vous faudrait une colonne intermédiaire avec =B2*C2, puis une SOMME.

S'exercer avec SOMMEPROD : essayez vous-même

Lire est une chose, taper la formule en est une autre. Construisez la formule ci-dessous pas à pas : les indications vous disent quoi taper, et vous pouvez cliquer sur les cellules ou faire glisser dessus pour les ajouter, comme dans Excel.

Exercice: Calculez en D2 la valeur totale de la commande (quantité fois prix): =SOMMEPROD(A2:A5;B2:B5)

Additionner avec une condition

Mettez une comparaison entre parenthèses. Elle renvoie VRAI ou FAUX pour chaque ligne, et la multiplication les transforme en 1 et 0. Les lignes qui ne correspondent pas sont multipliées par 0 et disparaissent du total.

=SOMMEPROD((D2:D6="Nord") * B2:B6 * C2:C6)

Seuls les stylos et les chemises sont du Nord : 15 + 12 = 27.

Ajoutez des conditions en multipliant d'autres parenthèses : (D2:D6="Sud") * (B2:B6>3) signifie Sud et plus de 3.

Compter avec des conditions

Retirez les valeurs, et SOMMEPROD compte les lignes où toutes les conditions sont vraies :

=SOMMEPROD((D2:D6="Sud") * (B2:B6>3))

Seuls les cahiers sont du Sud avec une quantité supérieure à 3 : le résultat est 1. NB.SI.ENS donne la même chose ici, mais SOMMEPROD accepte aussi des calculs dans la condition, comme (MOIS(A2:A100)=3) pour compter tout ce qui tombe en mars.

Conditions OU

Multiplier signifie ET. Additionner deux conditions signifie OU :

=SOMMEPROD(((D2:D6="Nord") + (D2:D6="Est")) * B2:B6)

Cette formule additionne les quantités du Nord ou de l'Est : 10 + 6 + 8 = 24. Gardez les parenthèses supplémentaires autour de la partie OU ; sinon, la multiplication ne porte que sur la deuxième condition.

Moyenne pondérée

Quel est le prix moyen par article en tenant compte des quantités ? Divisez SOMMEPROD par la quantité totale :

=SOMMEPROD(B2:B6; C2:C6) / SOMME(B2:B6)

69 / 30 = 2,30. Une simple MOYENNE des prix donnerait 3,20, parce qu'elle traite les 2 agrafeuses comme les 10 stylos.

Erreurs fréquentes avec SOMMEPROD

  • #VALEUR! Les plages n'ont pas la même taille, comme B2:B6 et C2:C7.
  • Le résultat est 0 avec une condition. Vous avez mis un séparateur entre une condition et une plage : SOMMEPROD((D2:D6="Nord"); B2:B6) Les valeurs VRAI/FAUX comptent pour 0 si vous ne les multipliez pas. Utilisez * ou mettez -- devant la condition.
  • Classeur lent. Évitez les colonnes entières comme A:A : SOMMEPROD calcule alors sur plus d'un million de lignes.

Questions fréquentes

Quelle est la différence entre SOMMEPROD et SOMME.SI.ENS ?

SOMME.SI.ENS est plus rapide et plus simple pour des conditions ET simples. SOMMEPROD est plus souple : elle accepte la logique OU, des calculs dans les conditions et la multiplication de colonnes avant l'addition.

Faut-il Ctrl+Maj+Entrée pour SOMMEPROD ?

Non. SOMMEPROD travaille avec des matrices toute seule, même dans les anciennes versions d'Excel.

SOMMEPROD peut-elle compter des valeurs uniques ?

Oui : =SOMMEPROD(1/NB.SI(A2:A10; A2:A10)) compte les valeurs distinctes d'une liste sans cellules vides. Lisez comment compter des valeurs uniques.

À quoi sert le double signe moins (--) ?

Il transforme VRAI et FAUX en 1 et 0 : =SOMMEPROD(--(A2:A10="Oui")) compte donc les cellules qui contiennent Oui.