Excel SUMPRODUCT Function
How to apply Excel’s versatile SUMPRODUCT function on its own or in combination with other functions.
Last updated on 2018-09-07 by David Wallis.
This is what Excel’s Insert Function feature says of SUMPRODUCT: “Returns the sum of the products of corresponding ranges or arrays”. But SUMPRODUCT is a much more versatile function than this description suggests, and it is not limited to the summation of products.
The syntax of SUMPRODUCT as indicated by Excel is this:
SUMPRODUCT(array1,array2,array3 … arrayN)
In this context an array is a continuous range of cells in a row or column. The number of cells must be the same in each array, as in this example of a formula:
When applied to the following simple spreadsheet the result of the formula is 770:
What SUMPRODUCT has done is this:
(1×2)+(2×4)+(3×6)+ … + (10×20), hence the 770 result.
The same result is achieved by this version of the formula, in which an asterisk replaces the comma:
It follows that the sign replacing the comma separating the arrays determines the mathematical operation that SUMPRODUCT engages between the pairs of values in the two arrays.
Thus this SUMPRODUCT returns the result 165:
SUMPRODUCT(B2:B11+C2:C11) ≡ (1+2)+(2+4)+(3+6)+ … + (10+20)
And this one returns the result 5:
SUMPRODUCT(B2:B11/C2:C11) ≡ (1÷2)+(2÷4)+(3÷6)+ … + (10÷20)
The examples above are based on arrays arranged in columns. SUMPRODUCT works equally well with arrays of values arranged in rows, as in this example:
Applying a Criterion to SUMPRODUCT
You may include a criterion within a SUMPRODUCT formula. For example, consider limiting SUMPRODUCT to the HR department values only in this spreadsheet:
That is, you want to find the result of (1×2)+(3×6)+(4×8)+(6×12)+(8×16), which is 252. Your formula should be this:
Note the pairings of the brackets; also the specific use of asterisks instead of the commas appearing in the Excel help on the syntax of the function.
SUMPRODUCT With Multiple Criteria
You may apply more than one criterion to SUMPRODUCT. For example, in this spreadsheet you want it to apply only to the HR department’s activity with Client B:
That is, you want a result for those values highlighted in pink. Your formula should be this:
SUMPRODUCT Exact Matches
A number of Excel functions will match one text string to another but may not take into account the case of each character in the strings. By combining SUMPRODUCT with EXACT, you can achieve case-sensitive matching as in this example:
Note the double minus, --, which is the tweak needed to cause the formula to work as intended. Normally EXACT returns TRUE or FALSE; the -- forces these into becoming 1 or 0, respectively. You could try this with =--EXACT("ABC","ABC") and =--EXACT("ABC","Abc). The SUMPRODUCT functions needs these 1s and 0s.