我在 Excel 中有一个表格,其列标题对应于我工作簿中其他地方的动态命名范围的一部分。例如,我有这些列标题:“10”、“20”等,以及这些动态命名范围:“ExampleRange10”、“ExampleRange2”等。我想通过连接输入引用 ExampleRange10 的 VLookup 公式字符串“ExampleRange”和列标题“10”。这将允许我简单地将公式扩展到表中的所有列,而不是在每列的公式中手动键入“ExampleRange10”、“ExampleRange20”等。
我知道 INDIRECT 函数,并且过去曾成功地将其用于命名范围,但在这种情况下,它似乎不适用于动态命名范围。我猜这是一个细微差别,与 Excel 如何定义动态命名范围有关(它们不会显示在公式栏左侧的命名范围下拉列表中,并且它们在 VBA 中有一些有趣的属性, 例如)。有没有一种方法可以将 INDIRECT 公式与动态命名范围结合使用,或者是否有另一种方法可以解决这个问题?
编辑:这是使用的确切公式。
这是主要公式:=VLOOKUP(B2,INDIRECT("ExampleRange"&C1),2,FALSE)
其中 C1 包含“10”,而我的名为“ExampleRange10”的动态命名范围的公式是:=OFFSET(Sheet1!$F$2,0,0,COUNTA(Sheet1!$F$2:$F$25),2)
。主公式返回“#REF!”,但当我删除动态命名范围公式并简单地将“ExampleRange10”定义为静态范围时,它可以正常工作。