查到的解释是 the VLOOKUP function looks up a value in the first column of the specified range of cells, and returns a value in the same row from another column.
在指定范围内的第一列中寻找指定值,然后返回该值所在行的另一列的值。
区分VLOOKUP 与 HLOOKUP,V代表“vertical”,H代表“horizontal”。
语法规范
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
1.lookup_value是要查找的值,他可以是一个具体的值(数字,日期或文本),也可以是单元格(单元格中是要查找的值),也可以是其他函数的返回值。
=VLOOKUP(40, A2:B15, 2) |
=VLOOKUP("apples", A2:B15, 2) |
=VLOOKUP(C2, A2:B15, 2) |
2.able_array是查找范围,至少含有两列
注意:(1)lookup_value是在选中第一列查找值;(2)需要查找的值不区分大小写(case-insensitive)
3.col_index_num是查找范围中的需要返回的列号
如=VLOOKUP(40, A2:B15, 2) 中“2”表示返回A2到B15范围内的第二列的对应值
4.range_lookup 是否精确匹配,精确匹配False,近似匹配True或默认
举例说明
1.下图所示:实现跨表查询,查找上海地区Product1的单价,向下拖拽即可获得所有商品山海地区的单价
2.比较南京和上海地区Product1单价的差异
3.实现跨文件查询
注意:可以直接选择范围,无需手动输入
4.使用named range和table作为查找范围
定义named range:南京products
如何定义named range:选中要定义的区域,右键——>定义名称
利用named ranged作为查找范围
使用Table作为查找范围,以namedrange一样
对于named ranged 和table 的名称和格式可以在公式——>名称管理器查看和修改
5.使用通配符(wildcard characters)
“?”匹配单一字符
“*”匹配一串字符
注意:要使用近似匹配False
Vlookup("*man",A2:C6,3,False)—以“man”结尾
Vlookup(ad*son,A2:C6,3,False)—以ad开头,以son结尾
Vlookup("?????",A2:C6,1,False)—寻找5个字符长的名字
Vlookup("*"&D2&"*",A2:B3,2,False)—查找与D2匹配的字段
6.精确匹配False,近似匹配True
注意:近似匹配第一列需要升序排列(Vlookupwith approximate match requires the values in the first column of table_arrayto be sorted in ascending order, i.e. from smallest to largest. Otherwise, the Excel VLOOKUPfunction may not find the correct value. )
如图,销量未升序排序时,返回的近似匹配值为sp3,但sp3的值150和251相差较大,显然从图中看出,与251相近的是sp2(250)
升序排序过后
本文数据文档(文档中的数据都是我自己设计的,主要是为了理解vlookup工具):
VLOOKUP1_销量.xlsx
(11.89 KB)
VLOOKUP1_单价.xls
(39.5 KB)


雷达卡




京公网安备 11010802022788号







