我有vlookups,可以从工作簿中提取特定数据,然后以所需的布局粘贴到新工作簿中。第一个工作簿的布局永远不会更改,但是当我想在其他文件上运行时,名称将更改。
我当前的公式是=VLOOKUP(A3,[Workbook1.xlsx]Sheet1!$B$3:$XFD$7,2,FALSE)
我真的希望它引用A1
而不是Workbook1
,这样我每次想分析不同的文件时都可以更新A1中的文件名。我应该提到表格名称永远不会更改。
我知道您必须使用INDIRECT
,但不确定其工作原理。我确实尝试过=VLOOKUP(A3,INDIRECT(A1),$B$3:$XFD$7,2,FALSE)
,但是随后我争论不休,当我删除$B$3:$XFD$7
时,我失去了要搜索的范围。
谢谢!
答案 0 :(得分:2)
使用INDIRECT,您必须创建表示范围引用的整个字符串:
=VLOOKUP(A3,INDIRECT("'[" & A1 & "]Sheet1'!$B$3:$XFD$7"),2,FALSE)
还有一点需要注意,即INDIRECT要求工作簿开放功能,否则将返回错误。