Excel中嵌套的INDIRECT函数 - 在一台计算机上工作但在另一台计算机上返回#REF

see*_*oon 7 excel excel-formula

这非常复杂,但我会尽可能清楚地解释它.如果没有意义,请告诉我.

我有两个工作簿 - 输入和输出.由于系统的工作方式,它们必须是分开的,即"提名者"将所有输入都输入到简单的输入工作簿中,输出工作簿将其格式化为可供使用.为了使其工作,输出工作簿必须引用输入工作簿来检索值.

我一直在测试这两个工作簿是开放的.

为此,我使用了嵌套INDIRECT函数; 第一个创建文件路径,调用命名范围,第二个告诉Excel解释该文件路径并检索该值.

我首先使用INDIRECT构建文件路径:

=INDIRECT("input_sheet_location")&"Wk 25 2012'!$B$11"
Run Code Online (Sandbox Code Playgroud)

这返回类似于:

\\My Documents\Subfolder\[input_sheet.xlsx]Wk 25 2012'!$B$11
Run Code Online (Sandbox Code Playgroud)

然后将其嵌套在另一个中以使Excel读取该路径:

=INDIRECT("'"&INDIRECT("input_sheet_location")&"Wk 25 2012'!$B$12")
Run Code Online (Sandbox Code Playgroud)

这成功地从input_sheet_location返回单元格B12的值 - 一个命名范围,它是一个文件目录.为了论证,我们可以说它返回:

Captain America's underpants
Run Code Online (Sandbox Code Playgroud)

所以上面的效果非常好.为了我.但是,在另一个用户的计算机上,它不起作用.我试图深入研究,并制定了以下内容:

  1. 文件之间的连接也存在于他们的系统中 - 探索数据>编辑链接显示他们具有与我相同的工作连接.
  2. 生成的文件路径是相同的; 我构建了一个宏来向用户显示它,并且在3台机器上,它每次都是相同的.
  3. 最关键的(也是令人困惑的)非嵌套INDIRECT公式确实有效.它只是嵌套的公式,只适用于我的计算机.在每个其他用户的计算机上,它返回#REF错误.

有谁知道为什么会出现这种情况?我很茫然.

感谢阅读那篇高谈阔论.

dan*_*rak 2

您说第一个间接公式 + 连接返回一个如下值:

\\My Documents\Subfolder\[input_sheet.xlsx]Wk 25 2012'!$B$11
Run Code Online (Sandbox Code Playgroud)

工作表名称不应该在每一侧都有单引号并返回如下值:

\\My Documents\Subfolder\[input_sheet.xlsx]'Wk 25 2012'!$B$11
Run Code Online (Sandbox Code Playgroud)

我注意到您的第二个公式在文件路径之前有工作表名称的单引号。

请尝试以下两个公式:

=INDIRECT("input_sheet_location")&"'Wk 25 2012'!$B$11"
Run Code Online (Sandbox Code Playgroud)

和/或

=INDIRECT(INDIRECT("input_sheet_location")&"'Wk 25 2012'!$B$12")
Run Code Online (Sandbox Code Playgroud)

让我知道它们是否适合您。