dynamic列索引作为参数

首先,我知道我可以用一些VBA做到这一点,但我不想这样做。 一直在寻找networking,但还没有解决这个问题。

所以,在Excel中,我使用VLookup函数(我认为,excel不是英文版)就像这样:

=LETARAD("key";A2:E65;5;0) 

这很好。

现在我想要根据workdate函数的返回结果来创buildcolumnpartdynamic。 像这样的东西:

 =LETARAD("key";ColumnIndex(WorkDay("2016-11-30")*7)2:ColumnIndex(WorkDay("2016-11-30")*7)65;5;0) 

虽然我无法做到这一点。 任何人有任何sugestions? :)

解决scheme更新

这是我的解决scheme的简化版本。 比方说,我有以下的excelsheet:

 <table border="1"> <tr><td></td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td></tr> <tr><td>1</td><td>Keys1</td><td>Val</td><td></td><td>Keys2</td><td>Val</td></tr> <tr><td>2</td><td>1a</td><td>-5</td><td></td><td>2a</td><td>-3</td></tr> <tr><td>3</td><td>1b</td><td>-16</td><td></td><td>2b</td><td>82</td></tr> <tr><td>4</td><td>1b</td><td>-19</td><td></td><td>2c</td><td>18</td></tr> </table> 

使用下面的函数,我可以检索我想要的值。

 =VLOOKUP("key";INDEX(A2:E4;1;1+((WEEKDAY("2016-11-28")-1)*3)):INDEX(A2:E4;3;2+((WEEKDAY("2016-11-28")-1)*3));2;0) 

那里的钥匙和工作日是dynamic的,每个工作日都有一定数量的钥匙。 该表只显示2天。 谢谢!

在英语中,您可以使用INDEX函数引用单个列

 =INDEX(A1:C100,,3) 

参考文献C1:C100

因此,这样的事情会起作用:

 =VLOOKUP("Key",INDEX(A1:C100,,3),5,0) 

要每次更改此列,您只需要使3dynamic

注意:你将需要改变,; 在这个例子中