之前一直以为VLOOKUP是一个Excel基本操作,大多数人都能得心应手的使用这个函数,也时不时听到身边同事说“V一下”。
但近两天因工作原因要用到大量数据的匹配处理,看过身边同事操作后,让我转变了之前的看法。看来VLOOKUP这个函数并不是人人都会用,大多数会用的人,也只是一知半解。
其实这只是Excel众多函数中普通的一个,会不会用并不能说明什么问题。有人的有使用需求的时候也许会用,但长时间不用就会生疏,再长时间不用也许就彻底忘了。
记录一下对这个函数的理解,没准时间长不用自己也忘了,回头看一下,还能帮助恢复记忆
三种查找函数:V / H / X
VLOOKUP 这个函数比较"古老"了,新版本的 Excel 中已经加入了 HLOOKUP、XLOOKUP 等,它们都是用于数据查找与匹配的函数。区别如下:
- VLOOKUP(垂直查找):在数据表的首列中查找指定的值,并返回该行中指定列的内容。最常用。
- HLOOKUP(水平查找):在数据表的首行中查找指定的值,并返回该列中指定行的内容。不常用。
- XLOOKUP(新一代全能查找):作为 VLOOKUP 和 HLOOKUP 的改进版本,它分别独立指定"查找区域"和"返回区域",彻底打破了传统函数的诸多限制。由于版本限制,早期的 Excel 中可能不支持这个函数,所以也不常用。
下面重点介绍 VLOOKUP。
一个例子:按工号查员工信息
先举个例子:根据工号,在员工信息表中查出对应的姓名、部门、职位、月薪等信息。
下面是演示文件中的「员工信息表」(共 10 行数据):


演示文件中,查找结果单元格(如示例里的 B6:B9)会根据你输入的工号自动变化,实时在员工信息表里匹配到对应员工的信息。
VLOOKUP 公式语法
|
|
第一个参数「查找值」:你要找谁?
比如你要查工号为 E003 的姓名、部门等信息,那 "E003" 就是查找值。它可以是具体的文字,也可以是某个单元格的值,比如 B4。
第二个参数「查找区域」:你要去哪里找?
比如上例中的 员工信息表!$A$2:$F$11。注意:这个区域的第一列必须包含你的查找值,不然肯定查不到。
第三个参数「返回第几列」:找到之后你要第几列的数据?
比如查找区域是 A 到 F 列:A 是工号、B 是姓名、C 是部门、D 是职位……你要找部门,那部门是第 3 列,就填 3。
第四个参数「匹配方式」:精确还是模糊?
查找值与查找区域第一列的值是精确匹配(必须一模一样),还是模糊匹配(近似就行)?
- 填
0或FALSE:精确匹配,必须完全一样才返回结果; - 填
1或TRUE:模糊匹配。
大多数时候我们用精确匹配就够了,填 0 或 FALSE 即可。
对应到示例:
=VLOOKUP($B$4, 员工信息表!$A$2:$F$11, 3, 0)表示——以$B$4为查找值,在员工信息表的 A2:F11 范围内,返回第 3 列(部门)的精确匹配结果。
使用注意事项
- VLOOKUP 只能向右查找:查找值必须位于查找范围的第 1 列,要返回的值只能在其右侧。
- 第 4 个参数省略时默认为近似匹配(1):绝大多数场景需要精确匹配,务必写
0。 - 查找值两侧的数据类型要一致:文本型工号与数值型工号无法互相匹配,否则精确匹配会失败。
- 如需向左查找或多条件查找:可改用
XLOOKUP或INDEX + MATCH组合。
下载演示文件
本文配套的 Excel 演示文件「VLOOKUP用法演示-员工信息表.xlsx」包含两张表:
- 员工信息表:10 名员工的基础数据,作为查找区域;
- VLOOKUP演示:内置精确匹配、IFERROR 处理查找失败、近似匹配三个示例,黄色单元格均可修改,边改边看结果。
手机端若点击"下载文件"无反应,请点击右上角 ⋯ 选择「在浏览器打开」后重试;或长按下载链接复制,粘贴到手机浏览器地址栏。
持续学习,不会错。