tel 01732 833085 · e-mail 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:
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) = 770
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:
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.
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: