刚学完了多条件统计的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。当然,也可以不用刻意去找,直接选择C列,点分列,完成,就全部转换成数字格式,也就是全部都是TRUE。 在所有需要辅助函数,或者不规范的情况下,都是SUMPRODUCT占了绝对优势。这里,卢子再举几个案例说明。用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个区域直接相减。SUMIFS可不支持这种,只能用2个SUMIFS相减才行。
=SUMPRODUCT((C$2:C2=C2)*(D$2:D2-E$2:E2)) 不管一维还是二维,都是直接套上就行。而SUMIFS就不支持二维,除非特殊情况,比如ABC顺序跟原来一模一样。=SUMPRODUCT(($A11=$A$3:$A$5)*(B$10=$B$2:$J$2)*$B$3:$J$5) 其实SUMPRODUCT挺好的,除了引用区域的时候不能引用整列,没啥缺点。 一次报名成为VIP会员,所有课程永久免费学,永久答疑,仅需 1500 元,待你加入。 报名后加卢子微信chenxilu2019,发送报名截图邀请进群。 推荐:哇,仅凭一个逗号居然解决Excel求和两大难题 上篇:新技能|老财务一出手,秒杀Excel函数大神,脑子真好使! 作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)
|