如何在索引函数中创建变量范围?

时间:2018-07-22 17:29:42

标签: excel

我正在使用以下公式从特定工作表中检索日期数组:

= INDEX(间接(“'”“&CONCATENATE(I $ 2,”“,”子任务“)&”'!$ H $ 2:$ H $ 2385“ ))

(单元格 I $ 2 是工作表的缩写,所有工作表的名称均为“ C#子任务”,例如“ C1子任务”,“ C2子任务” .... Ci子任务等)

每张纸都有几列,所有列都具有相同的单元格范围(2:2385)。 唯一的区别当然是列字母(在上述情况下为“ H”)

我想使范围$ H $ 2:$ H $ 2385动态,因此我可以根据条件在各列之间切换。假设如果单元格A2 =“ 结束日期”,则字母“ H ”将被替换为“ G ”。

我尝试了CONCATENATE和INDIRECT,但是,它没有用。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用ADDRESS函数和VLOOKUP确定该列。 我将数组硬编码为公式中的数组常量,但您也可以设置一个表并通过单元格引用对其进行引用:

=INDEX(INDIRECT(ADDRESS(2,VLOOKUP($A$2,{"End Date",7;"Start Date",6;0,8},2,FALSE),,,$I$2&" SubTasks")&":"&ADDRESS(2385,VLOOKUP($A$2,{"End Date",7;"Start Date",6;0,8},2,FALSE))),1,1)