在 VLOOKUP 中使用 INDIRECT

在 VLOOKUP 中使用 INDIRECT

我正在对不同的 excel 工作簿中的数据进行一系列 av 测试。为了不必更改所用公式中的所有工作簿名称,我发现使用INDIRECT()并引用一个单元格是合适的,我可以在其中写入要测试的工作簿名称。这适用于普通任务;但是,当我尝试在 中实现它时,我遇到了麻烦VLOOKUP。目前VLOOKUP看起来如下:

=VLOOKUP(B10;[filename.xlsx]Sheet3!$B$5:$E$37;2;FALSE)

该变量是filename.xlsx我想用来INDIRECT引用具有文件名信息的单元格的 filw。工作表编号和单元格范围不会改变。我尝试了几种方法,但都没有成功。

任何意见都将不胜感激!

以下是我尝试过的选项之一:

Cell values:
A1: filename
A2: Sheet1 
A3: $B$5:$E$37
B1: "Word to be found"

=VLOOKUP(B1;INDIRECT("'["&A1&"]" &A2&"'!"&A3);2;FALSE)

这将返回#N/A 错误。

答案1

假设您当前的 VLOOKUP 按预期工作=VLOOKUP(B10;[filename.xlsx]Sheet3!$B$5:$E$37;2;FALSE)

=VLOOKUP(B10;INDIRECT("["&A1&"]"&A2&"!"&A3);2;FALSE)

应该可以满足您的要求。请记住,文件名还必须包含扩展名,因此 A1 应该包含filename.xlsx。或者,您可以使用

=VLOOKUP(B10;INDIRECT("["&A1&".xlsx]"&A2&"!"&A3);2;FALSE)

如果你想否定这一点。

相关内容