为什么我的INDEX / MATCH函数返回错误的值?

时间:2019-12-27 03:27:34

标签: google-sheets match google-sheets-formula array-formulas gs-vlookup

我目前正在尝试在Google表格中创建一个序列号生成器,并且一切进展顺利。

但是,在最后的步骤中,我注意到我的一个函数返回了错误的值。 Image 1

在C9中可以看到,尽管A12:A13中不存在BBAS2,它仍会返回AMS20-00001值。

我注意到在此之前的一些以前的表格中发生了这种情况,这让我想知道是什么原因造成的?它不应该返回#N / A或#ERROR吗?

如果有人能给我解释为什么会发生这种情况以及如何解决它,我会很高兴。

2 个答案:

答案 0 :(得分:1)

适用于Google表格和Microsoft Excel

  

MATCH

中有三个参数
  • 查询值
  • 查找数组
  • 匹配类型

MATCH(Lookup Value, Lookup Array, [Match Type])

  

匹配类型是可选,并且接受三个值之一

  • 1 =精确或倒数第二个(默认
  • 0 =完全匹配
  • -1 =精确或次大

您在公式中省略了匹配类型...

MATCH(A9,$A$12:$A$13)

这与使用默认匹配类型相同...

MATCH(A9,$A$12:$A$13,1)

未找到精确匹配项,因此您的公式返回的最接近值小于查询值

使用0强制完全匹配

MATCH(A9,$A$12:$A$13,0)

  

在您的示例中,这会导致预期的错误

=INDEX($E$12:$E$13,MATCH(A9,$A$12:$A$13,0))

答案 1 :(得分:0)

使用vlookup:

=ARRAYFORMULA(IFNA(VLOOKUP(A8:A10, A12:E, 5, 0)))

0