Home › Excel-functies › SOMPRODUCT

SOMPRODUCT in Excel, met voorbeelden

SOMPRODUCT vermenigvuldigt bereiken rij voor rij en telt de uitkomsten op. Aantal × prijs voor een hele bestelling in één cel is het bekendste voorbeeld, maar SOMPRODUCT kan ook optellen en tellen met voorwaarden, inclusief OF-logica die SOMMEN.ALS niet kan. In de Engelse Excel heet de functie SUMPRODUCT.

In deze uitleg
  1. Syntaxis van SOMPRODUCT
  2. Basisvoorbeeld
  3. Optellen met voorwaarden
  4. Tellen met voorwaarden
  5. OF-voorwaarden
  6. Gewogen gemiddelde
  7. Veelgemaakte fouten
  8. FAQ

Syntaxis van SOMPRODUCT

=SOMPRODUCT(matrix1; [matrix2]; [matrix3]; …)

Alle matrices moeten even groot zijn. Excel vermenigvuldigt de eerste waarden van elke matrix, dan de tweede, enzovoort, en geeft het totaal.

Basisvoorbeeld: totaal van een bestelling

ABCD
1ProductAantalPrijsRegio
2Pennen101,50Noord
3Schriften43,25Zuid
4Mappen62,00Noord
5Stiften81,75Oost
6Nietmachines27,50Zuid
=SOMPRODUCT(B2:B6; C2:C6)

Excel rekent 10×1,50 + 4×3,25 + 6×2,00 + 8×1,75 + 2×7,50 = 15 + 13 + 12 + 14 + 15 = 69. Zonder SOMPRODUCT heb je een hulpkolom met =B2*C2 nodig en daarna een SOM.

Optellen met een voorwaarde

Zet een vergelijking tussen haakjes. Die geeft voor elke rij WAAR of ONWAAR, en door te vermenigvuldigen worden dat 1 en 0. Rijen die niet voldoen, worden met 0 vermenigvuldigd en vallen weg.

=SOMPRODUCT((D2:D6="Noord") * B2:B6 * C2:C6)

Alleen Pennen en Mappen zitten in Noord: 15 + 12 = 27.

Meer voorwaarden voeg je toe door meer haakjes te vermenigvuldigen: (D2:D6="Zuid") * (B2:B6>3) betekent Zuid én meer dan 3.

Tellen met voorwaarden

Laat de waarden weg en SOMPRODUCT telt de rijen waarin alle voorwaarden waar zijn:

=SOMPRODUCT((D2:D6="Zuid") * (B2:B6>3))

Alleen Schriften zit in Zuid met een aantal boven 3, dus de uitkomst is 1. AANTALLEN.ALS geeft hier hetzelfde, maar SOMPRODUCT accepteert ook berekeningen in de voorwaarde, zoals (MAAND(A2:A100)=3) om alles in maart te tellen.

OF-voorwaarden

Vermenigvuldigen betekent EN. Twee voorwaarden optellen betekent OF:

=SOMPRODUCT(((D2:D6="Noord") + (D2:D6="Oost")) * B2:B6)

Dit telt de aantallen voor Noord of Oost op: 10 + 6 + 8 = 24. Houd de extra haakjes rond het OF-deel, anders geldt de vermenigvuldiging alleen voor de tweede voorwaarde.

Gewogen gemiddelde

Wat is de gemiddelde prijs per stuk, rekening houdend met de aantallen? Deel SOMPRODUCT door het totale aantal:

=SOMPRODUCT(B2:B6; C2:C6) / SOM(B2:B6)

69 / 30 = 2,30. Een gewoon GEMIDDELDE van de prijzen geeft 3,20, omdat het de 2 nietmachines even zwaar laat tellen als de 10 pennen.

Veelgemaakte fouten met SOMPRODUCT

  • #WAARDE! De bereiken zijn niet even groot, zoals B2:B6 en C2:C7.
  • Uitkomst is 0 met een voorwaarde. Je zette een puntkomma tussen een voorwaarde en een bereik: SOMPRODUCT((D2:D6="Noord"); B2:B6). WAAR/ONWAAR telt als 0 als je niet vermenigvuldigt. Gebruik * of zet -- voor de voorwaarde.
  • Trage werkmap. Vermijd hele kolommen zoals A:A: SOMPRODUCT rekent dan over een miljoen rijen.

Veelgestelde vragen

Wat is het verschil tussen SOMPRODUCT en SOMMEN.ALS?

SOMMEN.ALS is sneller en eenvoudiger voor gewone EN-voorwaarden. SOMPRODUCT is flexibeler: het kan OF-logica aan, berekeningen in voorwaarden en kolommen vermenigvuldigen voor het optellen.

Heb ik Ctrl+Shift+Enter nodig voor SOMPRODUCT?

Nee. SOMPRODUCT werkt vanzelf met matrices, ook in oude versies van Excel.

Kan SOMPRODUCT unieke waarden tellen?

Ja: =SOMPRODUCT(1/AANTAL.ALS(A2:A10; A2:A10)) telt de verschillende waarden in een lijst zonder lege cellen. Zie unieke waarden tellen.

Wat doet het dubbele minteken (--)?

Het maakt van WAAR en ONWAAR 1 en 0, dus =SOMPRODUCT(--(A2:A10="Ja")) telt de cellen waarin Ja staat.