【问题标题】:Inconsistent behavior for INDEX(MATCH())INDEX(MATCH()) 的行为不一致
【发布时间】:2014-07-23 22:05:44
【问题描述】:

我有一个带有工作表的工作簿 s1s2。对于s1 的 U 列中的给定值,我想使用 INDEX(MATCH()) 确定它是否存在于s2 的 G 列中。我没有使用 VLOOKUP,因为我实际上是在尝试进行多条件查找,并且我正在遵循 here 描述的方法;这只是单条件查找的最简单情况。

当我使用公式时:

=INDEX('S2'!A1:Q2945,MATCH(1,'S2'!G1:G2945='S1'!U4,0),2)

我收到“值不可用”的 #N/A 错误。

但是当我使用以下任一公式时:

=VLOOKUP('S1'!U4,'S2'!G1:G2945,1,FALSE)
=INDEX('S2'!A1:Q2945,MATCH('S1'!U4,'S2'!G1:G2945,0),2)

则查询成功。

我已通过从 S1 复制 U4 的值并在 S2 上搜索来验证这些值是否匹配。

为什么我从第一个公式中收到“值不可用”错误?

【问题讨论】:

  • 快速浏览一下,我建议您的 MATCH() 函数的这个组件很可能是原因:'S2'!G1:G2945='S1'!U4。 MATCH() 函数的第二个参数需要是一个数组。

标签: excel-formula excel-2010


【解决方案1】:

作为结束这个问题的答案,方程中的 MATCH() 函数指定的不仅仅是一个数组作为它的第二个参数。

您现有的公式:

=INDEX('S2'!A1:Q2945,MATCH(1,'S2'!G1:G2945='S1'!U4,0),2)

... 应更正为以下内容(删除“='S1'!U4”):

=INDEX('S2'!A1:Q2945,MATCH(1,'S2'!G1:G2945,0),2)

希望这会有所帮助。

干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    相关资源
    最近更新 更多