在日期类型 header 上使用 INDIRECT()

Using INDIRECT() on Date type header

我正在尝试动态计算电子表格的周复一周,因为新数据每周都会在 header 中的日期添加到列中。我的数据如下所示:

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:G,0),TODAY(),""))/INDIRECT(IF(MATCH(TODAY()-7,C1:G1,0),TODAY()-7,""))-1

然而它只是 returns #REF!.

知道我做错了什么吗?

P.S。转念一想,这似乎会在 today()+1today()+6 上失败,所以如果有可能更新 match() 的方法,我们将不胜感激。

我怀疑你想要更像的东西:

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

不仅仅是 D2/C2-1。 INDIRECT 是不稳定的,所以最好避免(尽管今天也是)。

另一种选择是:

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

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