Ga naar hoofdinhoud

SUMPRODUCT() in Excel: wat je moet weten

Een praktische gids voor het gebruik van SUMPRODUCT() voor voorwaardelijke, gewogen en matrixgebaseerde berekeningen in Excel
· 15 min lezen

Verken met AI

Voordat functies als SUMIF() en SUMIFS() bestonden, was SUMPRODUCT() een van de belangrijkste tools in Excel voor het afhandelen van voorwaardelijke logica. Analisten gebruikten het om data te filteren, meerdere criteria toe te passen en gewogen resultaten te berekenen, lang voordat er speciale voorwaardelijke functies waren.

Ook vandaag de dag pakt SUMPRODUCT() scenario’s aan waar nieuwere functies moeite mee hebben, vooral wanneer meerdere voorwaarden, arrays of berekeningen samen moeten worden geëvalueerd.

Toch wordt de functie vaak over het hoofd gezien of verkeerd begrepen. Veel gebruikers weten dat hij bestaat, maar gaan nooit verder dan basisvoorbeelden. 

In dit artikel leer je hoe je SUMPRODUCT() gebruikt voor voorwaardelijke en gewogen berekeningen, en hoe je veelgemaakte fouten voorkomt zodat je het met vertrouwen kunt inzetten in echte Excel-modellen.

SUMPRODUCT() begrijpen

SUMPRODUCT() is een Excel-functie die overeenkomende waarden in arrays met elkaar vermenigvuldigt en vervolgens de resultaten optelt, zodat je complexe berekeningen met één formule kunt uitvoeren. Hoewel de functie vaak met geavanceerde analyses wordt geassocieerd, was het oorspronkelijke doel een stuk praktischer.

Fundamentele concepten en basis­syntaxis

De functie SUMPRODUCT() in Excel neemt twee of meer bereiken, vermenigvuldigt de overeenkomende waarden en telt de resultaten op tot één eindwaarde. Het hoofddoel is om berekening en aggregatie in één formule te combineren en zo hulpkolommen overbodig te maken.

Dit betekent dat, ongeacht hoeveel arrays je opneemt, SUMPRODUCT() altijd één numeriek resultaat oplevert.

De syntaxis van SUMPRODUCT() is:

SUMPRODUCT(array1, [array2], …)

Hier is een uitleg van deze syntaxis: 

Element

Beschrijving

Opmerkingen

array1

Het eerste bereik of de eerste array die in de berekening wordt gebruikt

Vereist

[array2]

Aanvullende bereiken of arrays om met array1 te vermenigvuldigen

Optioneel

…

Je kunt meerdere arrays in dezelfde formule opnemen

Alle arrays moeten uitgelijnd zijn

When je SUMPRODUCT() gebruikt, houd dan het volgende in gedachten: 

  • Elke array moet hetzelfde aantal rijen en kolommen hebben, omdat SUMPRODUCT() items op positie uitlijnt. 

  • Als één array langer is of een andere vorm heeft, kan de functie de waarden niet goed matchen en mogelijk een #VALUE!-fout geven.

  • Lege cellen worden behandeld als nullen.

  • Tekst wordt genegeerd in berekeningen, tenzij gebruikt in een logische expressie. 

Standaardgedrag: vermenigvuldigen en optellen

Standaard vermenigvuldigt SUMPRODUCT() overeenkomende waarden uit meerdere arrays en telt de resultaten vervolgens bij elkaar op. Deze element-voor-elementvermenigvuldiging gevolgd door optelling is hoe de functie werkt. 

Stel dat we een eenvoudige dataset met aantallen en prijzen hebben. Als de kolom Quantity de aantallen bevat en de kolom Price de prijzen, berekent de volgende formule de totale omzet:

=SUMPRODUCT(A2:A4, B2:B4)

SUMPRODUCT function in Excel

SUMPRODUCT() in Excel. Afbeelding door de auteur.

Achter het resultaat beoordeelt Excel elke rij afzonderlijk en telt daarna de resultaten op:

  • Rij 1: 2 × 50 = 100
  • Rij 2: 3 × 30 = 90
  • Rij 3: 1 × 20 = 20

