间接函数错误

INDIRECT function error

我有以下公式,无论我如何重新设计它,它已经返回 #REF! 错误很长时间了。 C1 上的值是包含引用单元格数据的选项卡的名称:

Aug 2012

这部分公式returns正确的数值:

=INDIRECT("'" & C1 & "'" & "!A502'")

但是这个公式给出了错误:

=SUM(INDIRECT("'" & C1 & "'" & "!A502:'" & C1 & "'" & "!A503"))

请问我哪里出错了?

你的正确公式应该是:

=SUM(INDIRECT("'"&C1&"'!A502:A503"))

我已经对此进行了测试,并确认它在 C1 显示 "Sheet 2" 时有效,并且我还有另一个 sheet 名为 "Sheet 2"。

我改变了两件事:

首先 - 您引用它以便它会为范围 (A502) 中列出的第一个单元格以及第二个单元格 (A503) 重复 sheet 名称。但是,如果您在 excel 公式中手动 select A502:A503,您会看到它采用以下形式:'Sheet Name'!A502:A503。

我还简化了公式,使“'”与“!”在同一个字符串中。但是,如果没有此更改,它也可以工作。

动态创建这样的公式(使用 INDIRECT 或在 VBA 中)的关键是确保您实际返回 Excel 并尝试手动输入它 - Excel 作为可接受的公式?另外 - 如果您想查看公式为何不起作用,请转到“公式”功能区,然后单击 'evaluate formula'。这将使您在简化时逐步完成公式。如果您在此处这样做,它会向您显示由您的公式创建的最终参考是什么,并且您可以将其与您自己手动创建的版本进行比较。