分享

年少不知SUMPRODUCT好,错把SUMIFS当成宝

 如梦风景旧曾谙 2023-11-12 发布于四川

刚学完了多条件统计的2个公式,学员就用在了实际工作中,按项目、日期统计金额,结果发现最后一个单元格不一样。因此得出结论,第一个公式靠谱,第二个没啥用。
=SUMIFS(C:C,A:A,E2,B:B,F2)
=SUMPRODUCT(($E2=$A$2:$A$32)*($F2=$B$2:$B$32)*$C$2:$C$32)
图片

事实真的如此吗?

卢子打开了表格,仔细查看了一下,发现了左边数据源最后一个单元格带绿帽子,也就是文本格式。这就是导致2个公式求和结果不一样的原因。
图片

在求和的时候,SUMIFS是直接忽略文本,这就导致了算少了。而SUMPRODUCT不管什么格式,都可以求和。正确的,应该是后者。

如何才能快速确认每个金额都是数字格式?

这个表格才30多行,一下子就找到了,而实际表格可能是几千行,用眼睛看肯定不靠谱。在隔壁列用ISNUMBER判断,数字格式的返回TRUE,文本格式的返回FALSE。
图片

再将FALSE筛选出来就行。
图片

当然,也可以不用刻意去找,直接选择C列,点分列,完成,就全部转换成数字格式,也就是全部都是TRUE。
图片

在所有需要辅助函数,或者不规范的情况下,都是SUMPRODUCT占了绝对优势。这里,卢子再举几个案例说明。

1.按月份统计金额

用MONTH提取月份,每个参数都可以嵌套其他函数非常方便。
=SUMPRODUCT((MONTH($A$2:$A$32)=D2)*$B$2:$B$32)
图片

如果有跨年的,可以直接用TEXT提取年月再统计。如果月份是数字格式,记得加--转换格式。
=SUMPRODUCT((--TEXT($A$2:$A$32,'emm')=D2)*$B$2:$B$32)
图片

SUMIFS可不支持这种,需要用辅助列先提取月份才行。

2.按账户计算余额

区域采用混合引用,这里下拉的时候就可以逐渐变大,求和区域可以用2个区域直接相减。SUMIFS可不支持这种,只能用2个SUMIFS相减才行。
=SUMPRODUCT((C$2:C2=C2)*(D$2:D2-E$2:E2))
图片

3.按总成号ABC隔列求和工单号123对应的数据

不管一维还是二维,都是直接套上就行。而SUMIFS就不支持二维,除非特殊情况,比如ABC顺序跟原来一模一样。
=SUMPRODUCT(($A11=$A$3:$A$5)*(B$10=$B$2:$J$2)*$B$3:$J$5)

图片

其实SUMPRODUCT挺好的,除了引用区域的时候不能引用整列,没啥缺点。

陪你学Excel,一生够不够?

一次报名成为VIP会员,所有课程永久免费学,永久答疑,仅需 1500 元,待你加入。

报名后加卢子微信chenxilu2019,发送报名截图邀请进群。

推荐:哇,仅凭一个逗号居然解决Excel求和两大难题

上篇:新技能|老财务一出手,秒杀Excel函数大神,脑子真好使!

图片

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多