返回满足条件的单元格_Sumproduct无法返回正确结果?逗号与乘号之间有什么区别?...

55d593feb4e23c89ca7e3ef969fc8e2e.png

一个小例子

下图中为了求三件商品销售总额,在日常方法中,我们会先对每个商品进行销售求和,用单价列×销售数量列得到每件商品的销售额,最后在利用sum函数对三件商品的销售额进行求和,即可得到销售总额。

2a82e3fdde0164a6979c993e70ddc976.png

思路是正确的,但是多了一步辅助列,利用sumproduct函数,可以一步到位

任意单元格输入:

=sumproduct(B2:B4,C2:C4)

即可获取正确结果。

70970eb50a175e2ff3daa1faef8ae1c4.png

sumproduct函数功能:返回相应的数组或区域乘积的和;

上例子中的运算规则为:5×100+10×200+15×300,先乘积,后求和。如下图所示。

117a58c35bdbc93eed5a44ba86d8800e.png

逗号与*号两种输入法的区别‍

数组或区域之间可以用逗号分隔开,也可以用*号相连,上例中:【=sumproduct(B2:B4,C2:C4】也可以写作为:【=sumproduct(B2:B4*C2:C4】,两种写法都可以返回正确结果。


但是在某些情况下,用逗号分隔开无法返回正确的结果,如存在逻辑判断的条件。

下图中,如何求销售员“张三”的销售额?

c18e947d188694e2f6baa8cbe4d68175.png

这里依旧可以使用sumproduct函数一步到位,sumproduct参数除了可以添加数组或区域外,还可以添加判断条件,如下图所示:

40658b110660e5b7f0678ebcf3a84e9c.png

这里sumproduct函数的第三个参数为一个判断条件,是否等于张三,满足条件,进行乘积和。

但这里如果将*替换成逗号,则无法返回正确结果,如下图所示:

4c35ce9f48da50d9679c6a5e3ccd8000.png

返回结果为0 ,这是为什么呢?


这是因为sumproduct函数不支持逻辑值运算,第三个参数(C2:C12="张三")返回的是True 或者 False, 函数返回不了正确结果。

要解决这个问题,将逻辑值转换为数值即可,增加一步运算,下图中在第三个参数判断条件后面*1,即可返回正确结果,或者直接用“*”代替“,”。

e59857accf6b227101a4e2df32216e7d.png

小结

sumproduct有明确的应用场景,灵活运用,可以大大缩减工作时间,小伙们学会了吗,欢迎留言交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值