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
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
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Aantal | Prijs | Regio |
| 2 | Pennen | 10 | 1,50 | Noord |
| 3 | Schriften | 4 | 3,25 | Zuid |
| 4 | Mappen | 6 | 2,00 | Noord |
| 5 | Stiften | 8 | 1,75 | Oost |
| 6 | Nietmachines | 2 | 7,50 | Zuid |
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.