专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  Excel中的数据类型分几种? ·  4 天前  
Excel之家ExcelHome  ·  一组常用Excel函数公式,效率提高1.3% ·  6 天前  
Excel之家ExcelHome  ·  几个常用Excel公式,简单又高效 ·  5 天前  
Excel之家ExcelHome  ·  SUMPRODUCT的7个典型用法 ·  4 天前  
Excel之家ExcelHome  ·  把一列姓名转多列,用INDEX+SEQUEN ... ·  5 天前  
51好读  ›  专栏  ›  Excel之家ExcelHome

SUMPRODUCT的7个典型用法

Excel之家ExcelHome  · 公众号  · Excel  · 2024-12-29 07:45

主要观点总结

本文介绍了SUMPRODUCT函数在Excel中的用法,包括计算商品总价、指定条件的总价、指定月份的总金额,以及根据多个条件计算采购量等。同时,也讲述了如何设置多个条件以及处理带通配符的求和问题。

关键观点总结

关键观点1: SUMPRODUCT函数的作用

SUMPRODUCT函数用于计算各个数组参数中对应元素的乘积,并返回乘积之和。

关键观点2: SUMPRODUCT函数的典型用法

包括计算商品总价、指定条件的总价、指定月份的总金额等。

关键观点3: 使用逗号与乘号的区别

当求和区域中有文本时,使用逗号会将文本视为0处理,而使用乘号则会导致返回错误值。

关键观点4: 多条件计算的方法

结合使用逻辑值和乘法运算,根据多个条件计算采购量或总金额。

关键观点5: 处理带通配符的求和

使用ISNUMBER和FIND函数结合SUMPRODUCT函数,根据关键字进行求和。

关键观点6: 公众号建议与设置

建议读者关注微信公众号【 Excel之家ExcelHome】,并设为星标,以便及时获取更多精彩内容。


正文

SUMPRODUCT函数,从字面来理解,SUM是求和,PRODUCT是乘积。综合到一起,就是对各个数组参数计算乘积,并返回乘积之和
什么是数组呢?简单理解就是一组有关联的数。
接下来,咱们就一起看看这个函数有哪些典型的用法。

1、计算商品总价
如下图所示,C列是商品单价,D列是商品数量,要计算所有商品的总价,可以使用下面这个公式:
=SUMPRODUCT(C2:C12,D2:D12)
公式把每一行中的单价与数量对应相乘,然后再求和。
计算过程相当于C2*D2+C3*D3+C4*D4……
本例中,也可以将中间的逗号换成乘号:
=SUMPRODUCT(C2:C12*D2:D12)
那这个乘号和逗号啥区别呢? 
当求和区域中有文本的时候,在两个数组之间使用逗号,会把文本当成0来处理。要是使用乘号的话,如果求和区域中有文本,就返回错误值了。但是使用逗号也是有前提条件的,就是两个数组的行、列数必须一样,否则会返回一个错误值。

2、计算指定条件的总价
如下图所示,要计算部门为“大食堂”的所有商品总价,可以使用以下公式:
=SUMPRODUCT((A2:A12="大食堂")*C2:C12*D2:D12)
这个公式中,先使用(A2:A12="大食堂"),判断A列的部门是不是等于指定的部门,得到一组由TRUE和FALSE构成的逻辑值。
但是逻辑值不能直接作为数组参数,但是可以参加四则运算,所以咱们用乘号,分别乘以C列的单价和D列的数量。如果(A2:A12="大食堂")这部分的结果里是逻辑值TRUE,就相当于1,而逻辑值FALSE的作用就相当于是0。换句话说,符合指定部门的,就用1*单价*数量,不符合指定部门的就用0*单价*数量,最后再将各个乘积进行求和。

