昨天文章写了关于SUMIF函数求和出错,有几个粉丝有根据这个提出了一些小疑问,一起来看看。老粉丝重点看最后一个案例。 1.统计人员为李姐、燕子的总数量 多条件也许你的第一反应就是用SUMIFS函数,不过求出来的结果为0,是错误的。 SUMIFS函数的多条件统计,是同时满足的意思,而这里是满足其中一个,相当于AND跟OR的区别。 针对这种,最容易理解的,就是SUMIF+SUMIF。
说明:左边的数据截图不完整,下面还有不少这2个人的记录,结果是对的。 如果你喜欢玩技术,公式可以略作改变。将相同的部分合并起来,条件用常量数组的形式,这样统计出来有2个结果,再嵌套SUM函数将2个结果汇总起来。
当然,人员已经写在了E列,也可以直接引用单元格,不过现在就要执行多重计算,也就是传说中的数组公式。直接使用SUM函数会出错,要换成支持数组的SUMPRODUCT函数。
2.统计每个月的总数量 按正常想法,用MONTH函数提取月份,再进行统计,结果却提示此公式有问题。 SUMIF函数的条件比较随意,没啥特别要求,但条件区域、求和区域却不同,会有各种限制。 条件区域这里不支持嵌套函数,除此之外,换成常量数组也不支持。 SUMIF函数家族的SUMIFS、COUNTIFS、COUNTIF,都是同一缺陷。 针对这种,可以用辅助列解决。先用MONTH函数提取月份。
再引用提取月份的列。
粉丝的疑问就讲到这里,接下来讲一个国庆期间无意间发现的奇葩错误。 3.奇葩的错误 同一个单元格进行比较,居然结果为1,错得莫名其妙,正确的应该是0。 SUMIF、COUNTIF家族在遇到身份证、通配符的时候会出错,这个我是知道的,这种日期+时间的出错我还是第一次知道。 为此,我换了另外一个函数SUMPRODUCT,发现统计正常。
最后,在没100%的把握前提下,还是使用SUMPRODUCT函数。又能求和、又能计数,用起来也是超级方便。 |
|