嵌套的间接()函数返回#REF

我有两张数据,匹配不匹配的行中的数据。

在一张纸上,我有一个值列表。

另一方面,我有一个数字列表,其中包含我试图自动复制到第二个工作表的匹配值的第一个工作表上的行号对应。

这是我的代码:

=INDIRECT("'Combined ICME+ipShocks List'!"&(INDIRECT("A"&H3))) 

因此,它应该指向名为“Combined ICME + ipShocks List”的表单中列A中的单元格,其行由当前表单元格H3确定。

用一个简单的单元格(例如H3)取代我为第二个Indirect()写的东西是有效的,所以我怀疑它与我写的第二个Indirect()有关。

要回答这个问题,为什么会抛出一个错误:

间接需要一个parsing为单元格地址的文本值

在你的公式中,你嵌套了两个间接()函数。

内部间接将parsing为A1 (作为参考,而不是文本)的单元格引用。 然后,您将该单元格引用与string连接起来,并将其提供给外部间接()。 这是什么原因造成的错误。 间接期望一个string。 你喂它一个string与单元格引用连接,这不是任何function将理解的组合。

根本不需要内部间接,只要在string常量中包含列字母即可。

 =INDIRECT("'Combined ICME+ipShocks List'!A"&H3) 

请注意间接是易变的,只要任何单元改变,将导致工作簿被重新计算。 这可能会使您的工作簿变慢。 应该非常谨慎地使用间接。 在这种情况下,可以使用Index,正如Jeeped在对您的问题的评论中所build议的。

 =INDEX('Combined ICME+ipShocks List'!A:A,H3) 

由于您知道工作表名称和列,因此只有行号是variables。 在这种情况下,间接是矫枉过正。 仅当需要使用公式构造图纸名称时才使用“间接”。