每天用着的SUMIF把我坑惨了,原来你是最熟悉的陌生人

👍

近期推送的文章

·  正  ·  文  ·  来  ·  啦  ·

正餐前的开胃菜:

引言

SUMIF,相信大部分人都用过,并且已经很熟悉了,but,它城府很深、老谋深算、老奸巨滑,将自己的一些臭毛病隐藏得很深很深,你稍不留意,你被坑得很惨很惨。

我们来看看它有哪些臭毛病:

臭毛病一:盲目排外

SUMIF只认自己人(本工作簿),以及对自己开放的人(其他处于打开状态的工作簿)。如果你对它关上大门,它立马变脸。

比如下表,对另一个工作簿《A公司销售统计表》进行条件统计,当《A公司销售统计表》工作簿打开时,公式没问题:

下次再打开时,如果没打开源数据表格《A公司销售统计表》,就会显示错误:

这毛病,坑人无数!位列第一

与SUMIF一样有这个臭毛病的函数还有:

  • INDIRECT函数;

  • SUMIFS、 COUNTIF、 COUNTIFS 、COUNTBLANK 函数等;

  • D字头的数据库函数:DAVERAGE、 DCOUNT、 DCOUNTA、 DGET、 DMAX……等

解决方案:

使用没这个臭毛病的函数,比如SUMPRODUCT函数,来条件求和。

请参阅:

【扩展】新手进阶必学的三个函数③:最佳劳模SUMPRODUCT函数,这篇必须收藏!

臭毛病二:自以为是、自作多情

SUMIF函数还有自以为是的毛病:会自动将类数字文本当成数字处理。它这个毛病经常在下面4种情形下给我们挖坑:

1、文本类数字只认前十五位

只要前十五位相同,它就认为是一样的。

原因及解决方案:

奇怪,用SUMIF对超15位的代码进行条件求和,居然出错了,原因是....

2、对文本类的2020.1、2020.10以及数字2020.1都自以为是的当成数字2020.1

解决方案:

参见上一小点

3、对前缀0视而不见

4、对日期类文本自作聪明的以为是日期

比如下图C列、F列均为文本格式,但SUMIF都会自动将2020年1月视为2020年1月1日(类似于在单元格输入2020年1月,会自动变为2020年1月1日)

当然,这也不全是毛病,比如在条件中将文本类的日期写入公式中,SUMIF会自动将其变成日期,但SUMPRODUCT必须得运算一下才行:

臭毛病三:鸡肠小肚

SUMIF除了前面的盲目排外、自以为是,还特别鸡肠小肚,条件区域的字符超255个就罢工:

详细情况请参阅:

Excel里居然有个二百五,严重影响我们查找与求和!它就是


(0)

相关推荐