Excel telt die waarden vervolgens op: 100 + 90 + 20 = 210

Dit vervangt de noodzaak voor hulpkolommen die handmatig rijtotalen berekenen voordat ze worden opgeteld. SUMPRODUCT() houdt de volledige berekening in één formule, wat formulespreiding vermindert en het risico op verwijzingsfouten verkleint.

Dit standaardgedrag van eerst vermenigvuldigen en dan optellen maakt later geavanceerdere toepassingen mogelijk, waaronder voorwaardelijke logica en gewogen berekeningen.

SUMPRODUCT() uitbreiden voorbij de basis

Nu je weet hoe het werkt, bekijken we enkele geavanceerde bewerkingen die SUMPRODUCT() kan uitvoeren:

Geavanceerde rekenkunde en gebruik van operatoren

SUMPRODUCT() kan volledige rekenkundige expressies evalueren, waaronder optellen, aftrekken en delen per rij, voordat de resultaten worden opgeteld.

Wanneer je rekenkundige operatoren (*, +, -, /) binnen een expressie gebruikt, evalueert Excel eerst de volledige berekening per rij. Deze formule berekent bijvoorbeeld de totale omzet min kortingen: 

=SUMPRODUCT((B2:B6*C2:C6)-E2:E6)

Dit vermenigvuldigt Quantity × Price per rij en trekt de waarde in Discount af, en telt daarna alle resulterende waarden op tot één totaal.

Using arithmetic expressions and operators in SUMPRODUCT

Gebruik rekenkundige expressies en operatoren in SUMPRODUCT(). Afbeelding door de auteur.

Komma’s werken echter anders. Als je arrays met komma’s scheidt, wordt elke array behandeld als een onafhankelijke invoer, en SUMPRODUCT() vermenigvuldigt overeenkomende elementen over die arrays voordat ze worden opgeteld. 

Voor logische voorwaarden vertrouwt SUMPRODUCT() op de dubbele-unair-operator --. Logische expressies zoals A2:A6>100 leveren TRUE- of FALSE-waarden op, die moeten worden omgezet in 1’en en 0’en voordat ze kunnen deelnemen aan rekenkundige bewerkingen. 

De dubbele unair voert die conversie uit:

=SUMPRODUCT(--(A2:A6>100), B2:B6)

In dit voorbeeld dragen alleen rijen waar de voorwaarde TRUE is bij aan het totaal.

Deze flexibiliteit met operatoren — rekenkundige expressies, logische tests en arraykoppeling combineren — maakt SUMPRODUCT() onmisbaar voor modellering, rapportage en scenario’s waar anders hulpkolommen nodig zouden zijn.

Voorwaardelijke berekeningen en logische criteria

SUMPRODUCT() kan logische voorwaarden direct binnen een formule evalueren. Deze voorwaarden genereren arrays met TRUE- en FALSE-waarden, die in getallen moeten worden omgezet voordat ze aan berekeningen kunnen deelnemen.

Stel dat we de Quantity willen optellen voor producten in de categorie Fruit. In dat geval, als je deze formule probeert =SUMPRODUCT((D2:D6="Fruit"), B2:B6), is het resultaat 0. 

Waarom? Omdat een logische test zoals: D2:D6="Fruit" {TRUE, TRUE, FALSE, TRUE, FALSE} oplevert.

Dit zijn logische waarden, geen getallen. En omdat SUMPRODUCT() numerieke berekeningen uitvoert, moeten die logische waarden worden omgezet in 1’en en 0’en. De dubbele-unair-operator -- voert die conversie uit:

--(D2:D6="Fruit")

Dit zet logische waarden als volgt om in getallen:

{1, 1, 0, 1, 0}

Hier wordt TRUE 1 en FALSE 0. Nu kan SUMPRODUCT() correct vermenigvuldigen.

=SUMPRODUCT(--(D2:D6="Fruit"), B2:B6)

Zo wordt het berekend: 

(1×5) + (1×3) + (0×4) + (1×2) + (0×6) = 10

Alleen rijen met 1 worden in de berekening opgenomen. Het resultaat is 10, het totale aantal voor producten in Fruit.

