史上最全条件求和函数SUMIF教程

发布时间:2018-06-13 22:09

点击上方蓝字关注 Excel函数与公式

关注后发送函数名称,即可获取对应教程


原创作者 | 李锐

微信公众号 | Excel函数与公式(ID:ExcelLiRui)

微信个人号 | (ID:ExcelLiRui520)

本文关键字:sumif


史上最全条件求和函数SUMIF教程


在职场办公中,经常需要对数据进行条件求和汇总,SUMIF函数是工作中使用频率超高的条件求和函数之一。


本文介绍了SUMIF函数的丰富用法,便于你在自己的实际工作中直接借鉴和使用。



1SUMIF函数基础语法解析


SUMIF函数可以对范围中符合指定条件的值求和,该函数拥有十分强大的条件求和功能,在工作中有极其广泛的应用,其基本语法为:


SUMIF(range,criteria,[sum_range])


range:必需。用于条件计算的单元格区域。每个区域中的单元格都必须是数字或名称、数组或包含数字的引用。空值和文本值将被忽略。


criteria:必需。用于确定对哪些单元格求和的条件,其形式可以为数字、表达式、单元格引用、文本或函数。


sum_range:可选。要求和的实际单元格(如果要对未在range参数中指定的单元格求和)。如果省略sum_range参数,Excel会对在range参数中指定的单元格(即应用条件的单元格)求和。


说明:

(1)criteria中的任何文本条件或任何含有逻辑或数学符号的条件都必须使用双引号括起来。如果条件为数字,则无需使用双引号。


(2)criteria参数中支持使用通配符(包括问号“?”和星号“*”)。问号匹配任意单个字符;星号匹配任意一串字符。如果要查找实际的问号或星号,请在该字符前键入波形符“~”。


(3)使用SUMIF函数匹配超过255个字符的字符串或字符串#VALUE!时,将返回不正确的结果。


(4)当sum_range参数与range参数的大小和形状可以不同。求和的实际单元格通过以下方法确定:使用sum_range参数中左上角的单元格作为起始单元格,然后包括与range参数大小和形状相对应的单元格。注意,这种情况下会使SUMIF函数具有易失性,即引发工作表重算。


SUMIF函数本身不是易失性函数,但当SUMIF函数中的range和sum_range参数包含的单元格个数不相等时,会具备易失性。如以下公式:



=SUMIF(B2:B9,"女",C2:C3)

=SUMIF(B2:B9,"女",C2:C99)

=SUMIF(B2:B9,"女",C2)


三个公式返回的结果一致,SUMIF函数的sum_range参数的单元格个数都与range的单元格个数不同,但都会将sum_range的区域按照C2:C9计算,即以C2为起始单元格,延伸至大小和形状与B2:B9相同的单元格。相当于以下公式:

=SUMIF(B2:B9,"女",C2:C9)


易失性会引发工作表的重新计算,计算时间会比预期的要长,工作中应尽量避免这种情况出现。


(5)SUMIF函数中criteria参数的格式会限定其选择条件求和的范围。即如果第二参数是数值,SUMIF函数就只对第一参数是数值格式的单元格对应的求和区域中进行统计,而忽略其他格式如文本、逻辑值、错误值等。利用SUMIF函数的这个特性,我们可以排除错误值进行求和。



2SUMIF函数统计单字段单条件求和


工作中最常见的需求当然就是单条件求和啦,SUMIF函数在这方面可谓得心应手!


下面就来讲讲SUMIF函数统计单字段单条件求和条件求和,还讲解了当SUMIF的第三参数缺省时的运算方式和原理。


SUMIF函数的单条件求和应用非常广泛,在很多情况下,当条件区域和求和区域重合时还可以简化公式写法,下面结合一个案例来介绍具体的方法。



要求从数据源中统计90分以上的成绩之和,先给出公式

=SUMIF(B2:B12,">90")



3SUMIF函数统计单字段多条件求和


上一节教程中我们学会了SUMIF函数的单条件求和,那么当工作中出现对某个字段并列多条件求和的需求,又如何应对呢?


我们结合下面这个案例来具体介绍。



表格中左侧是数据源区域,要求统计北京分公司、上海分公司、广州分公司这三家销售额总和,如果是只求一家分公司(如北京)的销售额那很简单,公式为

=SUMIF(A2:A12,"北京",B2:B12)


多家怎么办呢?最直接的办法当然是这样:


=SUMIF(A2:A12,"北京",B2:B12)+ SUMIF(A2:A12,"上海",B2:B12)+ SUMIF(A2:A12,"广州",B2:B12)


是不是只有这种方法呢?如果需要统计的分公司增加,岂不是公式越来越长?

当然会有更好的办法啦!


给出这里使用的公式:

=SUM(SUMIF(A2:A12,{"北京","上海","广州"},B2:B12))



4SUMIF函数统计前3名成绩和


前面的课程中我们学会了SUMIF函数的单条件求和、多条件求和,那么当我们在工作中遇到涉及数值大小的问题,该用什么思路去解决呢?


下面这个案例,我们就用SUMIF函数结合LARGE函数配合搞定一个极值统计问题。



表格中左侧是数据源区域,要求统计前三名成绩之和。


我们可以分为两步来思考这个问题,第一步是需要从数据中用公式提取前三名的成绩,第二部是将它们汇总求和。这样即可数据源变动,前三名成绩也会随公式结果动态更新,从而始终保证结果的正确。


这里给出公式

