挑了N条自动求和的公式,唯独这条最喜欢!
与 30万 读者一起学Excel
VIP学员的问题,当改变I1单元格的日期,自动求和“当月至前面几个月”的数据?比如现在是3月,就对1-3月的数据进行求和。
对于这种问题,卢子能写出无数条公式。
1.OFFSET
先来看语法,对N个月的数据进行求和。起点是B2,N是变动的,其他为固定值。
=SUM(OFFSET(起点,0,0,1,N))
N可以借助MATCH和MONTH获取。
MATCH就是获取在数据源的排位。
=MATCH($I$1,$B$1:$G$1,0)
MONTH就是获取月份数。
=MONTH($I$1)
将这2个函数嵌套进去,就得到2种方法。
=SUM(OFFSET(B2,0,0,1,MATCH($I$1,$B$1:$G$1,0)))
或者
=SUM(OFFSET(B2,0,0,1,MONTH($I$1)))
2.SUMIF
借助日期进行判断,如果小于等于本身,就对区域进行求和。
=SUMIF($B$1:$G$1,"<="&$I$1,B2:G2)
这里的条件经常会写错,将单元格放在""里面,"<=$I$1"这种是不可以的,这样就变成了文本,而不是可变的单元格。
3.SUMPRODUCT
思路跟SUMIF一样,唯一的差别就是写条件更方便,不容易出错。
=SUMPRODUCT(($B$1:$G$1<=$I$1)*B2:G2)
用SUMPRODUCT还有一个好处,就是可以随意嵌套函数,而SUMIF的区域是不能乱嵌套函数的。
比如对数据源进行更改,现在要累计1-N个月金额的和。可以嵌套MONTH获取月份再进行比较,会更方便。
=SUMPRODUCT((MONTH($A$2:$A$21)<=$F$1)*$B$2:$B$21)
平常在写公式的时候,比较喜欢用这个函数,更加灵活多变。
一次报名成为VIP会员,所有课程永久免费学,采用录制视频+微信答疑的形式学习,仅需888元,待你加入。
关于求和还有什么疑问,都可以在留言区提出。
作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)
赞 (0)