一 、基本用法
(一)定义
SUMPRODUCT:返回相应的数组或区域乘积的和
(二)函数格式
A、SUMPRODUCT(array1,[array2], [array3], ...)
Array1:必需。其相应元素需要进行相乘并求和的第一个数组参数。
Array2, array3,...:可选。2到255个数组参数,其相应元素需要进行相乘并求和。
计数格式:=SUMPRODUCT((条件1)*(条件2)*…(条件n))
求和格式:=SUMPRODUCT((条件1)*(条件2)*…(条件n)*数据区域)
B、注意
1、数组参数必须具有相同的维数。否则,函数SUMPRODUCT将返回#VALUE!错误值#REF!。
2、如果当数据源中包含文本数据时,使用方法1依然可以返回正确结果,但使用方法2会导致文本和数值相乘,返回错误值#VALUE!
3、函数SUMPRODUCT将非数值型的数组元素作为0处理。
C、两种方法的区别在于:
SUMPRODUCT函数的两个参数之间的连接符号不同,方法1用逗号 , 连接,方法2用乘号 * 连接。



二、单条件计数
A、公式
=SUMPRODUCT(N(B2:B13="男"))
=COUNTIF(B2:B13,"男"),使用此公式方便,推荐。

B、N函数
N:将不是数值形式的值转换为数值形式。日期转换成序列值,TURE转换为1,其他值转换成0。
三、多条件计数
=COUNTIFS(B2:B13,"男",C2:C13,">80")
=SUMPRODUCT((B2:B13="男")*(C2:C13>80))

四、多条件求和
=SUMIFS(C2:C13,B2:B13,"男",C2:C13,">80")
=SUMPRODUCT((B2:B13="男")*(C2:C13>80)*C2:C13)

五、模糊条件求和
(一)公式
=SUMIFS($D$2:$D$13,$C$2:$C$13,"销售*",$B$2:$B$13,"男")
=SUMPRODUCT(ISNUMBER(FIND("销售",C2:C13))*(B2:B13="男")*D2:D13)从“部门”里面提取出“销售”区域,这个范围,再使用ISNUMBER函数转换为数值。

(二)函数FIND、ISNUMBER
FIND:返回一个字符串在另一个字符串中出现的起始位置。
=FIND(查找的字符串,查找的位置,起始搜索位置)
起始搜索位置:可以忽略,如忽略,从1开始计算
ISNUMBER:检测一个值是否是数值,返回TRUE或FALSE.
六、多列汇总求和
=SUMPRODUCT(($A$2:$A$9=A16)*$B$2:$G$9)

七、隔列分类汇总
=SUMPRODUCT(($B$2:$M$2=N$2)*$B3:$M3)
=SUMIF($B$2:$M$2,$N$2,B3:M3)

八、多权重综合评价=SUMPRODUCT(B$2:E$2,B3:E3)
=RANK(F3,$F$3:$F$14)【进行排名】

九、二维区域条件求和
=SUMPRODUCT(($A$2:$A$13=F$1)*($B$2:$B$13=$E2)*$C$2:$C$13)

十、多表多条件求和
=SUMPRODUCT(SUMIFS(INDIRECT(ROW(1:5)&"!C:C"),INDIRECT(ROW(1:5)&"!A:A"),A2,INDIRECT(ROW(1:5)&"!B:B"),B2))

