打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Sumproduct已经过时了吗?

在一次会议上,众目睽睽之下,我给大家演示了使用Sumproduct来解决多条件求和的问题,从此“一举成名”。说起来有点夸张,但是当时大家的Excel应用水平普遍不高,Sumproduct、数组公式等知识对大多数人来讲还是比较难以理解,能会个Sumproduct竟然也能令人“崇拜”……

自Excel 2007之后,新加入的Sumifs、Countifs等函数可以方便地进行多条件求和、计数,这些函数简单易用、效率高,学习起来也不难,可以说是造福表弟表妹们。这些“Ifs”类型的函数在很多应用中都可以取代Sumproduct函数,难道Sumproduct已经过时了吗?当然不是的,我们就通过几个例子再来看一下Sumproduct函数的一些实用的用法。

先介绍一下Sumproduct的基础知识。

语法:

SUMPRODUCT(array1, [array2], [array3], ...)

作用:

将参数中的数组中的对应位置的元素相乘,得到结果后再将乘积相加。

要点:

  • 至少一个数组作为参数;

  • 参数必须具有相同的维数;

  • 非数值型数据都作为0处理,所以如果参数中有逻辑值数组,应该乘以1来转换成数值数组。


1、两列乘积求和

如下图所示,一列是利润率,一列是销售额,求总利润。

公式1

求总利润。

=SUMPRODUCT(B2:B10,C2:C10)

说明:这个公式使用两个参数,每个数组相同位置的数相乘,最后所有乘积相加即得结果。

公式2

求总利润。

=SUMPRODUCT(B2:B10*C2:C10)

说明:上面这个公式只有一个参数,是两列相乘的结果作为参数,所以数组内元素直接相加即得结果。

公式3

求包含“空调”的产品的总利润。

=SUMPRODUCT(ISNUMBER(FIND(''空调'',A2:A10))*1,B2:B10,C2:C10)

说明:Find查找“空调”两个字在每个单元格中的位置,找到就返回数组,否则返回错误值,用IsNumber判断是否找到“空调”。


2、“或”关系的多条件求和

还记得我们在介绍Sumif函数的应用时讲到的多条件求和吗?

其中用到了如下数组公式。

=SUM(SUMIF(B2:B10,{''Lily'',''Mary''},D2:D10))

其实,我们把SUM替换为Sumproduct就不需要使用数组公式形式了。

=SUMPRODUCT(SUMIF(B2:B10,A13:A14,D2:D10))

说明:Sumproduct支持数组运算,不需要再按Ctrl Shift Enter来作为数组公式来计算。


3、两列比较后求和

下图是一天内的标准产出与实际产出,需要计算低于标准产出的那些记录的和。

公式如下:

=SUMPRODUCT((C3:C10<B3:B10)*1,C3:C10)

说明:比较C列和B列的数据,得到逻辑值数组,再乘以1转换成数值数组{1;1;0;1;0;0;0;1},Sumproduct函数再完成计算:也就是跟第二个参数中的数字对应地分别相乘后再求和。


4、在求和区域加入运算

下面是某一天生产统计的标准周期与实际周期,需要计算超出标准周期的数据中,超出的那部分时间的和。也就是下图红色单元格减去前面的标准周期,再加和。使用如下公式。

=SUMPRODUCT((C3:C10>B3:B10)*1,C3:C10-B3:B10)

说明:第一个参数的结果是逻辑值数组,需要乘以1转换成数值;后面是两列数据直接相减,得到的结果是两列数据中相同位置的数字分别相减生成的数组。


对于能够使用Sumifs、Countifs来完成的应用,我们就不再介绍。

学习Excel就是为了节省时间,简单为王,效率为王!所以说,我们能够从多种解决问题的方法中找到合适的、易于使用的就可以了。


--End--

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SUMPRODUCT函数使用方法及示例
SUM函数和她的七大姑八大姨们
精通Sumproduct函数,可以打下Excel的半壁江山,你会吗?
SUMPRODUCT函数的用法和易错点总结!
来自【Excel完美论坛】
记住43个Excel函数的用法,掌握数据分析 ( 四 )
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服