下面的电子表格演示了 Google 电子表格查找函数的一个非常奇怪的行为。我已经多次使用这些功能,没有任何问题。任何人都可以确认它也发生在他们身边吗?
1 回答
默认VLOOKUP
情况下会进行近似匹配。@Pnuts 解释说,并非在每种情况下都返回所需的结果,因为搜索是二进制的。
Excel的可选参数VLOOKUP
称为range_lookup和quote:
range_lookup可选。一个逻辑值,指定您希望 VLOOKUP 找到完全匹配还是近似匹配:
如果 range_lookup 为 TRUE 或被省略,则返回精确或近似匹配。如果未找到完全匹配,则返回小于 lookup_value 的下一个最大值。
重要如果 range_lookup 为 TRUE 或被省略,table_array 第一列中的值必须按升序排列;否则,VLOOKUP 可能不会返回正确的值。
有关详细信息,请参阅对区域或表中的数据进行排序。
如果 range_lookup 为 FALSE,则 table_array 的第一列中的值不需要排序。
如果 range_lookup 参数为 FALSE,则 VLOOKUP 将仅找到完全匹配。如果 table_array 的第一列中有两个或多个值与 lookup_value 匹配,则使用找到的第一个值。如果未找到精确匹配,则返回错误值 #N/A。
Google 的可选参数VLOOKUP
称为is_sorted和 quote:
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)