谷歌电子表格中的错误结果查找功能(vlookup,hlookup,match)

时间:2015-02-06 15:14:51

标签: google-sheets google-docs gs-vlookup

以下电子表格演示了Google Spreadsheets Lookup功能的一种非常奇怪的行为。我已经多次使用这些功能而没有任何问题。任何人都可以确认它也发生在他们身边吗?

示例文档:https://docs.google.com/spreadsheets/d/16lRQ72K28CtObY_ChzpNQUVTl_EgbjEyRcpP5QOZKzE/edit?usp=sharing

1 个答案:

答案 0 :(得分:19)

默认情况下VLOOKUP会进行近似匹配。 @Pnuts解释说,因为搜索是二进制的,所以不会在每种情况下返回所需的结果。

Excel VLOOKUP的可选参数名为 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将只找到精确的参数   比赛。如果第一列中有两个或更多值   table_array与lookup_value匹配,找到的第一个值是   用过的。如果未找到完全匹配,则错误值#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)