小伙伴们早上好,今天给大家介绍一个sum函数进阶版,sumproduct函数。

一个小例子

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

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

任意单元格输入:

=sumproduct(B2:B4,C2:C4)

即可获取正确结果。

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

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

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

数组或区域之间可以用逗号分隔开,也可以用*号相连,上例中:

=sumproduct(B2:B4,C2:C4)

也可以写作为:

=sumproduct(B2:B4*C2:C4)

两种写法都可以返回正确的结果。

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

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

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

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

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

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

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

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

小结

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