在 OpenOffice Calc 中使用 VLOOKUP 时出现意外行为

在 OpenOffice Calc 中使用 VLOOKUP 时出现意外行为

我在 Windows 上使用VLOOKUPOpenOffice Calc,并尝试使用查找表来填充其他单元格。

我的查找表范围为 A1:B6

Car         4 Wheels
Florida     No
Bus         8 Wheels
Lorry       18 Wheels
Michigan    Yes
Bike        2 Wheels

我计划使用VLOOKUP数据填充的单元格位于 E1:E6 范围内,我正在使用函数

=VLOOKUP(D1;$A$1:$B$6;2)

将其应用于以下数据会产生错误结果

Michigan    Yes
Lorry       18 Wheels
Bike        #N/A
Car 4       Wheels
            #N/A
Florida     No

自行车应该返回 2 个轮子,但返回的是 #N/A。

做了一些测试,我尝试用另一个词替换 Bike,然后有时有时该函数会给出预期的结果,但有时却不会。

此函数似乎还会返回不同的结果,具体取决于查找表中单词的顺序以及您在“人口”单元格中首次引用它们的顺序。

造成这种现象的原因是什么?它非常随机,并且给我带来了巨大的问题,因为我无法继续工作,也无法依赖电子表格。

答案1

正如评论中所说,您需要使用公式=VLOOKUP(D1;$A$1:$B$6;2;0)

最后一位是range_lookup值(OpenOffice Calc 中的精确匹配),控制值是否需要完全匹配。

设置range_lookupFALSE或则0要求精确匹配,TRUE或则1允许不精确匹配。

您的问题源自哪里:
如果range_lookupTRUE(默认设置,如果range_lookup未设置也使用),您需要确保表格第一行中的查找值按升序排序。否则,VLOOKUP 可能会返回不正确或意外的值。

如果range_lookupFALSE(需要完全匹配),则表第一列的值不需要排序。

相关内容