Aller au contenu principal

Qu'est-ce que la fonction SOMMEPROD ?

Définition
La fonction SOMMEPROD multiplie les valeurs correspondantes de plusieurs tableaux, ligne par ligne, puis additionne tous ces produits. Elle accepte jusqu'à 255 tableaux de même dimension.

SOMMEPROD (SUMPRODUCT en anglais) te sert dès que tu dois croiser plusieurs colonnes dans un même calcul, sans créer de colonne intermédiaire ni empiler des formules matricielles compliquées. C'est la fonction vers laquelle te tourner quand une condition doit se combiner avec une multiplication dans le même calcul.

Concrètement, c'est elle qui calcule un chiffre d'affaires total en multipliant quantités et prix unitaires sans colonne intermédiaire, qui produit une moyenne pondérée de notes avec coefficients différents, qui compte les ventes d'une région précise dépassant un certain montant, ou qui additionne les bonus des commerciaux selon leur taux individuel. Des facturations automatiques aux analyses de rentabilité, SOMMEPROD remplace souvent plusieurs formules imbriquées par une seule ligne.

Syntaxe

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

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction SOMMEPROD

Tu donnes à SOMMEPROD deux colonnes côte à côte, et à l'écran une seule cellule te renvoie le total : elle a multiplié la 1re valeur de matrice1 par la 1re de matrice2, la 2e par la 2e, puis tout additionné d'un coup.

Seule matrice1 est obligatoire ; passée seule, elle se contente d'additionner ses valeurs comme SOMME. Les matrices que tu ajoutes ensuite (jusqu'à 254 de plus) doivent avoir exactement les mêmes dimensions, sinon l'appariement ligne par ligne n'a plus de sens et la formule cale.

1

matrice1

: c'est le premier tableau de valeurs à multiplier

Ça peut être une plage de cellules comme A1:A10, un tableau de nombres, ou même une formule qui retourne un tableau. Si tu n'utilises qu'une seule matrice, SOMMEPROD additionne simplement toutes les valeurs (comme SOMME).

Tu peux aussi y placer une expression logique entre parenthèses : (A1:A10="Paris") produit un tableau de VRAI/FAUX, que SOMMEPROD traite comme 1 et 0 lors de la multiplication. C'est la base du mode conditionnel de SOMMEPROD.

2

matrice2, matrice3, ...

: les tableaux supplémentaires à multiplier avec le premier(facultatif)

Chaque tableau doit avoir exactement les mêmes dimensions que matrice1 (même nombre de lignes et de colonnes). Excel multiplie ligne par ligne : la première valeur de matrice1 avec la première de matrice2, la deuxième avec la deuxième, etc.

Tu peux ajouter jusqu'à 254 matrices supplémentaires, mais en pratique, on en utilise rarement plus de 3 ou 4. L'important est que toutes aient la même structure pour que la multiplication fonctionne correctement.

Le savais-tu ?
SOMMEPROD ne sert pas qu'à multiplier : glisse une condition entre parenthèses et elle devient un moteur de comptage multi-critères. SOMMEPROD((A:A="Paris")*(B:B>1000)) compte les lignes de Paris dont le montant dépasse 1000, car chaque parenthèse vaut 1 quand c'est vrai et 0 sinon.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment calculer une somme de produits avec la fonction SOMMEPROD

On te réclame le chiffre d'affaires du mois avant la réunion de l'après-midi, et personne n'a pris le temps de préparer la moindre colonne de calcul. Le tableau liste 18 produits avec leur catégorie, la quantité vendue en colonne C et le prix unitaire en colonne D, et tu veux le total encaissé sans polluer la feuille avec une colonne intermédiaire. La fonction SOMMEPROD multiplie chaque quantité par son prix ligne par ligne, additionne tous ces produits et te sort le montant dans une seule cellule.

