擅长12个月的dynamic移动范围

在这里输入图像说明 我在这里说的是我想要实现的简化版本。

我在Excel电子表格中有一张表(表1),其中包含2017年1月至2020年12月的date列(实际值+预测值)以及与这些date对应的收入列。 我有另一个表(表2),其中包含1年的数据点,每月更新。 目前的月份是从2017年5月到2018年4月。下个月我会更新它,显示从2017年6月到2018年5月。我想通过使用索引匹配和偏移function来简化这个过程。 我打算不得不在一个单独的单元格中更新当前月份字段,表2将自动更新12个月的数据点。 任何想法如何可以做?

谢谢!

我会避免OFFSET,因为它是一个易变的公式,但使用INDEX / MATCH来设置范围:

INDEX(B:B,MATCH(G1,A:A,0)):INDEX(B:B,MATCH(G1,A:A,0)+12) 

这假设date在列A中,并且要返回的数据在列B:B中,开始date为G1。

你会使用这个地方,你会使用的范围,例如:

 =SUM(INDEX(B:B,MATCH(G1,A:A,0)):INDEX(B:B,MATCH(G1,A:A,0)+12)) 

在这里输入图像说明

或者如果你只是想从一开始就返回N个月,那么做一下这样的事情:

 =INDEX($B:$B,MATCH($G2,$A:$A,0)+N) 

将N更改为所需的月份数。

在这里输入图像说明

现在你已经显示了你的意图:

对于月份列表:

 =IF(ROW(1:1)>$F$3,"",INDEX(A:A,MATCH($E$3,$A:$A,0)+ROW(1:1)-1)) 

对于数字:

 =IF(ROW(1:1)>$F$3,"",INDEX(B:B,MATCH($E$3,$A:$A,0)+ROW(1:1)-1)) 

在这里输入图像说明