=SUMIF(B2:B12,">"&LARGE(B2:B12,4))



5SUMIF函数模糊条件求和


有时我们要按照模糊条件求和,而SUMIF函数支持通配符的使用,下面我们结合案例来介绍模糊条件求和的方法。



表格左侧是数据源区域,要求统计姓“张”的员工成绩之和,也就是姓名中以“张”开头的,我给出公式。

=SUMIF(A2:A12,"张*",B2:B12)



6SUMIF函数根据日期区间统计


在工作中我们经常遇到按日期区间统计的需求,比如需要统计月初到当前日期的销售额,或统计周年庆(比如历时5天)的销售额……针对这类条件求和如何实现呢?


今天我们结合一个简单案例,来介绍以日期区间作为条件的求和方法。



下面给出公式。

=SUM(SUMIF(A2:A12,{">=2016/4/1",">2016/4/5"},B2:B12)*{1,-1})



7SUMIF函数统计登记人非空的入库数


工作中的数据源可能来自多种渠道,有的是系统导出,有的是人工填写收集,有的是第三方机构提供,都难免遇到数据源中某字段有空值或者无效值的情况,这时往往需要排除这些无效记录进行统计。


今天我们结合一个简单案例,讲解如何利用SUMIF函数统计求和条件涉及非空值的方法。



登记人为空的记录都属于无效记录,统计入库数量时不予考虑,仅统计登记人非空的入库数。


给出公式:

=SUMIF(A2:A8,"*",B2:B8)



8SUMIF函数隔列分类汇总


SUMIF函数强大的条件求和功能在多种工作场景中均有广泛应用。无论是财务还是市场销售人员,都会面临在数据源中跨列条件求和的需求,比如在包含计划和实际销售额的表格中分别汇总计划总和、实际完成总和。



在这里案例中,每个业务员制定的计划数据和实际完成数据交替出现,最后要在黄色区域输入公式,完成对应的计划和实际总和的统计。


在H3单元格输入以下公式,填充至H3:I9单元格区域即可

=SUMIF($B$2:$G$2,H$2,$B3:$G3)



9SUMIF函数实现查找引用功能


看了这个标题有的小伙们就纳闷了,查找引用不是VLOOKUP函数、INDEX+MATCH他们的事吗?怎么SUMIF也来凑热闹?


你没看错,SUMIF除了条件求和,在一些场景下也能实现查找引用功能。



这个案例的表格中,左侧是数据源区域,右侧的黄色区域是公式区域。


要实现按照业务员查找对应的成绩,一个公式搞定。

给出公式(H2输入)

=SUMIF($A$2:$A$12,$G2,B$2:B$12)



10SUMIF函数排除错误值求和


出于各种原因,我们在处理数据时难免遇到错误值,当数据源中包含错误值时,普通的求和公式返回的也是错误值,那么如何既能排除错误值又能不影响条件求和呢?


我们来看这个案例:



如果是职场小白,一看这数据源就蒙圈了,各种错误值差不多都来报道啦,怎么办?


行家伸伸手,便知有没有

给出公式,D2单元格输入以下公式

=SUMIF(B2:B12,"<9e307")



11SUMIF函数统计入库日期非空的数量和


我们遇到的数据源难免遇到某字段有空值或者无效值的情况,这时往往需要排除这些无效记录进行统计。


之前我们介绍过当文本数据中掺杂空值的处理方法,见《SUMIF函数统计登记人非空的入库数》,今天再来介绍下日期数据中掺杂空值的处理方法。


下面我们结合案例,讲解如何利用SUMIF函数统计求和条件涉及空值的方法。



入库日期为空的记录都属于无效记录,统计入库数量时不予考虑,仅统计登记人非空的入库数。


给出公式:

=SUMIF(A2:A8,"<>",B2:B8)



12SUMIF函数多列区域条件求和


前面的教程中我们介绍了SUMIF函数各种各样的条件求和方法,都是条件区域只有一列,求和区域也只有一列的场景,那么如果遇到条件区域和求和区域都是多列区域,如何处理呢?



上图展示的是某企业的员工工号信息表,工号和对应姓名放置在多列区域中,需要在B10:B12单元格区域根据员工的姓名提取对应的员工工号。


给出公式

在B10单元格输入以下公式,将公式向下复制到B12单元格。

=SUMIF(B$2:D$6,A10,A$2:C$6)


更多的Excel实战技术,我已经整理到Excel特训营中以超清视频演示并同步讲解,不但有具体场景,还讲解思路和方法,更有配套的课件下载和社群互动,想系统学习的同学点击底部“阅读原文”。


还想看更多精彩?长按识别下图二维码,里面有各种方向不同的Excel特训营,每一期特训营内容不同,都可以帮你系统提升自己!


长按下图  识别二维码点关注,获取更多资料

长按上图↑识别二维码 点关注,查看详情


如果你觉得有用,就分享给朋友们看看吧~

请把这个公众号推荐给你的朋友:)


>>推荐阅读 <<

(点击蓝字可直接跳转)

vlookup丨sum丨if丨countif丨sumif丨sumproduct

index丨match丨datedif丨frequency丨个税丨年终奖


长按下图 识别二维码

关注微信公众号(ExcelLiRui),每天有干货

关注后每天都可以收到Excel干货教程

请把这个公众号推荐给你的朋友


阅读原文”进入直播间+关注

             高效工作,快乐生活!

powered by 励志天下 © 2017 WwW.lizhi123.net