你把C:C=Z小计 去掉试试
SUMPRODUCT的用途是“再给定的几组数组中将数组间对应的元素相乘,并返回乘积之和。这个是sumproduct的帮助说明。
SUMPRODUCT(array1,array2,array3, ...) 是标准写法。
=SUMPRODUCT(($A$2:$A$42=$D3)*($B$2:$B$42=E$2))公式中,其实就写了sumproduct的一个参数。即($A$2:$A$42=$D3)*($B$2:$B$42=E$2)作为array1参数。后面的参数都不写了,其实就等于对array1即($A$2:$A$42=$D3)*($B$2:$B$42=E$2)数组求和。
至于为何不写成=SUMPRODUCT(($A$2:$A$42=$D3),($B$2:$B$42=E$2))?这是因为SUMPRODUCT(array1,array2,array3, ...) 帮助里写了很明确一点“函数 SUMPRODUCT 将非数值型的数组元素作为 0 处理。 ”也就是说逻辑判断结果Ture也作为0处理。这个不是我们所希望看到的。
所以使用($A$2:$A$42=$D3)*($B$2:$B$42=E$2),只要逻辑判断值参与了计算,excel就自动将逻辑判断值转换为数字。我们再对数字使用sumproduct就可以了。
注:sumprodcut数组函数在输入后可以不用三键输入。sum也可以实现以上功能,但是需要ctrl+shift+enter三键输入。
注:sumprodcut数组函数在输入后可以不用三键输入。sum也可以实现以上功能,但是需要ctrl+shift+enter三键输入。
=SUMPRODUCT(($A$2:$A$42=$D3),($B$2:$B$42=E$2))可
sumproduct函数,它的区域不能有空白区域,并且每列的区域要相同.比如E2:E100,C列也要C2:C100,D列D2:D100
=sumproduct(($E$1:$E$10000=1月份")*($C$1:$C$10000="Z小计"),$D$1:$D$10000)
sumproduct的参数不要用整列。