3、计算指定月份的总金额
如下图,要根据A列的日期,计算2月份的总金额。
公式为:
=SUMPRODUCT((MONTH(A2:A12)=2)*1,D2:D12,E2:E12)
MONTH(A2:A12)=2部分,先使用MONTH函数计算出A列日期的月份,然后用等式,判断是不是等于2,这部分得到的,也是一组由TRUE和FALSE构成的逻辑值。
接下来把逻辑值乘以1,TRUE*1结果为1,FALSE*1结果为0,最终变成由数值1和0构成的新数组。再用这个新数组作为参数1,分别与第二参数D2:D12和第三参数E2:E12相乘,最后计算出乘积之和。
也可以直接把各个参数之间的逗号写成乘号;
=SUMPRODUCT((MONTH(A2:A12)=2)*D2:D12*E2:E12)

4、计算指定月份、指定部门的总金额
如下图,要计算2月份大食堂的总金额。
公式为:
=SUMPRODUCT((MONTH(A2:A12)=2)*(B2:B12="大食堂"),D2:D12,E2:E12)
公式看起来很长,但是和第三个例子是一样的,就是多了一个部门的判断条件(B2:B12="大食堂")。

5、根据两个条件计算采购量
如下图,要根据B1:E1单元格中的日期和A2:A12单元格中的品名,来计算对应的采购量。
公式为:
=SUMPRODUCT((B1:E1=1*"2021-2-2")*(A2:A12="黄瓜")*B2:E12)
这个数据表格和前面几个表格的结构不一样了,两个条件分别在行方向和列方向,对于这种结构的表格,计算时有一个小套路,就是分别对比水平和垂直方向的两个条件,然后乘以数值区域。
这个数值区域的行数,要与垂直方向条件区域的行数一样,并且列数要与水平方向条件区域的列数一样。
上面这句话可能不太好理解,其实结合到数据中,就可以看出来了:
数值区域是B2:E12,这里的行数是2~12行,和(A2:A12="黄瓜")的行数是一样的。而列数是B:E,和(B1:E1=1*"2021-2-2")的列数是一样的。
另外,在公式中直接写日期的时候,还要注意,先加上一对半角引号,然后再乘以1变成日期序列值,否则Excel会把2021-2-2当成减法。

6、同一区域设置多个条件
如下图所示,要计算2月份白菜和土豆的总采购量。公式为:
=SUMPRODUCT((MONTH(B1:E1)=2)*((A2:A12="白菜")+(A2:A12="土豆"))*B2:E12)
(MONTH(B1:E1)=2) 这部分是计算水平方向的月份的。
((A2:A12="白菜")+(A2:A12="土豆"))这部分,用来判断垂直方向的商品名称是不是符合条件。 注意,两个条件之间使用了加号,计算过程咱们就不细说了,作用是表示二个条件符合其一。

7、带通配符的求和
如下图所示,要根据A列的手机型号,统计带有“摩托罗拉”字样的手机销量。
公式为:
=SUMPRODUCT(ISNUMBER(FIND("摩托罗拉",A2:A12))*B2:B12*C2:C12)
SUMPRODUCT函数的参数中不支持使用通配符,所以在计算带有关键字的问题,就比较吃亏了。
ISNUMBER(FIND("摩托罗拉",A2:A12))这部分,先使用FIND函数在A2:A12数据区域中查找关键字,如果包含关键字,就返回表示关键字位置的数值,否则就返回错误值。然后使用ISNUMBER函数判断FIND函数的数组结果是不是数值,如果是数值,说明是包含关键字的,如果不是数值,那就是不包含关键字了。
ISNUMBER最终得到由逻辑值TRUE或FALSE构成的内存数组,然后再与后面的第二参数B2:B12和第三参数C2:C12依次相乘。
最后由SUMPRODUCT返回乘积之和。

好了,今天咱们分享的内容就是这些,祝大家一天好心情!

图文制作:祝洪忠

1、点击或搜索微信公众号【 Excel之家ExcelHome】到公众号首页。

2、点击右上角【···】,在下拉菜单中点击【设为星标】。

设置星标后,小伙伴们就不用担心错过咱们的推送了!

设为星标,精彩内容不错过