
一、VLOOKUP 是什么
VLOOKUP 是 Excel 中用于垂直查找的函数。它的核心功能是:给定一个查找值,在一个数据区域的最左侧列中寻找该值,找到后返回该行中指定列的对应内容。
“V”代表垂直(Vertical),意思是按列从上到下查找。
二、四个参数的含义
VLOOKUP 需要填写四个参数,缺一不可:
第一个参数:要找什么
这是你要查找的值。可以是一个具体的值,比如“1002”或“张三”;也可以是一个单元格引用,比如 A2,表示用 A2 单元格里的内容作为查找依据。
第二个参数:去哪里找
这是查找范围。你需要选定一个矩形区域,通常用类似 A:D 或 A2:D100 的形式表示。
有一个关键要求:这个区域的最左侧列,必须包含第一个参数要查找的内容。例如,如果你想根据工号查找姓名,那么工号列必须在这个选定区域的第一列。
第三个参数:返回第几列的内容
这个参数是一个数字,表示在第二个参数选定的区域中,从最左侧列开始向右数,你要返回的是第几列。
例如,区域是 A:D,如果填 1,返回的是 A 列;填 2,返回 B 列;填 3,返回 C 列;填 4,返回 D 列。
第四个参数:精确匹配还是近似匹配
这个参数通常填写 0 或 1(也可以写 FALSE 或 TRUE)。
· 填写 0 或 FALSE,表示精确匹配,即查找值必须与左侧列中的某个单元格完全一致,才会返回对应内容;如果找不到,会返回 #N/A 错误。
· 填写 1 或 TRUE,表示近似匹配,要求左侧列必须按升序排列,函数会返回小于等于查找值的最大值所对应的内容,通常用于区间判断,如根据分数评定等级。
三、精确匹配的典型用法
在实际工作中,精确匹配是最常用的。假设你有一张“员工信息总表”,A 列是工号,B 列是姓名。另有一张“考勤表”,里面只有工号,你想把对应的姓名填进来。
在考勤表的姓名列输入公式,第一个参数指向考勤表当前行的工号单元格,第二个参数选中总表里包含工号和姓名的两列(工号在左侧),第三个参数填 2 表示返回第二列(即姓名),第四个参数填 0 表示精确匹配。然后将公式向下填充,每行的姓名就会自动匹配出来。
四、使用时的关键注意事项
第一,查找值必须在查找区域的第一列
这是初学者最容易犯的错误。如果你的查找依据在总表的 B 列,但你选的范围是从 C 列开始的,函数就无法找到结果。必须把包含查找依据的那一列作为所选范围的第一列。
第二,精确匹配时务必在第四参数填 0
如果省略第四参数,Excel 默认采用近似匹配,可能导致返回错误的结果而你不自知。养成习惯,精确查找时第四参数永远写 0。
第三,查找区域建议使用绝对引用
当你向下填充公式时,如果不锁定查找区域,区域可能会随着单元格移动而偏移,导致后面的行找不到正确结果。建议在第二个参数中使用绝对引用,例如 $A$2:$B$100,或者在列上使用 $A:$B 的形式。
第四,查找值和数据源格式要一致
有时候明明看起来一样,但就是返回 #N/A,很可能是因为格式不一致。比如查找值是文本格式的“1002”,但总表里的工号是数字格式的 1002,两者不匹配。可以通过数据分列、乘以 1 等方法统一格式。
第五,VLOOKUP 只能从左向右查找
它只能返回查找值右侧的列。如果你想根据姓名查找工号(姓名在右,工号在左),VLOOKUP 做不到,需要用 INDEX 和 MATCH 组合,或者使用 XLOOKUP。
五、近似匹配的典型场景
近似匹配主要用于按区间查找。例如,根据分数评定等级:0到59分为不及格,60到79分为及格,80到89分为良好,90分以上为优秀。
你需要先建立一个辅助表,第一列是区间下限(0、60、80、90),第二列是对应的等级(不及格、及格、良好、优秀),并且第一列必须按升序排列。然后在需要评级的单元格中输入 VLOOKUP,第一个参数是分数单元格,第二个参数是这个辅助表区域,第三个参数填 2,第四个参数填 1(或省略)。函数会自动找到小于等于分数的最大值对应的等级。
六、常见的错误值及原因
当返回 #N/A 时,表示查找值在数据源的第一列中不存在。可能原因:查找值确实没有、格式不一致、数据源中有看不见的空格、查找区域没选对。
当返回 #REF! 时,表示第三个参数超出了查找区域的实际列数。例如区域只有两列,但你填了 3。
当返回的值明显不对时,检查是否误用了近似匹配(第四参数填了 1 或省略),或者查找区域没有用绝对引用导致下拉时区域偏移了。
七、如何用 IFERROR 美化结果
直接使用 VLOOKUP 时,如果找不到匹配项,会显示 #N/A,这在工作表中看起来不够整洁。你可以将公式嵌套在 IFERROR 里面:
=IFERROR(VLOOKUP(第一个参数, 第二个参数, 第三个参数, 0), "未找到")
这样当找不到时,会显示“未找到”或其他你指定的提示文字,而不是错误值。
八、与 XLOOKUP 的对比
如果你使用的是 Excel 2021 或 Office 365,可以考虑使用 XLOOKUP 替代 VLOOKUP。XLOOKUP 没有“只能从左向右查”的限制,不需要数返回第几列,默认就是精确匹配,而且错误处理可以直接写在公式内部。但如果你使用的是较早版本的 Excel,或者需要与使用旧版本的人协作,VLOOKUP 仍然是更通用的选择。
如果你在vlookup使用上有什么问题,欢迎留言讨论
