大家好,我是Catherine。
今天我们来说一说大家平时在excel中经常会用到的求和函数,主要是sumif、sumifs以及sumproduct这三个函数之间的联系与区别,以及这三个函数在多条件求和中的运用。
【1】函数语法
①sumif函数用于单条件求和,这个大家肯定都知道啦。它的语法是:
=sumif(range,criteria,[sum_range])
包括3个参数,分别是搜索条件值区域(range)、搜索条件值(criteria)、求和数据区域(sum_range)
②sumifs函数用于多条件求和,它的语法是:
=sumifs(sum_range,criteria_range1, criteria1,[ criteria_range2, criteria2],…)
与sumif不同,它的第一个参数就是求和数据区域(sum_range),然后可以在后面写上很多个搜索条件值区域(criteria_range)与条件(criteria)
③sumproduct是一个数组函数,用于在给定的几组数组中,然后把数组间对应的元素相乘,最后返回乘积之和。
Em…看起来很复杂的样子…
没关系,我们在这一篇里只讨论用sumproduct函数实现多条件求和的功能。
sumproduct函数的语法是:
=SUMPRODUCT(array1,array2,array3, ...)
其中Array就代表数组。
【2】应用场景
接下来我们用这三个函数解决同一个问题,感受一下它们的联系和区别在哪里。
现在我们有这样一份表格:
①求:张三的销售总额
这个问题只有一个条件,因此用这三个函数中任意一个都可以解决。
看到sumproduct的这个公式,大家可能有疑惑,它跟语法格式好像不一样诶。
其实呢,我们可以把它看做是只有一个参数。
因为当函数中出现由TRUE和FALSE组成的逻辑数组时,如果要与语法格式保持一致,公式要写成这种样子:
=sumproduct((A2:A13="张三")*1,(C2:C13))
这里我们要乘以1,把逻辑判断的结果转化成数组才能参与运算。
上面的这个公式可以分解成以下形式:
=sumproduct({数组1}*{数组2})
=sumproduct({TRUE;…..TRUE;…..TRUE}*{120;…211;…201})
如果我们不乘以1的话,就要写成最上面的那种形式,看作只有一个参数。
②求:张三1月份的销售总额
这个问题有两个条件,所以sumif就不适用啦。
当然,这里sumproduct也可以写成
=SUMPRODUCT((A2:A13="张三")*1,(B2:B13=1)*1,C2:C13)
也就是将逻辑判断结果乘以1转化为数组,再参与运算。
③求:张三1月份和3月份的销售总额
这个题目可以理解成三个步骤:
首先找出A列姓名为A的,其次B列月份为1的,这些数值求和;
接着还是要找A列姓名为A的,但B列要找月份为3的,再把这些值求和;
最后把两次求和的结果再求和。
实际上是操作了两次问题②的步骤,再操作一次求和。
sumif是不支持这个问题的。
而sumifs本身只能求一组多条件的运算,所以在得到运算结果后还需要用SUM把结果相加。
那么如果用sumproduct函数来解决呢?
我们可以看出,使用sumproduct来解决这个问题更加简洁,不需要再嵌套使用sum函数。
通过3个问题的解答,我们可以看出
sumif只能用于单条件的求和
sumifs和sumproduct都可以用于多条件求和
但是当一列中有多个条件时,使用sumproduct会更加简洁。
以上,全文完