VLOOKUP函数怎么用?可以用在哪些场景?
这篇介绍VLOOKUP的基本用法和九种常用场景,日常办公使用完全足够!

01 读懂VLOOKUP
VLOOKUP 是在表格的首列查找指定的值,并由此返回表格当前行中其他列的值。
(1)基本语法
=VLOOKUP(lookup_value,table_array,col_index_num,[range-lookup])
=VLOOKUP(要查找的值;要查找的区域;返回数据在查找区域的第几列数;精确匹配/近似匹配。)
通俗一点来讲,就是要解决四个问题:
- 找什么?
- 上哪找?
- 找第几列?
- 怎么找?
注意:其中需要找的内容一定是在数据表的最左列,查找结果要精确匹配的话,第四个参数要写FASLE或是0。
(2)举个例子
比如说要做一张销售额表格,左侧是公司上千个人的销售数据,但是我只需要右侧几个人的数据,我如何在源表格中找到我需要的数据,并直接输出到我要的位置呢?
首先输入函数【=VLOOKUP】
然后第一个参数单击五一凡,表示要查找的数字是五一凡。

选中B列-D列,表示是在B列-D列这个范围内查找

输入3,意思是需要的数据在选中的区域里的第三列,注意是选中的区域哦,不是整张表格里的位置

输入“0”。在VLOOKUP函数中,1为近似查找, 0为精确查找。

这样,就找到了吴一凡的销售额,并将他输入到想要的位置了。
02 再分享VLOOKUP八个典型应用场景
上面演示的是VLOOKUP函数最基础的用法——单条件查找,除此之外,还有其他典型的应用场景。
(1)多条件查找
比如,A列是姓名、B列是部门、C列是销售额,要想同时按照部门+个人来查询销售额,就输入数组公式,结合vlookup。
(2)查找返回多列数据
单条件查找会了,多条件查找也学了,都是输入一个公式然后向下复制填充一列的形式,如果有多列呢?这时候就需要用到查找返回多列数据。
(3)从右向左查找(反向查找)
VLOOKUP函数只能从左往右找,那么遇到需要从右往左查找的问题如何解决呢?,举个例子:
如下图所示要求根据姓名反查工号

公式:=VLOOKUP(A9,IF({1,0},B2:B6,A2:A6),2,0)
注意:这里其实是利用IF函数的数组效应把两列换位重新组合后,再按正常的从左至右查找。
IF({1,0},B2:B5,A2:A5)这是本公式中最重要的组成部分。
这里1和0不是实际意义上的数字,而是1相当于TRUE,0相当于FALSE,当为1时,它会返回IF的第二个参数(B列),为0时返回第二个参数(A列)。
根据数组运算返回数组,所以使用IF后的结果返回一个数组(非单元格区域):{"张一","A001";"赵三","A002";"杨五","A003";"孙二","A004"}
(4)按所处区间划分等级(模糊匹配)
除了精确查找外,模糊匹配也是个常见的使用场景,用vlookup比使用if函数要方便省力的多得多。
(5)按指定次数重复数据
工作中一些复杂场景会遇到按指定次数重复数据的需求,比如,想让A重复3次、B重复5次,这种情况用vlookup就可以:

(6)在合并单元格中查找
在工作中尽量避免合并单元格,尤其是在数据处理过程中。但这并不能避免跟合并单元格打交道,因为数据源来自的渠道太多了,如果需要在合并单元格中查找,那么vlookup的对应用法就是:
=VLOOKUP(F4,INDIRECT("B"&MATCH(E4,A:A,0)&":C14"),2,0)

(7)提取字符串中的数值
工作中有时会遇到从一串文本和数值混杂的字符串中提取数值的需求,如果字符串比较多而且经常变动,与其每次都手动提取数值,就不如写好一个公式实现自动提取。当数据源更新时,公式结果还能自动刷新。

(8)VLOOKUP出现错误值的问题
还有跨表引用、批量查询……
太多了……
大家还是直接收藏汇总表吧,这样比较方便!
