Excel的VLOOKUP函数(表示“垂直查找”)将在范围的第一列中查找值,并在同一行的任何其他列中返回该值。
如果找不到包含特定数据的单元格,VLOOKUP是查找该数据的一种非常有效的方法。它在很难找到信息的巨型电子表格中特别有用。
本文中的说明适用于Excel 2016,2013,2010; Excel for Mac和Excel for 365 / Online。
VLOOKUP功能如何工作
VLOOKUP通常返回单个数据字段作为其输出。
这是如何工作的:
- 你提供一个名字或 Lookup_Array中 告诉VLOOKUP数据表的哪一行要查找所需的数据。
- 您提供列号作为 Col_index_num为 参数,告诉VLOOKUP哪个列包含您寻找的数据。
- 该函数寻找 Lookup_Array中 在数据表的第一列中。
- 然后VLOOKUP找到并返回您定义的列号中的信息 Col_index_num为,与查找值相同的行。
VLOOKUP函数参数和语法
VLOOKUP函数的语法是:
= VLOOKUP(Lookup_Array中,则table_array,Col_index_num为,range_lookup)
VLOOKUP函数可能看起来令人困惑,因为它包含四个参数,但它很容易使用。
VLOOKUP函数的四个参数如下:
lookup_value(必填):要在表数组的第一列中搜索的值。
table_array(必填) - 这是VLOOKUP搜索以查找所需信息的数据表(一系列单元格)。
- table_array必须至少包含两列数据
- 第一列必须包含lookup_value
col_index_num(必填) - 这是您要查找的值的列号。
- 编号从第1列开始
- 如果引用的数字大于表数组中的列数,则该函数将返回#REF!错误
range_lookup(可选) - 指示lookup-value是否落在表数组中包含的范围内。 range_lookup参数为“TRUE”或“FALSE”。使用TRUE进行近似匹配,使用FALSE进行精确匹配。如果省略,则默认值为TRUE。
如果range_lookup参数为TRUE,则:
- lookup_value是您要检查它是否属于table_array定义的范围内的值。
- table_array包含所有范围和包含范围值的列(例如高,中或低)。
- col_index_num参数是结果范围值。
Range_Lookup参数如何工作
使用可选 range_lookup 对于很多人来说理论很复杂,所以值得一看快速的例子。
上图中的示例使用VLOOKUP功能根据购买的商品数量查找折扣率。
这个例子表明购买19件商品的折扣是2%,因为19件商品的折扣在11到21之间 数量 查找表的列。
因此,VLOOKUP返回查找表的第二列中的值,因为该行包含该范围的最小值。设置范围查找表的另一种方法是为最大值创建第二列,此范围最小值为11,最大值为20.但结果的工作方式相同。
在该示例中,包含VLOOKUP函数的以下公式用于查找所购商品数量的折扣。
= VLOOKUP(C2,$ C $ 5:$ d $ 8,2,TRUE)
- C2:这是查找值,可以在电子表格的任何单元格中。
- $ C $ 5:$ d $ 8:这是一个包含您要使用的所有范围的固定表。
- 2:这是您希望LOOKUP函数返回的范围查找表中的列。
- 真正:启用 range_lookup 这个功能的特点。
一旦你按下了 输入,并且结果在第一个单元格中返回,您可以自动填充整个列以查找查阅列中其余单元格的范围结果。
range_lookup参数是将一列混合数字整理成各种类别的有说服力的方法。
VLOOKUP错误:#N / A和#REF
VLOOKUP函数可能会返回以下错误。
#N / A 是“值不可用”错误,并在以下条件下发生:
- 该 lookup _value 在table_array参数的第一列中找不到
- 该 表格数组 论证是不准确的。例如,参数可能包括范围左侧的空列
- 该 Range_lookup 参数设置为FALSE,并且在第一列中找不到lookup_value参数的完全匹配 表格数组
- 该 range_lookup 参数设置为TRUE,table_array第一列中的所有值都大于lookup_value
#REF! (如果col_index_num大于table_array中的列数,则会出现“引用超出范围”)错误。