using Double unary in SUMPRODUCT in Excel.

Gebruik de dubbele unair in SUMPRODUCT() in Excel. Afbeelding door de auteur.

Werken met meerdere criteria (EN/OF-logica)

SUMPRODUCT() verwerkt meerdere voorwaarden met AND- en OR-logica. Zo werkt het: 

EN-logica: alle voorwaarden moeten gelden

Om AND-logica toe te passen, worden voorwaarden met * vermenigvuldigd. Omdat alleen 1 × 1 gelijk is aan 1, wordt een rij alleen opgenomen als elke voorwaarde TRUE is:

=SUMPRODUCT(--(A2:A10>50)* --(B2:B10<100)* C2:C10)

Je kunt arrays ook met komma’s scheiden. Standaard vermenigvuldigt SUMPRODUCT() arrays die door komma’s zijn gescheiden. Maar * maakt de EN-logica beter zichtbaar.

=SUMPRODUCT(--(A2:A10>50), --(B2:B10<100), C2:C10)

In dit voorbeeld worden waarden uit kolom C alleen opgeteld wanneer:

  • Kolom A groter is dan 50
  • Kolom B kleiner is dan 100

Als een van de voorwaarden faalt, wordt de rij 0 en uitgesloten.

OF-logica: elke voorwaarde mag gelden

OF-logica maak je door voorwaarden bij elkaar op te tellen met +. Als een voorwaarde TRUE is, draagt de rij bij aan het totaal:

=SUMPRODUCT(--((A2:A10>50)+(B2:B10<100)), C2:C10)

Hier worden rijen opgenomen wanneer een van beide voorwaarden TRUE is. De optelling kan waarden groter dan 1 opleveren, maar de dubbele unair -- zet elk niet-nulresultaat om in 1, zodat elke rij één keer wordt geteld.

Applying AND and OR logic using SUMPRODUCT.

Pas EN- en OF-logica toe met SUMPRODUCT(). Afbeelding door de auteur.

Waarom SUMPRODUCT() vaak de voorkeur heeft boven SUMIFS()

Hoewel SUMIFS() meerdere EN-voorwaarden goed aankan, kan het niet native OF-logica of complexere patronen evalueren wanneer voorwaarden meerdere kolommen beslaan of numerieke en tekstcriteria worden gemengd.

SUMPRODUCT() blinkt uit in scenario’s zoals:

  • OF-logica toepassen over kolommen
  • Numerieke drempels combineren met tekstvoorwaarden
  • Filters over meerdere kolommen bouwen zonder hulpkolommen

Deze flexibiliteit maakt SUMPRODUCT() een betrouwbare keuze voor geavanceerd filteren, modelleren en rapporteren, waar voorwaardelijke logica verder gaat dan de standaardregels van SUMIFS().

Toegepaste analytische technieken met SUMPRODUCT()

SUMPRODUCT() is niet alleen voor eenvoudige berekeningen; het kan ook complexe analyses aan. 

Toepassingen met rij- en kolomcriteria

SUMPRODUCT() kan tegelijk voorwaarden toepassen over zowel rijen als kolommen. Zo werk je makkelijker met matrix- of kruistabdata. 

In plaats van één waarde terug te geven zoals INDEX/MATCH, kan het meerdere kruisingen tegelijk evalueren en een gecombineerd totaal teruggeven.

Hierdoor kan SUMPRODUCT() fungeren als een dynamische twee­dimensionale zoekoplossing, zonder hulpkolommen of aparte zoekformules.

Stel, je hebt een verkoopmatrix per product (rijen) en regio (kolommen), en je wilt de totale verkoop voor Apple en Banana in de regio’s North en East berekenen. 

Daarvoor gebruik je de volgende formule:

=SUMPRODUCT(
B2:E4 *
  ((A2:A4="Apple")+(A2:A4="Banana")) *
  ((B1:E1="North")+(B1:E1="East"))
)

SUMPRODUCT handles matrix multiplication in Excel.

SUMPRODUCT() verwerkt matrixvermenigvuldiging. Afbeelding door de auteur.

