Quick Navigation
SUMPRODUCT Function
Summary
The SUMPRODUCT function multiplies corresponding elements in one or more arrays and then sums the resulting products. This powerful function handles multi-criteria calculations without needing array formulas or helper columns.
Syntax
SUMPRODUCT(array1, [array2], [array3], ...)
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| array1 | Array/Range |
Yes | The first array argument whose components you want to multiply and then add |
| [array2], [array3], ... | Array/Range |
No | Up to 254 additional arrays whose components are multiplied by corresponding elements in array1 |
Using the SUMPRODUCT Function
SUMPRODUCT excels at multi-condition calculations and array operations. Use it for weighted sums, conditional aggregation, or complex criteria matching where traditional functions fall short. Replace commas with operators (+, -, *, /) for advanced arithmetic between arrays.
Common SUMPRODUCT Examples
Basic Product Sum
=SUMPRODUCT(C2:C5, D2:D5)
Multiplies corresponding values in two ranges (unit cost × quantity) and returns total: $78.97
Multi-Criteria Sales Total
=SUMPRODUCT((B2:B9="Cherries")*(C2:C9="East")*D2:D9)
Sums sales for Cherries in East region only using Boolean multiplication
Sales Agent Net Total
=SUMPRODUCT((Table1[Sales]+Table1[Expenses])*(Table1[Agent]=B8))
Calculates net total (sales + expenses) for specific agent using table references
Item-Size Sales Total
=SUMPRODUCT((A2:A10="Item Y")*(B2:B10="Size M")*C2:C10)
Totals sales for specific item and size combination: 62 units
Frequently Asked Questions
Common Errors and Solutions
#VALUE!
Cause: Arrays have different dimensions
Solution: Ensure all ranges have identical size and shape
Slow performance
Cause: Using full column references like A:A
Solution: Use specific ranges like A2:A100 instead
Incorrect results
Cause: Missing parentheses with arithmetic operators
Solution: Enclose arrays in parentheses: SUMPRODUCT((A1:A10+B1:B10), C1:C10)
Notes
- Avoid full column references (A:A) for performance
- Use double unary (--) to convert TRUE/FALSE to 1/0: --(A1:A10>10)
- Works in all Excel versions since 2007
- Boolean multiplication: TRUE*TRUE=1, others=0
- Parentheses control operation order with mixed operators
Compatibility
Available in: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365
Not available in:
Content last reviewed: December 9, 2025
Update frequency: As needed
Excel versions tested: Excel 2007+