SumProduct函数是 Excel 中用于数组求和的函数,它有三种表达式,一种为参数全是数组,另两种为前几个参数为条件,最后一个参数为求和区域。SumProduct函数的计算方法为将一个数组的元素与另一个数组的对应元素相乘,然后把所有乘积相加。在应用过程中,即可写一个条件求和,也可以用And/Or组合多条件求和。以下就是Excel SumProduct函数三个表达式与用And/Or组合多条件求和的具体操作方法,实例中操作所用版本均为 Excel 2016。
一、Excel SumProduct函数使用举例
(一)表达式1举例
1、假如要求一个服装销量表的所有服装的营业额。选中 G2 ,把公式 =SUMPRODUCT(E2:E9,F2:F9) 复制到 G2,按回车,则求出所有服装的营业额;操作过程步骤,如图1所示:

2、公式说明:计算时,用 E2:E9 中的每个元素乘 F2:F9 中对应的元素并把它们相加,即 89 * 892 + 89 * 874 + 80 * 569 + 99 * 982 + 198 * 897 + 65 * 528 + 185 * 563 + 299 * 159 = 663534。
(二)表达式2举例
1、假如要求“分类”为“衬衫”、销售“地区”为“广州”的“销量”。选中 G2 单元格,把公式 =SUMPRODUCT(--($C$2:$C$12="衬衫"),--($D$2:$D$12="广州"),($F2:$F12)) 复制到 G2,按回车,则求得结果 819;操作过程步骤,如图2所示:

2、公式说明:
公式 =SUMPRODUCT(--($C$2:$C$12="衬衫"),--($D$2:$D$12="广州"),($F2:$F12)) 中 $C$2:$C$12 是对 C2:C12 的绝对引用,以便返回数组;($C$2:$C$12="衬衫") 判断数组中每个是否等于“衬衫”,等于返回真,否则返回假;-- 将真假逻辑值转为数值。条件2与条件1是一个意思;$F2:$F12 为求和区域,$F2 表示对 F 列绝对引用,对行相对引用,即拖动时,列不变、行变。
(三)表达式3举例
1、把表达式2举例中的公式改为表达式3。选中 G3 单元格,把公式 =SUMPRODUCT(($C$2:$C$12="衬衫")*($D$2:$D$12="广州")*($F2:$F12)) 复制到 G3,如图3所示:

2、按回车,同样求得结果 819,如图4所示:

二、Excel SumProduct函数多条件求和
(一)用 And(*)组合多条件求和
1、有一个服装销售表和一个库存表,假如要在库存表中查看销量。选中 E2 单元格,把公式 =SUMPRODUCT((销售!$A$2:$A$12=库存!$A2)*(销售!$C$2:$C$12=库存!$C2)*(销售!$F$2:$F$12)) 复制到 E2,按回车,则求出“编号”为 WS-560 的销量;把鼠标移到 E2 单元格右下角的单元格填充柄上,按住左键,往下拖,则统计出其它服装的销量;操作过程步骤,如图5所示:

2、公式说明:
=SUMPRODUCT((销售!$A$2:$A$12=库存!$A2)*(销售!$C$2:$C$12=库存!$C2)*(销售!$F$2:$F$12))
A、选中 E2 单元格,按住 Alt,按一次 M,按一次 V,打开“公式求值”窗口,每单击一次“求值”计算一步,一直单击直到计算出最终结果,操作过程步骤,如图6所示:

B、公式中条件1 (销售!$A$2:$A$12=库存!$A2) 是把“销售表”与“库存表”用“编号”连接起来,条件2 (销售!$C$2:$C$12=库存!$C2) 是要求“销售表”中的“分类”等于“库存表”中对应的分类,(销售!$F$2:$F$12)) 是求区域。
C、条件1(销售!$A$2:$A$12=库存!$A2) 表示如果“销售表”中的“编号”等于“库存表”中对应“编号”,则返回真,否则返回假,最终返回一个以真(True)假(False)为元素的数组,如图7所示:

D、条件2 (销售!$C$2:$C$12=库存!$C2) 最终也返回一个由真假元素组成的数组,然后把条件1的元素与条件2对应的元素相乘,两个为 True 的元素相乘返回 True、为 False 的返回 False,并把 True 转为 1、False 转为 0。
E、(销售!$F$2:$F$12)) 返回一个由“销售表”F 列数值组成的数组,如图8所示:

此时,仅还有两个数组,把它们对应的数值相乘,然后把相乘结果相加,从而计算出最终结果。
(二)同时用 And(*)与 Or(+)组合多条件求和
1、假如要统计广州和深圳的服装销量之和。把公式 =SUMPRODUCT((F2:F12)*((D2:D12="广州")+(D2:D12="深圳"))) 复制到 G2 单元格,按回车,则统计符合条件的服装销量之和,操作过程步骤,如图9所示:

2、公式说明:
公式中 (F2:F12) 是求和区域,(D2:D12="广州")+(D2:D12="深圳") 是用加号(+)组成的两个表示“或”关系的条件,即统计 F2:F12 中要么在广州要么在深圳销售的服装销量之和。
3、再加一个条件,假如要统计在广州和深圳销售的且分类为雪纺的服装销量之和,公式可以这样写:=SUMPRODUCT((F2:F12)*((D2:D12="广州")+(D2:D12="深圳"))*(C2:C12="雪纺"))。
三、Excel SumProduct函数语法
1、表达式1:SUMPRODUCT(array1, [array2], [array3], ...)
说明:SumProduct 参数全是数组,最少要有一个数组,最多可有 255 数组;计算方法为:每个数组的对应元素相乘,然后求和;非数值当作0处理;每个数组必须有相同的维数。
2、表达式2:SUMPRODUCT(--(条件1),[--(条件2),...],(求和区域))
说明:表达式中用 [] 括起来的为可选参数,条件前面的 -- 是把逻辑值转为数值以便于计算。
3、表达式3:SUMPRODUCT((条件1)*[(条件2),...]*(求和区域))
说明: