繁体   English   中英

嵌套的Indirect()函数返回#REF

[英]Nested Indirect() Functions returning #REF

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

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

另一方面,我有一个与第一张纸上的行号相对应的数字列表,其中包含要自动复制到第二张纸上的匹配值。

这是我的代码:

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

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

用一个简单的单元格(例如H3)代替我为第二个Indirect()编写的内容,因此我怀疑这与我编写的第二个Indirect()有关。

要回答为什么会引发错误的问题:

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

在您的公式中,您嵌套了两个Indirect()函数。

内部的间接寻址将解析为像A1这样的单元格引用(作为引用,而不是文本)。 然后,您将该单元格引用与字符串连接起来,并将其提供给外部Indirect()。 这就是导致错误的原因。 间接期望一个字符串。 您要给它提供一个与单元格引用串联在一起的字符串,这不是任何函数都可以理解的组合。

如果只在字符串常量中包含列字母,则根本不需要内部的间接寻址。

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

请注意,Indirect是易失性的,每当单元格发生变化时,都会导致重新计算工作簿。 这会使您的工作簿变慢。 间接使用应该非常谨慎。 在这种情况下,可以按照吉普(Jeeped)在对您的问题的评论中的建议使用索引。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM