【发布时间】:2014-02-25 07:15:29
【问题描述】:
这很复杂,但我会尽力解释清楚。如果没有意义,请告诉我。
我有两个工作簿——一个输入和一个输出。由于系统的工作方式,它们必须分开,即“提名人”将所有输入都输入到一个简单的输入工作簿中,并且输出工作簿格式化它以供使用。为此,输出工作簿必须引用输入工作簿来检索值。
我已经在打开两个工作簿的情况下对此进行了测试。
为此,我使用了嵌套的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
所以上面的工作非常好。为了我。但是,在另一个用户的机器上,它不起作用。我试图深入研究,并得出以下结论:
- 文件之间的连接也存在于他们的系统上——探索数据>编辑链接显示他们与我有相同的工作连接。
- 产生的文件路径相同;我构建了一个宏来向用户展示它,在 3 台机器上,它每次都一样。
- 最关键(也是令人困惑),非嵌套的
INDIRECT公式确实有效。它只有嵌套公式只能在我的计算机上运行。在所有其他用户的计算机上,它都会返回#REF错误。
有人知道为什么会这样吗?我很茫然。
感谢您阅读该剧。
【问题讨论】:
-
这只是一种尝试,但我不知道它是否有帮助,但输入工作簿是否在其他用户的机器上打开,因为它必须是间接功能才能工作这个。在不打开工作簿的情况下,您不能(至少没有 VBA,据我所知)更新链接公式中的数据。 Excel 会在您关闭链接的工作簿时存储链接,但由于您使用的是间接链接,因此它不会存储链接,因为实际上,您还没有进行操作。如果链接在那里,您会收到更新它的提示,一切都会好起来的。如果这不起作用,我们可以查看其他内容。
-
谢谢斯科特,好点子。答案是肯定的,它是开放的。我已经编辑了问题以反映这个细节。
标签: excel excel-formula