In deze formule:

  • B2:E4 bevat de verkoopwaarden

  • (A2:A4="Apple") + (A2:A4="Banana") creëert een verticale rijfilter

  • (B1:E1="North") + (B1:E1="East") creëert een horizontale kolomfilter

Rijen en kolommen die aan de criteria voldoen, worden 1. Alle andere worden 0. Elke waarde in de verkoopmatrix wordt vermenigvuldigd met zowel de rij- als kolomvoorwaarde.

Alleen cellen die aan beide voorwaarden voldoen, blijven niet-nul.

In dit voorbeeld:

  • Apple (North + East): 120 + 110
  • Banana (North + East): 70 + 85

Totaal: 385

Dit patroon werkt voor elke tweedimensionale dataset waarbij meerdere rij- en kolomvoorwaarden tegelijk moeten worden toegepast, zoals:

  • Product × regio
  • Jaar × categorie
  • Afdeling × kostentype

In deze scenario’s biedt SUMPRODUCT() meer flexibiliteit dan traditionele zoekfuncties en vermijdt het de complexiteit van geneste formules.

Gewogen gemiddelde berekeningen

Gewogen gemiddelden passen natuurlijk bij SUMPRODUCT(), omdat de berekening zelf het standaardgedrag van de functie volgt: waarden vermenigvuldigen met gewichten en vervolgens de resultaten optellen.

De standaardformule voor een gewogen gemiddelde ziet er zo uit:

(Som van Score × Gewicht) ÷ (Som van Gewichten)

Maar SUMPRODUCT() vereenvoudigt dit door de vermenigvuldiging en optelling in één stap af te handelen. In plaats van hulpkolommen te maken, kun je het gewogen totaal direct berekenen en delen door de som van de gewichten:

=SUMPRODUCT(values, weights) / SUM(weights)

Om bijvoorbeeld het gewogen cursusgemiddelde van een student te berekenen, kun je de volgende formule gebruiken:

=SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4)

Zo beoordeelt Excel elk onderdeel:

  • Wiskunde: 85 × 0,40 = 34
  • Natuurkunde: 90 × 0,35 = 31,5
  • Engels: 78 × 0,25 = 19,5

Het gewogen totaal is 85, wat het uiteindelijke gemiddelde wordt.

Calculate the weighted average using the SUMPRODUCT

Het gewogen gemiddelde berekenen met SUMPRODUCT. Afbeelding door de auteur.

Filteren of aanpassen van gewichten met criteria

Waar SUMPRODUCT() nog handiger wordt, is wanneer gewichten dynamisch moeten worden aangepast. 

Je kunt bijvoorbeeld bepaalde vakken uitsluiten of voorwaarden op de berekening toepassen:

=SUMPRODUCT(B2:B6, C2:C6, --(D2:D6<>"Optional")) / 
 SUMPRODUCT(C2:C6, --(D2:D6<>"Optional"))

De formule deelt het gewogen totaal (teller) door het totale gewicht (noemer).

Calculating the weighted average using SUMPRODUCT() in Excel

Het gewogen gemiddelde berekenen met SUMPRODUCT. Afbeelding door de auteur.

In deze formule:

  • (D2:D6<>"Optional") geeft {TRUE, TRUE, FALSE, TRUE, FALSE} terug

  • --(D2:D6<>"Optional") zet dit om naar {1, 1, 0, 1, 0}

  • Teller: (85×0,25×1) + (90×0,25×1) + (78×0,20×0) + (88×0,20×1) + (92×0,10×0) = 21,25 + 22,50 + 0 + 17,60 + 0 = 61,35

  • Noemer: (0,25×1) + (0,25×1) + (0,20×0) + (0,20×1) + (0,10×0) = 0,70

In dit patroon dragen alleen rijen die aan de voorwaarde voldoen bij aan zowel het gewogen totaal als het totale gewicht. Zo blijft de berekening accuraat zonder de data te herstructureren of hulpkolommen toe te voegen.

Omdat gewogen gemiddelden berusten op vermenigvuldiging per rij vóór optelling, is SUMPRODUCT() vaak het meest directe en flexibele hulpmiddel voor beoordelingsmodellen, portefeuillegewichten en prestatie­scores.

