INDEX的行为不一致(MATCH())

时间:2014-07-23 22:05:44

标签: excel-formula excel-2010

我的工作簿包含工作表s1s2。对于s1列U中的给定值,我想确定它是否存在于s2的G列中,使用INDEX(MATCH())。我没有使用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上搜索来验证值是否匹配。

为什么我得到"价值不可用"第一个公式的错误?

1 个答案:

答案 0 :(得分: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)

希望这有帮助。

干杯!