自动统计金额,再也不用每月改一次公式了

与 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就变成负数,这样求和相当于两者的差异。

最后面的方法,我也是临时想到的。其实,这种求和问题并不难,多留心观察数据源的特点,总能想到不错的方法。

推荐:别告诉我,你会SUM函数?

上篇:为什么求和老是等于0?

这几天没出去外面玩,在家玩象棋残局,居然将天天象棋残局360关玩通关。你呢,这几天在做什么?

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

(0)

相关推荐