Geavanceerde toepassingen en complexe scenario’s

Een van de grootste krachten van SUMPRODUCT() is hoe makkelijk het te combineren is met andere Excel-functies. Omdat het berekeningen rij voor rij evalueert, kan het tekstfuncties, zoekresultaten en logische tests omzetten in numerieke input voor flexibele analyses.

Zo doe je dat. 

Gedeeltelijke tekstmatch met SEARCH() en SUMPRODUCT()

Om tekst te matchen die een woord of zin bevat, koppel je SUMPRODUCT() aan SEARCH() en ISNUMBER():

=SUMPRODUCT(--ISNUMBER(SEARCH("Apple", A2:A5)), B2:B5)

In deze formule: 

  • SEARCH() geeft een getal terug wanneer een match wordt gevonden

  • ISNUMBER() zet matches om naar TRUE/FALSE

  • -- zet die waarden om naar 1’en en 0’en

Alleen rijen die “Apple” bevatten, dragen bij aan het totaal.

Combining SUMPRODUCT with SEARCH

SUMPRODUCT() combineren met SEARCH(). Afbeelding door de auteur.

Hoofdlettergevoelige matching met EXACT() en SUMPRODUCT()

Standaard zijn tekstvergelijkingen in Excel niet hoofdlettergevoelig. Wanneer dat wel uitmaakt, kun je EXACT() binnen SUMPRODUCT() gebruiken zoals hier:

=SUMPRODUCT(--EXACT(A2:A5,"Apple"), B2:B5)

Dit zorgt ervoor dat alleen tekst die exact overeenkomt, inclusief hoofd-/kleine letters, in de berekening wordt opgenomen.

Combining SUMPRODUCT with EXACT

SUMPRODUCT() combineren met EXACT(). Afbeelding door de auteur.

VLOOKUP() gebruiken met SUMPRODUCT()

SUMPRODUCT() kan ook zoekresultaten evalueren als onderdeel van de logica. In combinatie met VLOOKUP() kun je voorwaardelijke berekeningen uitvoeren op basis van waarden die in een aparte tabel zijn opgeslagen:

=SUMPRODUCT(
  (VLOOKUP(A2:A5, D2:E5, 2, FALSE)="Fruit") *
  B2:B5
)

Hier haalt VLOOKUP() de categorie voor elk product op en neemt SUMPRODUCT() alleen rijen op die aan de opgegeven voorwaarde voldoen. Deze aanpak vermijdt hulpkolommen en ondersteunt flexibelere, op opzoekwaarden gebaseerde filtering dan traditionele SUMIF()-formules.

Combining SUMPRODUCT with VLOOKUP

SUMPRODUCT() combineren met VLOOKUP(). Afbeelding door de auteur.

Unieke waarden tellen met COUNTIF() en SUMPRODUCT()

Je kunt SUMPRODUCT() ook gebruiken met COUNTIF() om unieke waarden te tellen, zoals hier:

=SUMPRODUCT(1/COUNTIF(A2:A6, A2:A6))

Combining SUMPRODUCT with COUNTIF.

SUMPRODUCT() combineren met COUNTIF(). Afbeelding door de auteur.

In deze formule delen duplicaten fractiewegingen die optellen tot 1, zodat elk uniek item één keer wordt geteld. Daarom is het resultaat 3. 

Hoewel er nieuwere functies bestaan, is deze techniek nog steeds handig in oudere Excel-versies of complexe arraymodellen.

Probleemoplossing, optimalisatie en best practices

Nu je weet hoe en waar je SUMPRODUCT() gebruikt, volgen hier een paar uitdagingen waar je tegenaan kunt lopen en hoe je ze oplost: 

Fouthandling en veelvoorkomende uitdagingen

De meeste SUMPRODUCT()-fouten komen voort uit kleine structurele issues in plaats van foutieve logica. Wanneer een formule 0, een onverwacht totaal of een fout teruggeeft, is het probleem meestal eenvoudig te isoleren:

Niet-overeenkomende arraygroottes

Elke array die in SUMPRODUCT() wordt gebruikt, moet hetzelfde aantal rijen en kolommen hebben. Als één bereik langer of breder is dan de andere, kan de formule niet correct evalueren.

