在VLOOKUP中动态更改源工作簿的文件路径

时间:2017-09-14 13:33:40

标签: excel dynamic vlookup worksheet-function

我希望有一个包含文件路径('C:\Documents\Costs\[Costing 2017.xls]Sheet2'!A:D)的单元格,该文件路径将在工作簿其余部分的不同工作表中的VLOOKUP函数中使用。

Currently, I have the file path in cell A2 of the sheet named 'Master Sheet'因此对该单元格的引用是。

='Master Sheet'!$A$2

在以下表格(表2至表8)中,我使用VLOOKUP引用Costing 2017.xls工作簿中的某些产品编号,并返回价格。我可以这样使用VLOOKUP

=VLOOKUP(A2,'C:\Documents\Costs\[Costing 2017.xls]Sheet2'!A:D,4,FALSE)

and it works fine.

但我希望能够更改文件路径,而无需通过可能超过8张的方式复制公式。

我已尝试使用INDIRECT(),但我没有得到我想要的结果。

2 个答案:

答案 0 :(得分:1)

INDIRECT的公式为:

=VLOOKUP(A2,INDIRECT('Master Sheet'!$A$2),4,FALSE)

但INDIRECT要求参考工作簿处于打开状态,否则将返回错误。

答案 1 :(得分:1)

您需要使用已定义的名称:

  • 转到Formulas > Defined Names > Define Name
  • 在“名称:”字段
  • 中输入Costing
  • 在“参考:”字段
  • 中输入'C:\Documents\Costs\[Costing 2017.xls]Sheet2'!A:D

现在,以下公式允许您通过更改定义的名称Costing(通过Formulas > Defined Names > Name Manager)动态更改文件路径。

=VLOOKUP(A2,Costing,4,FALSE)
相关问题