小伙伴们早上好,今天给大家介绍一个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参数除了可以添加数组或区域外,还可以添加判断条件 , 如下图所示:
这里sumproduct函数的第三个参数为一个判断条件,是否等于张三 , 满足条件,进行乘积和 。
但这里如果将*替换成逗号,则无法返回正确结果,如下图所示:
返回结果为0,这是为什么呢?
这是因为sumproduct函数不支持逻辑值运算,第三个参数(C2:C12="张三")返回的是True 或者 False, 函数返回不了正确结果 。
要解决这个问题,将逻辑值转换为数值即可,增加一步运算,下图中在第三个参数判断条件后面*1,即可返回正确结果,或者直接用“*”代替“,” 。