默认情况下VLOOKUP 进行近似匹配。 @Pnuts 解释说,并非在每种情况下都返回所需的结果,因为搜索是二进制的。
VLOOKUP 的 Excel 可选参数称为 range_lookup 并引用:
range_lookup 可选。一个逻辑值,指定您是否
希望 VLOOKUP 找到完全匹配或近似匹配:
如果 range_lookup 为 TRUE 或被省略,则为精确或近似
匹配返回。如果没有找到完全匹配的,下一个最大的
返回小于 lookup_value 的值。
重要如果 range_lookup 为 TRUE 或被省略,则值
table_array 的第一列必须按升序排列
命令;否则,VLOOKUP 可能不会返回正确的值。
有关详细信息,请参阅对区域或表格中的数据进行排序。
如果 range_lookup 为 FALSE,则
table_array 不需要排序。
如果 range_lookup 参数为 FALSE,VLOOKUP 将只找到一个精确的
匹配。如果第一列有两个或多个值
匹配lookup_value的table_array,找到的第一个值是
用过的。如果未找到完全匹配,则错误值 #N/A 为
返回。
Google 为 VLOOKUP 提供的可选参数称为 is_sorted 并引用:
is_sorted - [可选 - 默认为 TRUE] - 指示是否
要搜索的列(指定范围的第一列)是
排序。
如果 is_sorted 为 TRUE 或省略,则最接近的匹配项(小于或等于
到搜索键)被返回。如果搜索列中的所有值都是
大于搜索键,返回#N/A。
如果 is_sorted 设置为 TRUE 或省略,并且
范围未按排序顺序,可能会返回不正确的值。
如果 is_sorted 为 FALSE,则仅返回完全匹配。如果有
多个匹配值,对应的单元格内容
返回找到的第一个值,如果没有该值则返回#N/A
找到了。
如果您需要与VLOOKUP 进行精确 匹配,只需在可选参数中添加FALSE 以强制查找精确匹配。如果您使用的是MATCH,则添加一个 0。
因此,您的电子表格的公式应如下所示:
=VLOOKUP(A2,A1:E13,5,FALSE)
=VLOOKUP("n1-standard-2",A1:E13,5,FALSE)
=MATCH(A2,A1:A13,0)
=MATCH("n1-standard-2",A1:A13,0)
=HLOOKUP(A1,A1:E13,5,FALSE)
=HLOOKUP("n1-standard-1",A1:E13,5,FALSE)