QUOTE
今天介绍EXCEL技能双雄里的另一位——vlookup,他的重要性与透视表不分伯仲。
很多人一看到 VLOOKUP就头大:四个参数、还动不动报错 #N/A。其实它干的事特别朴素——
你手里有个名字,去另一张表里把对应的那个数找出来,填回来。就像门诊排班表上只有医生姓名,你想把他的工号补上:拿着张三去人事花名册里查,找到那一行的工号,抄回来。VLOOKUP 就是帮你自动「抄」的那个动作。

本文看点
01
四个参数解析
02
两个绕不开的坑
03
顺带认识 XLOOKUP
01
MATCHING
你手上有两张表,它们有一个共同的字段(比如都叫「科室」「姓名」「病案号」),但各自带着不同的信息。你想把表 B 里的某一列,按共同字段「对」到表 A 上。
用一张表的钥匙,去另一张表开锁,取回锁里的东西。
实际医院里这种活特别多:
拿着「科室名称」去另一张表取「月度绩效系数」;
拿着「病案号」去另一张表取「主管医生」;
拿着「收费项目编码」去价表取「项目名称」。
这些本质上都是同一件事——对表,取数。
02
FOUR ARGS
VLOOKUP 长这样:=VLOOKUP(查什么, 在哪查, 要取的数在第几列, 怎么查)。具体来说:

所以这个例子中,公式写出来应该是=VLOOKUP(A3, 花名册!A:B, 2, 0)
最省事的原则:第④参数,日常九成场景直接写 0,效果等同于填FALSE(精确匹配)。
03
FALSE vs TRUE
这是新手翻车最多的地方。
NOTE
FALSE(或写 0)= 精确匹配:表里必须有完全一样的钥匙才返回,找不到就报 #N/A。
TRUE(或写 1)= 近似匹配:找不到完全一样的,就找「小于等于它、且最接近的那个」。
听着近似匹配好像更友好?错。近似匹配有个要命前提——数据源那列必须从小到大排好序,否则它返回的数是乱的,你还发现不了错。医院里绝大多数对表(按科室名、按病案号)都不需要「差不多」,你要的就是「精确对上」。
所以我的习惯:凡是查编码、查名称、查 ID,第四参数一律 FALSE。除非你很清楚在做区间匹配(比如按分数段查等级、按金额档查系数),否则别碰 TRUE。
一个小提醒:第四参数如果留空不写,Excel 会默认当成 TRUE(近似匹配)。所以别偷懒空着,老老实实写上 FALSE(或直接写0)。
04
TWO TRAPS
坑一:只能往右找,不能往左(最左列铁律)
VLOOKUP 有个死规矩:它永远拿数据源区域的「最左一列」当钥匙去比,返回它右边某列的值。钥匙列必须在最左边,目标列必须在它右边。也就是说——它只能向右查,不能向左查。

实际对策:如果你偏要「向左查」,最简单的办法是把数据源两列顺序调换一下(让钥匙列到最左),或者用后面说的 XLOOKUP。虽然有技巧使用一些嵌套的公式让VLOOKUP实现向左查,但是实用性非常低,可以不做了解。日常排表时养成习惯——把要当钥匙的字段放最左,能省一堆事。
坑二:第③参数数错列
第③参数是「从选定的数据范围最左列往右数,目标在第几列」。注意是数据源区域里的第几列,不是整张工作表的第几列。
比如数据源是 花名册!B:D(B、C、D 三列),要取 D 列的值,第③参数就填 3,不是 4,很多人直接数工作表列号 ABCD 认为是第4个,数歪了,返回的就不是想要的数。
防错技巧:注意看在拉选范围时,软件会提示你当前选到了第几列,默默记下这个数据就好。

05
WALKTHROUGH
假设有这么两个表,右边只记录了病案号和费用,缺失患者姓名,需要从左边的出院记录里找到正确的姓名填过来。
⑴初始情况

⑵输入公式
在G2单元格手动输入「=vl」,此时软件已自动识别完整的公式是 vlookup,到这里就可以按键盘上的 Tab 键,自动补全公式,不用全部手动输入


⑶输入第一个参数
我们要用病案号去左边的表查找,所以病案号是第一个参数。先鼠标点击F2单元格,再手动按下键盘上的逗号键(注意要英文的逗号)
注:Excel 公式里每个参数之间的分隔使用逗号,公式不会自动帮我们写上,需要手动输入

⑷输入第二个参数
我们要用病案号去左边的表比对查找,左边表的病案号在B列,所以选取范围时必须从B列开始,姓名在C列,所以用鼠标选中B到C列就可以了。然后再用键盘输入一个逗号。
注:数据范围有两种选法,第一种是整列全选,第二种精确选定范围,本案例中不影响结果,实战中的区别在这里先不做展开,


⑸输入第三个参数

⑹输入第四个参数

⑺得到结果

06
XLOOKUP
XLOOKUP 是 Excel 后来出的新函数,逻辑比 VLOOKUP 直白得多。同一件事它这么写:=XLOOKUP(查什么, 去哪找, 返回什么)
它的好处,一对比就明白:
不用数第几列——直接框「要返回的那一列」,眼睛看的是哪列就选哪列;
能往左查——钥匙列在右、目标在左也照样查,没有「最左列铁律」这个破规矩;
默认精确匹配——不用特意写 FALSE,少一个翻车点;
找不到时还能给个兜底值——第四参数写「查不到返回啥」,不会再满屏 #N/A。

什么时候用哪个?Excel 版本较新(Office 365 / 2021 及以后),直接上 XLOOKUP,顺手还不易错。如果要发给还在用老版本 Excel 的同事,对方可能没这函数、打开就报错,那还是用 VLOOKUP 稳妥。
∞
THE END
如果前面六节你看晕了,这一段单独摘出来,记牢就够用。把 VLOOKUP 想成「拿着名字去另一张表抄数」:
VLOOKUP = 拿 X,去另外一张表照着 X` 列,把 Y 抄回来。
三个最容易忘的点,编成一句人话:查谁(你要拿去对的那格)、去哪(那张有答案的表,从钥匙列开始选)、第几列(答案在右边第几格,数清楚)、怎么查(日常一律写 FALSE(或0),精确对上)。
下次要对表,先想清楚:我要拿什么去哪张表抄哪一列——念完四个框往里填,就不会懵。
最后你会发现,为什么透视表和 vlookup 这么重要,因为他们承担了数据处理工作中最重要的两个环节:单个表的信息维度重组和多个表的信息联结。一个解决单一对象场景,一个解决多对象场景,合在一起,就覆盖了95%的数据工作。
如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。