我参考了另一本看起来像这样的工作簿:
=INDIRECT(ADDRESS(21,6,1,1,"[Longterm Budget.xlsx]2012"))
Run Code Online (Sandbox Code Playgroud)
INDIRECT 参数的结果ADDRESS(21,$A$1,1,1,"[Longterm
Budget.xlsx]2012")
, 是'[Longterm Budget.xlsx]2012'!$F$21
。如果我在前面放一个等号
='[Longterm Budget.xlsx]2012'!$F$21
Run Code Online (Sandbox Code Playgroud)
...它返回所需的引用。但是,像这样将相同的参数传递给 INDIRECT
=INDIRECT("'[Longterm Budget.xlsx]2012'!$F$21")
Run Code Online (Sandbox Code Playgroud)
...导致引用错误。知道为什么吗?
Pet*_*ert 10
INDIRECT
不幸的是,仅适用于工作簿内或计算期间打开的工作簿。如果外部工作簿关闭,则会导致#REF!
错误。
背景:对于普通的外部链接,Excel 不仅存储外部单元格的地址,还存储文件保存版本中的最后一个已知值。这样,当打开文件时,Excel 可以计算整个工作簿,即使外部源不可用。
INDIRECT
然而,它是一个易变的函数,即每次运行计算时 Excel 都必须计算它(而“正常”函数只有在任何前驱单元格发生变化时才需要重新计算)。因此,Excel 无法存储引用的值,从而导致#REF!
错误。
归档时间: |
|
查看次数: |
37310 次 |
最近记录: |