使用 vlookup 时如何将单元格引用为 table 范围

How to reference a cell as table range when using vlookup

我有 vlookups 可以从工作簿中提取特定数据并粘贴到所需布局的新工作簿中。第一个工作簿的布局永远不会改变,但是当我想 运行 在不同的文件上时,名称会改变。

我目前的公式是=VLOOKUP(A3,[Workbook1.xlsx]Sheet1!$B:$XFD,2,FALSE)

我真的很希望它引用 A1 而不是 Workbook1 这样每次我想分析不同的文件时我都可以更新 A1 中的文件名。我应该提到 Sheet 名称永远不会改变。

我知道你必须使用 INDIRECT 但我不确定它是如何工作的。我确实尝试了 =VLOOKUP(A3,INDIRECT(A1),$B:$XFD,2,FALSE) 但后来我有太多参数,当我删除 $B:$XFD 我失去了我正在搜索的范围。

谢谢!

对于 INDIRECT,您必须创建表示范围引用的整个字符串:

=VLOOKUP(A3,INDIRECT("'[" & A1 & "]Sheet1'!$B:$XFD"),2,FALSE)

另外请注意,INDIRECT 要求工作簿打开才能运行,否则会return 出错。