小伙伴们早上好,今天给大家介绍一个sum函数进阶版,sumproduct函数。
一个小例子
下图中为了求三件商品销售总额,在日常方法中,我们会先对每个商品进行销售求和,用单价列×销售数量列得到每件商品的销售额,最后在利用sum函数对三件商品的销售额进行求和,即可得到销售总额。
思路是正确的,但是多了一步辅助列,利用sumproduct函数,可以一步到位。
任意单元格输入:
即可获取正确结果。
sumproduct函数功能:返回相应的数组或区域乘积的和;
上例子中的运算规则为:5×100+10×200+15×300,先乘积,后求和。如下图所示。
逗号与*号两种输入法的区别
数组或区域之间可以用逗号分隔开,也可以用*号相连,上例中:
也可以写作:
两种写法都可以返回正确结果。
但是在某些情况下,用逗号分隔开无法返回正确的结果,如存在逻辑判断的条件。
下图中,如何求销售员“张三”的销售额?
这里依旧可以使用sumproduct函数一步到位,sumproduct参数除了可以添加数组或区域外,还可以添加判断条件,如下图所示:
这里sumproduct函数的第三个参数为一个判断条件,是否等于张三,满足条件,进行乘积和。
但这里如果将*替换成逗号,则无法返回正确结果,如下图所示:
返回结果为0 ,这是为什么呢?
这是因为sumproduct函数不支持逻辑值运算,第三个参数(C2:C12="张三")返回的是True 或者 False, 函数返回不了正确结果。
要解决这个问题,将逻辑值转换为数值即可,增加一步运算,下图中在第三个参数判断条件后面*1,即可返回正确结果,或者直接用“*”代替“,”。
sumproduct有明确的应用场景,灵活运用,可以大大缩减工作时间,推荐给大家。
领取专属 10元无门槛券
私享最新 技术干货