Les étapes
  1. 1
    Dans une cellule, écris =SOMMEPROD(.
  2. 2
    En 1er argument : sélectionne la plage des quantités, C2:C19. Chacune de ses valeurs sert de premier facteur, ligne par ligne.
  3. 3
    En 2ᵉ argument : sélectionne la plage des prix unitaires, D2:D19. Elle doit couvrir exactement les mêmes 18 lignes que C2:C19, sinon la fonction SOMMEPROD ne sait plus quelle quantité apparier à quel prix. Elle multiplie alors C2 par D2, C3 par D3, jusqu'au bas du tableau, puis additionne les 18 produits pour donner 50 005 €.
  4. 4
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=SOMMEPROD(C2:C19;D2:D19)
Explication
La fonction fait en une passe ce qui demanderait d'habitude une colonne intermédiaire. Elle multiplie chaque quantité par le prix de sa propre ligne (12 × 850 €, puis 45 × 25 €, et ainsi de suite jusqu'à la 18e ligne), garde ces 18 produits en mémoire sans jamais les écrire dans la feuille, puis les additionne pour afficher 50 005 €.
Exemple 2

Comment calculer une moyenne pondérée avec les fonctions SOMMEPROD et SOMME

Les conseils de classe tombent la semaine prochaine et il faut sortir la moyenne de chaque élève, coefficients compris. Le tableau donne pour chaque matière la note obtenue en colonne B et son coefficient en colonne C, et la fonction MOYENNE ne convient pas ici puisqu'elle mettrait les quatre heures de maths sur le même plan que les deux heures d'histoire. La fonction SOMMEPROD sait pondérer chaque note par son coefficient, et il ne reste plus qu'à ramener le total au bon dénominateur.