Snelle check: Controleer of alle verwezen bereiken op dezelfde rijen en kolommen beginnen en eindigen.

Onverwachte tekst of verborgen tekens

SUMPRODUCT() voert numerieke berekeningen uit. Als een bereik er numeriek uitziet maar spaties of tekst bevat, kan de berekening onjuiste resultaten of nul opleveren.

Snelle oplossing: Gebruik TRIM() om extra spaties te verwijderen, of zet waarden desnoods met -- om naar numeriek.

Verkeerd geplaatste haakjes

Haakjes bepalen de volgorde van evaluatie. Een ontbrekend of verkeerd geplaatst haakje kan ervoor zorgen dat een voorwaarde onjuist of helemaal niet wordt toegepast.

Snelle oplossing: Groepeer elke logische test duidelijk voordat je die combineert met rekenkundige bewerkingen of andere voorwaarden.

Tussenlogica stapsgewijs testen

Een van de snelste manieren om een SUMPRODUCT()-formule te debuggen is het evalueren van afzonderlijke componenten.

Zo pak je dat aan: 

  • Selecteer een deel van de formule, zoals (A2:A10>50)
  • Druk op F9
  • Controleer de output

Een gezonde voorwaarde levert een nette array van TRUE en FALSE op of 1’en en 0’en als die zijn geconverteerd. Zie je fouten of onverwachte resultaten, dan is dat segment de bron van het probleem.

Praktische debug-workflow

Wanneer een SUMPRODUCT()-formule zich niet gedraagt zoals verwacht:

  1. Controleer of arraygroottes overeenkomen
  2. Bevestig dat numerieke bereiken alleen getallen bevatten
  3. Test elke voorwaarde afzonderlijk
  4. Bouw de formule stapsgewijs opnieuw op

Deze aanpak lost problemen meestal snel op zonder de hele formule te herschrijven of hulpkolommen toe te voegen.

Prestatie-optimalisatie

SUMPRODUCT() evalueert elke cel in elke verwezen array, dus de formulestructuur heeft direct invloed op de prestaties in grote werkmappen. Met een paar keuzes voorkom je vertragingen:

Beperk bereikkalculaties

Vermijd hele kolomverwijzingen zoals A:A. Beperk formules in plaats daarvan tot het kleinst mogelijke bereik: A2:A500. 

Kleinere bereiken verminderen het aantal cellen dat SUMPRODUCT() moet verwerken en verbeteren de herberekensnelheid.

Vereenvoudig logische expressies

Elke logische test binnen SUMPRODUCT() wordt rij voor rij geëvalueerd. Probeer daarom waar mogelijk voorwaarden te combineren of te stroomlijnen; dit vermindert het aantal bewerkingen.

Als twee voorwaarden als één helderdere regel kunnen worden uitgedrukt, verbeteren de prestaties zonder de resultaten te veranderen.

Gebruik gestructureerde tabellen of dynamische benoemde bereiken

Excel-tabellen en dynamische benoemde bereiken passen zich automatisch aan naarmate data groeit, terwijl de bereiken toch strak afgebakend blijven. Zo blijven de prestaties op peil zonder dat je formules hoeft aan te passen wanneer datasets groter worden.

Wees bedacht op grote arrays

Elke extra array en voorwaarde vergroot de rekenlast. Vermijd in grote modellen onnodige criteria en verwijder arrays die het resultaat niet direct beïnvloeden.

Werken met dynamische arrays in Excel 365

In Excel 365 levert SUMPRODUCT() geen spill-resultaten op, maar het werkt wel betrouwbaar met spill-arrays van functies zoals FILTER() of UNIQUE(). Zo kun je dynamische array-uitvoer combineren met SUMPRODUCT() en toch stabiele, voorspelbare berekeningen behouden.

Overweeg bij grote modellen met veel spill of een dynamische array-functie een deel van de logica kan vervangen. Maar wanneer vermenigvuldiging per rij en voorwaardelijke wegingsfactoren nodig zijn, is SUMPRODUCT() de betere optie.

