自动统计金额,再也不用每月改一次公式了
与 30万 读者一起学Excel
VIP学员的问题,表格非常长,有12列应收,12列已收。比如现在是2021年10月,就将这10个月的应收总和,再减去10个月的已收总和。以前是用SUM,每月修改一次公式,比较麻烦。
=SUM(B3:K3)-SUM(N3:W3)
这种统计,方法非常多,这里卢子分享几个。
1.OFFSET+SUM
OFFSET有4个参数,最后一个参数是有多少列,刚好适合。TODAY是今天的日期,再嵌套MONTH就返回月份10。
=MONTH(TODAY())
再将OFFSET的参数补充完整,这样就返回10列内容。
=OFFSET(B3,0,0,1,MONTH(TODAY()))
返回的内容,不能直接显示在一个单元格,需要嵌套SUM进行求和,这样应收就出来了。
=SUM(OFFSET(B3,0,0,1,MONTH(TODAY())))
同理,将B3改成N3就得到已收。
=SUM(OFFSET(N3,0,0,1,MONTH(TODAY())))
两者相减就可以。
=SUM(OFFSET(B3,0,0,1,MONTH(TODAY())))-SUM(OFFSET(N3,0,0,1,MONTH(TODAY())))
2.SUMIFS+SUM
利用第1行全部都有应收、已收,第2行都是每个月的第一天这个特点,进行多条件求和。
应收:
=SUMIFS(B3:Y3,$B$1:$Y$1,"应收",$B$2:$Y$2,"<="&TODAY())
已收:
=SUMIFS(B3:Y3,$B$1:$Y$1,"已收",$B$2:$Y$2,"<="&TODAY())
最终:
=SUMIFS(B3:Y3,$B$1:$Y$1,"应收",$B$2:$Y$2,"<="&TODAY())-SUMIFS(B3:Y3,$B$1:$Y$1,"已收",$B$2:$Y$2,"<="&TODAY())
如果你公式水平比较厉害,可以对公式进行简化。
=SUM(SUMIFS(B3:Y3,$B$1:$Y$1,{"应收","已收"},$B$2:$Y$2,"<="&TODAY())*{1,-1})
{"应收","已收"}的意思就是分别对应收和已收进行多条件求和,出来是2个结果,再*{1,-1},应收*1就不变,已收*-1就变成负数,这样求和相当于两者的差异。
最后面的方法,我也是临时想到的。其实,这种求和问题并不难,多留心观察数据源的特点,总能想到不错的方法。
上篇:为什么求和老是等于0?
这几天没出去外面玩,在家玩象棋残局,居然将天天象棋残局360关玩通关。你呢,这几天在做什么?
作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)
赞 (0)