7

这很复杂,但我会尽力解释清楚。如果没有意义,请告诉我。

我有两个工作簿——一个输入和一个输出。由于系统的工作方式,它们必须分开,即“提名人”将所有输入输入到一个简单的输入工作簿中,并且输出工作簿的格式可供使用。为了使其工作,输出工作簿必须引用输入工作簿来检索值。

我一直在打开两个工作簿进行测试。

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

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

=INDIRECT("input_sheet_location")&"Wk 25 2012'!$B$11"

这会返回类似:

\\My Documents\Subfolder\[input_sheet.xlsx]Wk 25 2012'!$B$11

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

=INDIRECT("'"&INDIRECT("input_sheet_location")&"Wk 25 2012'!$B$12")

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

Captain America's underpants

所以上面的工作非常好。为了我。但是,在另一个用户的机器上,它不起作用。我试图深入研究,并得出以下结论:

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

有谁知道为什么会这样?我很茫然。

感谢您阅读该剧。

4

2 回答 2

2

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

\\My Documents\Subfolder\[input_sheet.xlsx]Wk 25 2012'!$B$11

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

\\My Documents\Subfolder\[input_sheet.xlsx]'Wk 25 2012'!$B$11

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

而是尝试以下两个公式:

=INDIRECT("input_sheet_location")&"'Wk 25 2012'!$B$11"

和/或

=INDIRECT(INDIRECT("input_sheet_location")&"'Wk 25 2012'!$B$12")

让我知道他们是否为您工作。

于 2012-07-10T20:42:46.040 回答
0

可能是一个愚蠢的问题,但这真的有效吗?

=INDIRECT("input_sheet_location")&"Wk 25 2012'!$B$11"

_Location 末尾的括号不会关闭 Indirect 函数吗?不应该

=INDIRECT("input_sheet_location"&"Wk 25 2012'!$B$11")

至少这是它对我有用的唯一方法是将整个路径放在 Indirect 函数括号内。

于 2014-02-24T23:15:29.800 回答