SUMPRODUCT() vergelijken met alternatieve functies 

SUMPRODUCT() overlapt met verschillende Excel-functies, maar lost problemen op een andere manier op. Zo zit het: 

SUMPRODUCT() vs. SUMIF() / SUMIFS()

SUMIF() en SUMIFS() zijn snel en efficiënt voor eenvoudige voorwaarden. Ze werken het best wanneer:

  • Criteria simpel zijn
  • Matches exact zijn
  • De logica strikt EN-gebaseerd is

SUMPRODUCT() ruilt wat snelheid in voor flexibiliteit. De functie is geschikter wanneer berekeningen vereisen:

  • Gedeeltelijke tekstmatches
  • OF-logica of gemengde voorwaarden
  • Berekende criteria in plaats van statische bereiken
  • Complexe logica zonder hulpkolommen

Voor grote datasets met eenvoudige regels is SUMIFS() meestal sneller. Maar wanneer precisie en controle belangrijker zijn dan ruwe snelheid, is SUMPRODUCT() de betere keuze.

SUMPRODUCT() vs. klassieke arrayformules

Traditionele arrayformules kunnen veel van dezelfde berekeningen uitvoeren, maar vereisen Ctrl+Shift+Enter (CSE) en zijn lastiger te onderhouden.

SUMPRODUCT() vermijdt CSE volledig en gedraagt zich als een standaard Excel-functie. Dit maakt formules makkelijker te lezen, te bewerken en te delen in collaboratieve of zakelijke omgevingen waar gebruikers arrayformules mogelijk niet herkennen.

SUMPRODUCT() vs. moderne dynamische arrayfuncties

Nieuwere functies zoals FILTER(), UNIQUE() en BYROW() zijn uitstekend voor spill-resultaten, het herschikken van data en het produceren van zichtbare lijsten of tabellen.

Maar SUMPRODUCT() blijft waardevol wanneer:

  • Je één numeriek resultaat nodig hebt
  • De logica in één cel moet blijven
  • Berekeningen berusten op vermenigvuldiging en weging per rij
  • Achterwaartse compatibiliteit belangrijk is

Dynamische arrays vullen SUMPRODUCT() vaak aan in plaats van het te vervangen, bijvoorbeeld door gefilterde arrays te genereren die SUMPRODUCT() vervolgens evalueert.

Wanneer SUMPRODUCT() de juiste keuze is

Gebruik SUMPRODUCT() wanneer je nodig hebt:

  • Voorwaardelijke totalen met complexe logica

  • OF-voorwaarden of berekende criteria

  • Gewogen berekeningen zonder hulpkolommen

  • Één enkele, stabiele resultaatcel

Functie

Beste gebruiksscenario

Sterke punten

Beperkingen

SUMPRODUCT()

Complexe voorwaardelijke berekeningen die één getal opleveren

Flexibele logica

OF-voorwaarden

Gewogen berekeningen

Geen hulpkolommen

Langzamer op zeer grote bereiken

SUMIF() / SUMIFS()

Eenvoudige voorwaardelijke totalen

Snel

Efficiënt

Makkelijk te lezen

Beperkte logica

Geen OF-voorwaarden

Klassieke arrayformules

Geavanceerde berekeningen in oudere Excel-modellen

Flexibel

Vereist Ctrl+Shift+Enter

Moeilijker te onderhouden

FILTER()

Gefilterde lijsten of tabellen retourneren

Dynamische resultaten

Leesbare logica

Niet ontworpen voor gewogen rekenwerk

UNIQUE()

Unieke waarden extraheren

Eenvoudig 

Snel

Geen berekeningslogica

BYROW() / LAMBDA

Aangepaste logica op rijniveau

Zeer flexibel

Moderne patronen

Complexere setup

INDEX MATCH()

Opzoeken van één waarde

Precies

Efficiënt

Geeft één waarde terug

Geen aggregaties

Implementatie over platforms

De kernlogica achter SUMPRODUCT(): filteren, vermenigvuldigen en dan optellen, is consistent over tools heen. Wat verandert, is hoe elk platform logische waarden en arrays behandelt.

Gedrag in Excel vs. Google Sheets

