3个关于sumifs函数的经典套路,解决90%以上的条件求和问题
Excel中,sumif函数算是一个非常实用、也非常强大的条件求和函数,运用好它,可以帮助我们解决非常多的统计问题。然而,这个函数近些年来有一种逐渐被淘汰取代的趋势。因为从Excel2007开始,微软新增了sumifs函数,而且经过这些年的发展,新增的sumifs函数越来越简单实用:sumif函数干的活它同样可以轻轻松松搞定,而它轻松可以搞定的活,sumif函数却未必干得了。
一、SUMIFS函数有啥了不起?!
打开插入sumif函数对话框,发现sumif函数有且仅有三个参数:range(条件区域),criteria(条件)以及sum_range(求和区域);然而打开sumifs函数我们却看到:sumifs只显示了两个参数,难道sumifs参数吗?显然不是,Excel中sumifs函数要远比sumif函数强大得多。我们在Criteria_range1中,输入内容时,Excel会自动调出下一个参数range1……。sumifs最多支持127对criteria_range和criteria。
sumif函数与sumifs函数sumif函数与sumifs不仅是支持的条件数不一样(sumif函数只支持一个条件,所以又叫单条件求和函数),而且参数摆放的顺序也是完全不同的。sumif函数求和参数放在最后一个,而sumifs函数则把求和参数放在第一位。当然他们的使用技巧没有啥区别的。因此sumif函数能搞定的,sumifs函数完全可以轻松搞定,但sumifs函数轻松搞定的,sumif却做不了。
例如:
根据下面的数据表,
数据源表求计算机一班报名参加兴趣小组的人数。用sumif函数和sumifs函数都可以轻松搞定;
两个函数均可以轻松搞定的单条件求和sumif函数公式:=SUMIF(A3:A38,"计算机一班",C3:C38)
sumifs函数:=SUMIFS(C3:C38,A3:A38,"计算机一班")
然而当我们的问题变成:求计算机1班报名参加街舞小组的人数时,用sumifs依然轻松解决,但用sumif函数就难了(如果你比较厉害,也可以在评论区留言)。
sumifs函数公式为:=SUMIFS(C3:C38,A3:A38,"计算机二班",B3:B38,"街舞")
如下图所示:
多条件求和然而,sumifs函数可远不止于此,它还有很多非常实用的功能,下面我再给大家分享两个例子。
二、如何快速统计计算机专业报名参加篮球小组的人数?
还是上面的数据源表,如何快速统计计算机专业报名参加篮球小组的人数?
数据源表面对这个问题,很多同学可能会将所有的计算机专业的班级都罗列出来,然后再统计他们参加篮球小组的人数,根据他们的思路,可能的公式如下:
=SUMIFS(C3:C38,A3:A38,"计算机一班",B3:B38,"篮球")+SUMIFS(C3:C38,A3:A38,"计算机二班",B3:B38,"篮球")+SUMIFS(C3:C38,A3:A38,"计算机三班",B3:B38,"篮球")+SUMIFS(C3:C38,A3:A38,"计算机四班",B3:B38,"篮球")+SUMIFS(C3:C38,A3:A38,"计算机五班",B3:B38,"篮球")
有数组基础的中级用户可能这样写的:
{=SUM(SUMIFS(C3:C38,A3:A38,{"计算机一班";"计算机二班";"计算机三班";"计算机四班";"计算机五班"},B3:B38,"篮球"))}
这两个公式都好长,第一个虽然好理解,但是太长了,容易出错;第二个公式虽然稍微短些,但是应用了sum和sumifs两个函数,不仅如此,还应用了数组,一般的小白用户根本写不出来。那么我们有没有更简单的方法呢?
方法当然是有的,而且写出来的公式不仅比较短,而且非常好理解。跟sumif函数一样,我们在写sumifs函数的条件(criteria)参数,同样可以使用通配符(不会的朋友,请参阅我写sumif函数教程)。
我们要统计的计算机专业参加篮球小组的人数,计算机专业即班级名称前三个字为“计算机”就是计算机专业的了,因此我们第一个条件区域和条件既可以写为:A3:A38,"计算机*",其中*号代表任意单个或者多个字符。
=SUMIFS(C3:C38,A3:A38,"计算机*",B3:B38,"篮球")
三、如何利用sumifs函数快速完成大批量的条件求和统计?
根据数据源表,如何快速完成下表的人数统计呢?我们依然使用sumifs函数来做。
此公式特别要注意的是引用问题G3单元格输入公式:=SUMIFS($C:$C,$A:$A,$F3,$B:$B,G$2),然后选中G3:M10区域(保持G3单元格为编辑状态(光标定位在编辑栏)),按下Ctrl+Enter组合键,即可将刚输入公式复制到整个被选中的区域,得到区域。
使用此方法最难的地方就在于引用:公式需要向右向下进行复制,首先我们的条件区域和求和区域都不能变,因此都加上$符号,全部锁定;另外当公式向下复制时,条件1F3的行要可以动,条件2G2的行不能动,当公式向右复制时,条件1F3的列不能动,条件2G2的列要能动,因此条件1和条件2的引用分别为:$F3和G$2。因此整体公式写成:=SUMIFS($C:$C,$A:$A,$F3,$B:$B,G$2)
如果你理解了上述的单元格引用,那么利用sumifs函数轻而易举就可以写出上面的公式。假如你根本搞不懂引用,或许下面方法就适合你(他可以不用考虑引用问题)。
选中G3:M10区域,录入公式:=SUMIFS(C:C,A:A,F3:F10,B:B,G2:M2),最后按下Ctrl+shift+enter即可完成统计。
此为数组公式,需要按Ctrl+Shift,再去敲回车。
数组写法今天的分享就到这里,更多精彩内容,请随时关注我