excel动态移动范围为12个月

时间:2017-05-01 13:35:25

标签: excel dynamic range

enter image description here我在这里说的是我想要实现的简化版本。

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

这假定日期在A列中,您想要返回的数据在B列中:B,开始日期为G1。

你可以在任何使用范围的地方使用它,例如:

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

enter image description here

或者,如果您只想从一开始就返回N个月,那么请执行以下操作:

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

将N更改为您想要的月份数。

enter image description here

现在你已经展示了你想要的东西:

对于月份列表:

=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))

enter image description here