间接和Vlookup参考错误

我用下面的代码构build了以下path:

'I:\Capital Markets\Post Closing\Audit\Team Reports\Audit Time\2017\February\[feb12017.xlsm]TimeInOffice'!A:C 

使用这个代码

 =("'I:\Capital Markets\Post Closing\Audit\Team Reports\Audit Time\" & TEXT(Sheet2!$B$2,"yyyy") & "\" & TEXT(Sheet2!$B$2,"mmmmmmmmmmmmmmmmm") & "\" & "[" & AuditorCalcSheet!$CB4 & ".xlsm]TimeInOffice'!A:C") 

AuditorCalcSheet!$ CB4引用这个数据透视表来标识唯一的date并提供vlookup的文件名信息。 $ B $ 2 =插入数据中包含年份和月份的单元格A:C是我们查找的表格范围

数据透视表

它成功构build的代码,但是当我试图将其插入到一个vlookup函数:

 =VLOOKUP(A2,INDIRECT("D1"),2,FALSE) 

A2 =名称D1 =构造的文件path

这个公式只给出一个#N / A错误或者一个ref错误,我尝试过每一个我能想到的变化,我似乎正在给出答案。 如果间接不起作用,还有其他方法可以将另一个单元格的文本转换为公式吗?

这是不能做到的。 INDIRECT函数在封闭的外部引用上不起作用。 您需要更改Excel查看文本string的path,工作表和列的方式,以便在VLOOKUP函数的table_array参数中使用实际的单元格地址。

如果您将工作簿打开到相同的应用程序空间,则公式将作为其中一个工作。

 =VLOOKUP(A6,INDIRECT(D1),2,FALSE) =VLOOKUP(A4, INDIRECT(TEXT(D1, "@")), 2, FALSE) =VLOOKUP(A3, INDIRECT(INDEX(D1, 1, 1)), 2, FALSE) 

¹ 显示的path不正确。 因为Excel使用预先打勾(例如单引号或' )来强制文本,所以您需要用两个勾号开始string(例如''I:\Capital Markets\Post Closing\Audit\Team Reports\Audit Time\2017\February\[feb12017.xlsm]TimeInOffice'!A:C )为了检索相同的string开始一个滴答。