Zowel Excel als Google Sheets support SUMPRODUCT(), maar ze verschillen iets in hoe ze logische waarden behandelen.

In Excel leveren logische expressies TRUE en FALSE op, die expliciet moeten worden omgezet in 1 en 0 met de dubbele unair -- of numerieke coercion. Zonder deze conversie kunnen berekeningen onverwachte resultaten opleveren.

Google Sheets voert die conversie automatisch uit. Logische waarden worden als numeriek behandeld (TRUE = 1, FALSE = 0), waardoor SUMPRODUCT()-formules mogelijk werken zonder extra operatoren.

Conceptueel is de logica identiek. Het verschil zit alleen in of numerieke conversie impliciet of expliciet is.

SUMPRODUCT()-logica vertalen naar Python

Hetzelfde patroon geldt in Python-gebaseerde tools zoals NumPy of pandas, ook al is de syntaxis anders.

In Python worden voorwaarden rijsgewijs geëvalueerd en leveren ze booleaanse arrays op (True en False). Deze booleans gedragen zich al als 1 en 0 in berekeningen, waardoor de conversiestap vervalt.

De conceptuele flow blijft hetzelfde:

  1. Evalueer een voorwaarde
  2. Maak een booleans masker
  3. Vermenigvuldig waarden met dat masker
  4. Tel de resultaten op

Overwegingen voor teams die platformoverstijgend werken

Als jij of je team met Excel, Google Sheets en Python werkt, stem dan een paar kernpunten op elkaar af:

  • Booleaanse logica is de gemeenschappelijke taal: Alle platforms gebruiken TRUE/FALSE-achtige logica die als numerieke maskers kan fungeren.

  • Maskeren vervangt hulpkolommen: Excel gebruikt --(condition). Python gebruikt booleans maskers direct.

  • Regels voor tekstmatching verschillen: Excel-functies zoals SEARCH() zijn standaard niet hoofdlettergevoelig, terwijl tekstmatching in Python hoofdlettergevoelig kan zijn afhankelijk van de configuratie.

  • Ontbrekende waarden gedragen zich anders: Lege cellen in Excel en NaN-waarden in Python kunnen resultaten beïnvloeden tenzij ze consistent worden afgehandeld.

Over platforms heen blijft het kernidee hetzelfde: SUMPRODUCT() staat voor een herbruikbaar rekenpatroon.

Tot slot

Wil je beter worden in SUMPRODUCT()? Neem dan een bestaand rapport en bouw een complexe formule opnieuw op, maar dan zonder hulpkolommen. Zo leer je het patroon begrijpen en zie je waar SUMPRODUCT() past in je workflow.

Wil je nog een stap verder, bekijk dan de skills track Data Analysis with Excel Power Tools om te zien hoe functies als SUMPRODUCT() passen in bredere analytische workflows. 

Laiba Siddiqui

Auteur

Laiba Siddiqui

Ik ben een contentstrateeg die graag complexe onderwerpen eenvoudig maakt. Ik heb bedrijven als Splunk, Hackernoon en Tiiny Host geholpen om boeiende en informatieve content te maken voor hun doelgroep.

SUMPRODUCT() Veelgestelde vragen

Hoe negeert SUMPRODUCT() tekstwaarden bij het optellen van getallen?

SUMPRODUCT() gaat niet automatisch om met tekstwaarden. De tekst moet dus vóór de berekening naar nul worden omgezet. Gebruik IFERROR() om alle niet-numerieke waarden naar nul te converteren.

=SUMPRODUCT((criteria_range=criteria)*(--ISNUMBER(value_range)), value_range)

Ondersteunt SUMPRODUCT() wildcard-tekens?

Nee. Wildcards zoals * en ? worden niet direct ondersteund. Je moet functies als LEFT(), RIGHT() of FIND() binnen SUMPRODUCT() gebruiken om wildcard-gedrag te simuleren.

Hoe kan SUMPRODUCT() dynamisch kolommen selecteren?

Je kunt SUMPRODUCT() dynamisch maken door INDEX() met MATCH() te gebruiken om begin- en eindkolommen te definiëren op basis van invoercellen.

Onderwerpen