![在 VLOOKUP 中使用 INDIRECT](https://linux22.com/image/1496224/%E5%9C%A8%20VLOOKUP%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20INDIRECT.png)
我正在对不同的 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)
如果你想否定这一点。