在日期类型标头上使用INDIRECT()

时间:2018-10-04 17:22:33

标签: excel excel-formula excel-indirect

我正在尝试动态计算电子表格的“每周”,因为每周在标题中的日期将新数据添加到列中。我的数据看起来像这样:

Name   WoW   9/27/2018   10/4/2018   10/11/2018   10/18/2018   10/25/2018
A      ?     100         120              
B      ?     120         140          

A的WOW应该为120/100-1 = 20%。 B的WOW应该是140/120-1 = 16.67%

我正尝试使用单元格B2中的INDIRECT()来计算WoW,如下所示:

=INDIRECT(IF(MATCH(TODAY(),C$1:G$1,0),TODAY(),""))/INDIRECT(IF(MATCH(TODAY()-7,C1:G1,0),TODAY()-7,""))-1

但是它只返回#REF!

知道我在做什么错吗?

P.S。再三考虑,这似乎会在today()+1today()+6上失败,因此,如果有一种方法可以更新match(),那将是值得赞赏的。

2 个答案:

答案 0 :(得分:2)

我怀疑您想要更多类似的东西:

=INDEX(2:2,MATCH(TODAY()+WEEKDAY(TODAY())-5,$1:$1,0))/INDEX(2:2,MATCH(TODAY()+WEEKDAY(TODAY())-5,$1:$1,0)-1)-1  

不仅仅是D2/C2-1。 INDIRECT易挥发,因此最好避免使用(尽管今天也是如此)。

答案 1 :(得分:2)

替代方法是:

=INDEX(2:2,MATCH(999999,2:2,1)) / INDEX(2:2,MATCH(999999,2:2,1)-1) -1

放入单元格B2中并向下复制。它仅使用每行中最后两个不为空的单元格进行计算。

enter image description here