Les étapes
  1. 1
    Dans une cellule, écris =SOMMEPROD(.
  2. 2
    En 1er argument : sélectionne la plage des notes, B2:B6. Ce sont les valeurs que tu veux pondérer.
  3. 3
    En 2ᵉ argument : sélectionne la plage des coefficients, C2:C6, dans le même ordre et sur les mêmes lignes. La fonction SOMMEPROD multiplie chaque note par le coefficient qui lui fait face et additionne le tout, ce qui donne 190.
  4. 4
    Ferme la parenthèse, complète par /SOMME(C2:C6) pour diviser par le cumul des coefficients (14), puis appuie sur Entrée. C'est cette division qui transforme une somme pondérée en véritable moyenne, ici 13,57.
Voici la formule que tu obtiens à la fin :=SOMMEPROD(B2:B6;C2:C6)/SOMME(C2:C6)
Explication
La formule travaille en deux temps. La fonction SOMMEPROD additionne les notes une fois pondérées par leur coefficient (60 + 36 + 28 + 48 + 18 = 190), puis la division par la somme des coefficients (14 points de coefficient au total) ramène ce chiffre à une note sur 20, soit 13,57. La moyenne simple des cinq notes donnerait 13,20 : tout l'écart vient du poids des matières.
Exemple 3

Comment calculer un total sous condition avec la fonction SOMMEPROD

Ton associé veut savoir avant ce soir ce que la gamme « Info » a rapporté ce mois-ci, et tu n'as ni envie de filtrer le tableau ni de sommer les lignes à la main. Chaque ligne porte sa catégorie en colonne B, sa quantité en C et son prix unitaire en D, et tu veux le total d'une seule catégorie sans toucher aux données. La fonction SOMMEPROD gère ça toute seule : une condition glissée entre parenthèses éteint les lignes qui ne t'intéressent pas avant même la multiplication.

Les étapes
  1. 1
    Dans une cellule, écris =SOMMEPROD(.
  2. 2
    En 1er argument : écris d'un bloc le calcul de chaque ligne, (B2:B7="Info")*C2:C7*D2:D7. La condition entre parenthèses fabrique un tableau de VRAI et de FAUX que la fonction SOMMEPROD lit comme des 1 et des 0. En multipliant ce tableau par la quantité C2:C7 puis par le prix D2:D7, les lignes hors catégorie passent par un 0 et s'éteignent, tandis que les trois lignes « Info » gardent leur produit quantité × prix.
  3. 3
    Ferme la parenthèse et appuie sur Entrée. La fonction SOMMEPROD additionne les six produits, dont trois sont nuls, et affiche 14 400 €.
Une fois les morceaux assemblés, ta formule donne ça :=SOMMEPROD((B2:B7="Info")*C2:C7*D2:D7)
Explication
Ici, la fonction ne reçoit qu'un seul argument, mais cet argument est déjà un calcul complet. La condition transforme chaque ligne en 1 ou en 0, la multiplication par la quantité puis par le prix éteint les lignes hors catégorie (tout ce qui passe par un 0 vaut 0), et seules les trois lignes « Info » pèsent encore dans l'addition finale : 10 200 € + 1 950 € + 2 250 € = 14 400 €.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction SOMMEPROD

Quand SOMMEPROD affiche #VALEUR!, c'est qu'elle a reçu des plages de tailles différentes (A1:A10 face à B1:B5) et ne sait plus quelle valeur apparier à laquelle.

Les deux autres ratés ne crient même pas : une cellule vide au milieu compte pour 0 et tire ta moyenne pondérée vers le bas en silence, et une colonne entière comme A:A fait mouliner Excel sur un million de lignes pour trois cents données réelles, d'où ces calculs qui traînent.

Erreur #VALEUR! -- tableaux de tailles différentes

C'est l'erreur la plus fréquente avec SOMMEPROD. Si tu écris =SOMMEPROD(A1:A10; B1:B5), Excel affiche #VALEUR! car les deux plages n'ont pas la même taille (10 lignes contre 5 lignes). Excel ne sait pas quelles valeurs multiplier ensemble.

Solution : Vérifie que toutes tes plages ont exactement les mêmes dimensions : même nombre de lignes ET de colonnes. Par exemple, aligne sur =SOMMEPROD(A1:A10; B1:B10). Sélectionne une plage et regarde la zone Nom en haut à gauche de la barre de formule pour vérifier sa taille.

Résultat inattendu à cause de cellules vides au milieu des données

Les cellules vides sont traitées comme des 0 par SOMMEPROD. Si ta plage contient des cellules vides au milieu des données, elles ne génèrent pas d'erreur mais donnent 0 dans le calcul, ce qui peut fausser une moyenne pondérée (le dénominateur reste le même mais certains numérateurs valent 0).

Solution : Assure-toi que tes plages ne contiennent pas de cellules vides au milieu des données. Si c'est inévitable, ajoute une condition pour les exclure : =SOMMEPROD((A1:A10<>"")*A1:A10*B1:B10) écarte les lignes où A est vide.

Formule très lente sur de grandes plages

Quand tu utilises SOMMEPROD avec des colonnes entières (comme A:A) et plusieurs conditions, Excel peut mettre plusieurs secondes à calculer car il traite plus d'un million de lignes, même si tes données n'en occupent que quelques centaines.

Solution : Limite tes plages aux données réelles. Au lieu de =SOMMEPROD((A:A="Paris")*B:B), utilise =SOMMEPROD((A2:A1000="Paris")*B2:B1000). Si tes données croissent régulièrement, convertis ton tableau en tableau structuré (Ctrl+T) : les références de type Tableau1[Région] s'adaptent automatiquement.

Confusion entre SOMMEPROD et SOMME.SI.ENS

Beaucoup utilisent SOMMEPROD alors que SOMME.SI.ENS serait plus rapide et plus lisible (ou inversement). SOMME.SI.ENS additionne une plage selon des critères fixes, tandis que SOMMEPROD multiplie d'abord plusieurs colonnes puis additionne, ce qui le rend indispensable pour les calculs quantité × prix ou les conditions calculées dynamiquement.

Solution : Choisis SOMME.SI.ENS pour additionner sur des critères simples et fixes (région = « Nord » ET statut = « Validé »). Choisis SOMMEPROD quand tu dois multiplier des colonnes entre elles (quantité × prix × taux) ou quand les critères impliquent des calculs dynamiques comme >MOYENNE(B:B).

Lucas, la mascotte du Dojo, compare deux fonctions Excel

SOMMEPROD vs SOMME.SI.ENS vs PRODUIT vs SOMME

À l'écran, ces quatre fonctions rendent toutes un nombre unique, mais pas par le même chemin : SOMMEPROD multiplie tes colonnes entre elles avant d'additionner, là où SOMME.SI.ENS se contente d'additionner une plage selon des critères, PRODUIT multiplie sans jamais sommer et SOMME somme sans jamais multiplier.

Garde SOMMEPROD pour les calculs quantité × prix, les bonus à taux variable et les moyennes pondérées ; bascule sur SOMME.SI.ENS dès qu'il s'agit juste d'additionner avec des filtres fixes, plus rapide et plus lisible sur de gros volumes.

CritèreSOMMEPRODSOMME.SI.ENSPRODUITSOMME
Opération principaleMultiplie puis additionneAdditionne selon critèresMultiplie uniquementAdditionne uniquement
Gère plusieurs tableaux✅ Oui (jusqu'à 255)❌ Non (1 plage à additionner)✅ Oui✅ Oui
Critères conditionnels✅ Très flexible✅ Jusqu'à 127 critères❌ Non❌ Non
Calcul de moyenne pondérée✅ Parfait pour ça❌ Pas adapté❌ Non❌ Non
Vitesse sur grandes données⭐⭐ Moyen⭐⭐⭐ Rapide⭐⭐⭐ Rapide⭐⭐⭐ Rapide
Niveau de difficulté⭐⭐ Intermédiaire⭐⭐ Intermédiaire⭐ Débutant⭐ Débutant
Cas d'usage typiqueCA = quantité × prix, bonus, moyenne pondéréeTotal ventes Paris en janvierFactorielle, intérêts composésTotal simple d'une colonne
Le conseil du pro
Pour fiabiliser une condition dans SOMMEPROD, place une double négation devant : SOMMEPROD(--(A1:A10="Paris"); B1:B10). Le -- force explicitement VRAI en 1 et FAUX en 0, ce qui évite les résultats surprenants dans les formules imbriquées.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec SOMMEPROD

1Astuce

Utilise la double négation -- pour sécuriser les booléens

Place -- devant une condition pour forcer la conversion VRAI→1 / FAUX→0 de façon explicite : =SOMMEPROD(--(A1:A10="Paris"); B1:B10). Sans --, la multiplication fonctionne en général, mais la double négation rend la formule plus robuste et lisible.
Sur certaines versions d'Excel, les booléens non convertis peuvent produire des résultats inattendus dans des formules imbriquées.

2Astuce

Calcule un chiffre d'affaires conditionnel

Combine multiplication de colonnes et conditions dans une seule formule : =SOMMEPROD((A2:A100="Validée")*B2:B100*C2:C100) calcule le CA (quantité × prix) uniquement pour les lignes dont le statut est « Validée ». Les autres lignes sont multipliées par 0 et ignorées.
Ajoute autant de conditions que nécessaire : chaque parenthèse supplémentaire affine le filtre.

3Astuce

Compte avec des critères dynamiques liés à la date

Pour compter les lignes où une date tombe dans les 30 derniers jours, utilise =SOMMEPROD((A2:A100="Commercial")*(B2:B100>=AUJOURDHUI()-30)). NB.SI.ENS ne gère pas les critères calculés dynamiquement : SOMMEPROD prend le relais.
Remplace 30 par n'importe quel intervalle pour adapter la fenêtre temporelle sans modifier la structure.

FAQ

Questions fréquentes

SOMMEPROD multiplie les éléments de plusieurs tableaux puis additionne, tandis que SOMME.SI.ENS additionne une seule plage selon des critères définis. SOMMEPROD est plus flexible pour les calculs complexes (quantité × prix, moyenne pondérée, conditions calculées dynamiquement). Dès que tu veux simplement additionner une colonne avec un ou plusieurs filtres simples, SOMME.SI.ENS est plus rapide et plus lisible. Utilise SOMMEPROD quand tu dois multiplier des colonnes entre elles ou quand les critères impliquent des formules.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction SOMMEPROD : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir