Sum only even numbers in a range with SUMPRODUCT
F3:F21
There are, at least,
four possible solutions:
=SUMPRODUCT(F3:F21,(MOD(F3:F21,2)=0)/2*2)
=SUMPRODUCT(F3:F21,(MOD(F3:F21,2)=0)*1)
=SUMPRODUCT(F3:F21,--(MOD(F3:F21,2)=0))
=SUMPRODUCT(F3:F21,N(MOD(F3:F21,2)=0))
First Version:
=SUMPRODUCT(F3:F21,(MOD(F3:F21,2)=0)/2*2)
Explanation:
SUMPRODUCT multiplies
2 arrays (or more).
Each element in the first array is multiplied by its corresponding element in
the second array, and the final result of the formula is the summation of all
these multiplications (SUM of that PRODUCT = SUMPRODUCT).
The first array F3:F21 is the numbers in F3:F21.
The second array calculates
only the even numbers in that range.
The expression: MOD(F3:F21,0)=0 checks each and every number in that
range to see whether it is odd or even. The answer for each number is either
TRUE or FALSE. But Excel cannot multiply numbers by a Boolean expression, so we
need to convert the series of: FALSEs and TRUEs into 0’s and 1’s.
This can be done by multiplying each:
FALSE or TRUE with (2/2 = 1).
This can be done by multiplying each:
FALSE or TRUE with (2/2 = 1).
Multiplication of FALSE
* 1 will yield: 0
Multiplication of TRUE
* 1 will yield: 1
So, the second array
becomes an array of alternate: 0 and 1.
By multiplying the
first array (F3:F21) by the second array, only the second array’s elements which contain even numbers will be 1s. Thus, we’re multiplying and the summing only the even
numbers and get the desired result
Second version:
Multiplying the
second array by 1:
=SUMPRODUCT(F3:F21,(MOD(F3:F21,2)=0)*1)
=SUMPRODUCT(F3:F21,(MOD(F3:F21,2)=0)*1)
Third Version:
Adding -- before the second array to convert it to numbers:
Instead of multiplying the second array by 1 (or by: 2/2) we can
simply add -- [two
hyphens] before that array, in order to convert the Boolean values (TRUE or
FALSE) into numbers (1 or 0):
=SUMPRODUCT(F3:F21,--(MOD(F3:F21,2)=0))
Fourth Version:
Fourth Version:
Multiplying the
second array by N (a function in Excel that converts Boolean values into
number):
=SUMPRODUCT(F3:F21,N(MOD(F3:F21,2)=0))