使用INDIRECT在工作簿之间进行迭代

时间:2015-03-10 11:34:54

标签: excel excel-formula

我想创建一个摘要文件,我希望从某些工作簿中导入来自单元格D11的数据。为此,我尝试使用INDIRECT来调用工作簿O284,其中O284到O296由以下字符串组成:

 2015-01 (for O284), 2015-02 (for O285 etc)

并且O285是表名,其中每个工作簿都是一致的,因此是$$。

=INDIRECT("'C:\Path\["&O284&"]"&$O$285&"'!$D$11")

然而,运行它不会返回值,而只返回####。我打开了所有的工作簿。我怀疑我导致INDIRECT片段错误,但我无法弄清楚如何。有人有线索吗?

此致

顺便说一句,有没有办法实现与使用封闭工作簿而不使用宏的INDIRECT相同的东西?就像一个“粘贴值”或者你可以像INDIRECT一样使用但是返回一个数字但是在单元格中没有公式表示法的东西?

编辑:

=INDIRECT(CONCATENATE("'C:\path\[";O282;"]";$O$283;"'!D11"))

用于从工作簿O282获取值“D11”。当我拖出此公式时,下一列将引用工作簿P282。然而,它仍然得到细胞D11。我希望它从这个工作簿中获取E11单元格,并且像这样工作。有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

=INDIRECT(CONCATENATE("'C:\";[@Path];"\[";[@WorkbookName];"]";[@SheetName];"'!";ADDRESS(11;COLUMN() - 11)))

我认为代码是你想要的东西。

  • 显示####有时是因为单元格宽度。