INDIRECTfunction错误

我有以下公式已经返回#REF! 错误很长一段时间,不pipe我如何重新devise它。 C1上的值是在引用的单元格上具有数据的选项卡的名称:

 Aug 2012 

公式的这部分返回正确的数值:

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

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

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

任何帮助,我在哪里做错了吗?

你在那里的正确公式是:

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

我已经testing了这一点,并确认它工作时,C1说“工作表2”,我有另一个工作表“工作表2”。

我已经改变了两件事:

首先 – 您引用它,以便它将重复范围(A502)中列出的第一个单元格以及第二个单元格(A503)的工作表名称。 但是,如果您在Excel公式中手动selectA502:A503,则可以看到其格式为:“Sheet Name”!A502:A503。

我也简化了公式,以便“”与“!”在同一个string中。 但是,如果没有这个改变,它将会奏效。

dynamic创build这样的公式(无论是使用INDIRECT或VBA)的关键是确保您实际上回到Excel并尝试手动input–Excel作为一个可接受的公式是什么? 另外 – 如果你想看看为什么一个公式不起作用,去公式function区,然后点击“评估公式”。 这将让你一步一步的通过公式,因为它简化了。 如果你这样做,它会告诉你最后的参考是由你的公式创build的,你可以将它与你自己手动创build的版本进行比较。