原文标题:《Sumifs 函数这个大 Bug,害我被领导狠狠批了一顿……》
在日常操作 Excel 的过程中,求和函数是使用最频繁的函数之一。
而在众多的求和函数中,条件求和 SUMIFS 函数因其灵活性而备受青睐,使用频次名列前茅。
它既可以进行单条件求和(可以取代 SUMIF 函数),也能够处理更为复杂的多条件求和需求。
它的语法结构如下:
只看文字不够直观?
那就一起来看看案例吧 ↓
如下图所示,是一张销售明细表,想求出 2024 年 1 月 2 日这一天的销量是多少?
公式如下:
=SUMIFS(C:C,A:A,"="&E3)
以上是最常见的求和情况.
但是,同样的数据源,有时公式结果却会出错 ↓
比如,还是上面这个例子,现在需要求 2024 年 1 月份的销量是多少?
公式如下:
=SUMIFS(C:C,A:A,"<2024-2-1")
求和结果显示为 100,明显不对
为什么呢?
1、解决问题
公式本身看上去并没有问题,那么此时我们可以检查下数据源中【A 列】的数据类型 ↓
在【D 列】加一个辅助列,输入 TYPE 函数,判断一下单元格的数据类型:
公式如下:
=TYPE(A3)
这样一看,第 3 行与第 6 行,都是文本型日期,和其他行数据类型不一致,其销量并未被统计到结果中。
问题的原因找到了,下面只需要将【A 列】中的日期变成真正的日期即可。
另外,【求和区域】也必须是数值型数据。
比如下图:
【求和区域】中的【C6】单元格是文本型数字,求和结果也不会包括在内。
当然,从上图中很简容看出来【C6】单元格的左上角会有一个绿色的三角,
但有的时候并不会有任何提示,大家可以像上面一样,用 TYPE 函数来判断数据类型。
2、知识扩展
除了上面说的 SUMIFS 函数之外,以下函数也都需要注意数据类型。
我们以 MAXIFS 函数为例,举例说明:
公式如下:
=MAXIFSC:C,A:A"<2024-2-1"
可以看出,返回的结果是错误的,正确的应该是 100。
其原因还是因为日期列中存在文本型日期。
只要统一成真正的日期,结果就正确了。
3、写在最后
今天与大家分享了 SUMIFS 这类函数的通病:
❶ 如果在【条件区域】中,使用了等于(=)比较运算符,或者将其省略,无论【条件区域】中的数据类型是什么,都不会影响其统计结果。
❷ 如果在【条件区域】中,使用了除等于(=)之外的比较运算符,包括:大等(>)、大于等于(>=)、小于(<)、小于等于(<=)和不等于(<>)。请注意:
【条件区域】中的数据类型必须与条件是一致的,否则统计的结果将会出错。
【求和区域】中必须都是数值型数据,不能有文本型数据,否则将会出错。
本文来自微信公众号:秋叶 Excel (ID:excel100),作者:明镜在心
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。
本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/803/725.htm]