Excel 中的 INDEX 和 MATCH 提供的结果比预期低 1 行

Excel 中的 INDEX 和 MATCH 提供的结果比预期低 1 行

在使用 INDEX 和 MATCH 执行多条件 VLOOKUP 时,我目前使用以下公式获得所需列的结果,但结果始终比所需低 1 行。

{=INDEX($A$2:$E$1200,MATCH(1,(A:A=A2)*(E:E="WS01"),0),3)}

在附图中,我们看到第 4 行的 S/N 是第 3 行查找“WS01”条目的结果。如果我用加法替换 MATCH 中的乘数 (*),我会得到第一个商店 (#2) 的正确结果,但对于所有后续行,公式最终都会提供第 4 行的 S/N (REG01),所以这似乎也不是正确的路径。

在此处输入图片描述

答案1

这些函数的工作方式如下

索引采用数组(A2、A3、A4......)以及数字

=Index(A2:A4,2) 将返回 A3 中的值,因为它是数组中的第二个单元格。

Match 查找数组并返回其所在单元格的编号(第 2 个单元格、第 4 个单元格等),但不返回实际的单元格位置。

因此,在两个函数中不使用匹配数组

  • 索引使用 C2:C1000
  • 比赛采用 A:A

您造成了不匹配。 Match 函数发现第 3 行 (A3) 中的所有内容都匹配,因此它返回 3。

然后 Index 取 (C2:C1000,3) 并返回第 3 个单元格,该单元格恰好是 C4 而不是 C3。

请注意,对于数组函数,您可以只使用 C2:C1000,而不是 A2:E1000,然后您可以省略函数的列部分。

相关内容