2015-11-02 137 views
0

我有以下公式,它已经很长时间返回#REF!错误,无论我如何重新设计它。 C1上的值是具有对所引用的单元中的数据标签的名称:INDIRECT函数错误

Aug 2012 

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

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

但这个公式给出了错误:

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

对我在哪里犯错误的任何帮助吗?

回答

1

你有正确的公式将有:

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

我测试了这一点,并证实了它的工作原理,当C1说“表2”,我有一个名为“表2”的另一页。

两件事情我已经改变了:

首先 - 你引用它,这样它会重复表名称为范围(A502)中列出的第一个单元格,以及为第二单元(A503)。但是,如果您在Excel公式中手动选择A502:A503,则可以看到其格式为:'Sheet Name'!A502:A503。

我也简化了公式,所以“'”与“!”在同一个字符串中。然而,如果没有这种改变,它就会奏效。

动态创建像这样的公式(使用INDIRECT或VBA)的关键是确保您实际返回到Excel并尝试手动输入它--Excel将其视为可接受的公式?另外 - 如果您想查看公式为什么不起作用,请转至公式功能区,然后单击“评估公式”。这可以让你逐步浏览公式,因为它简化了。如果你这样做,它会告诉你最终的参考是由你的公式创建的,你可以将它与你自己手动创建的版本进行比较。

+1

这很完美!谢谢你的回答和冗长的解释!欣赏你的时间。 – Dingo