今天这篇文章主要整合了 30 个常用的 VLOOKUP 查找公式,并且按照入门、进阶、初级、提升、高级以及超高级这 6 大阶段,逐步开展拆解说明。

大家在学习的时候,建议先把查找值、查找区域、返回列号以及匹配方式这 4 个核心参数理解清楚。每一个公式都会结合具体的使用场景以及操作说明,帮助大家理解公式解决了什么问题,而不是只记住表面的写法。


查找值必须在第一列:这是VLOOKUP最核心的硬性约束,反向查找需借助IF({1,0})重构。
精确匹配 vs 近似匹配:精确用0,近似用1(近似时首列必须升序,常用于等级/税率区间)。
#N/A的三大元凶:查找值不存在、数据类型不一致(数字vs文本)、区域引用未锁定($)。
性能提示:VLOOKUP是逐行扫描,大数据量(>1万行)建议用INDEX+MATCH或XLOOKUP替代。
一句话:VLOOKUP只能从左往右查,这是它的“命门”,所有高阶技巧都在绕开这个限制。
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])=VLOOKUP(查找的值,查找区域或数组,返回所在列号,精确或近似查找)语法说明:
查找的值:要查找的值
查找区域或数组:包含查找值字段和返回值的单元格区域或数组
返回值的列号:返回值在查找区域中的列数
精确or近似查找:0或FALSE为精确查找,1或TRUE为近似查找

区域锁定的血泪教训:下拉填充时,查找区域必须用$A$2:$D$8绝对引用,否则区域会“漂移”。
列号从1开始:列号是指“查找区域内的第几列”,不是工作表的第几列,容易混淆。
第4参数省略的陷阱:省略不写默认近似匹配,90%的意外错误源于此,建议永远显式写0。
XLOOKUP强势替代:新版Excel中,=XLOOKUP(E2,A:A,B:B) 更灵活,无需首列限制。
一句话:记住“值、区、列、0”四字口诀,第4参数永远写0,绝不含糊。
二、入门篇(单条件查找+错误值处理)

链式查找的极限:IFNA嵌套最多7层,超过可用IFS+VSTACK重组数据源。
&"" 的妙用:当查找结果为空单元格时,VLOOKUP返回0,&""可将其转为空白,更美观。
实践场景:员工花名册中,先用工号查姓名,查不到用身份证号再查一次,双重保障。
一句话:VLOOKUP负责“找到”,IFNA负责“找不到时不丢人”。

IF({1,0})原理:在内存中临时构建一个“新表格”,把B列放前面、A列放后面,实现反向查找。
批量查找的数组溢出:VLOOKUP(C1:C10,...) 在Excel 365中自动溢出到多行,无需下拉填充。
近似匹配实战:提成计算(0-1000提1%,1000-5000提3%),首列升序后自动命中对应区间。
查找图片的条件:图片必须“嵌入单元格”而非“浮动”,否则不会联动。
一句话:反向查找靠重构内存表,区间查找靠升序+近似匹配。

{3,4,5}数组返回:需Excel 365或WPS新版,旧版用INDEX+MATCH分别取三列。
MATCH+标题动态化:标题位置变化时结果自动更新,适合制作“可切换字段”的查询模板。
9^9取行内数值:9^9是超大数,近似匹配定位行内最后一个数值,配合ROW实现隔列求和。
通配符*的代价:*会匹配第一个符合条件的值,若有多个“郑州”只取第一个,需要全部结果请用FILTER。
一句话:VLOOKUP+MATCH=动态列,VLOOKUP+通配符=模糊搜索。

多条件拼接的隐患:用&拼接时,若A="12",B="3"和A="1",B="23"结果都是"123",建议加分隔符如A2&"|"&B2。
VSTACK纵向堆叠:将多个结构相同的表合并成一个虚拟表再查,无需物理合并数据。
数据类型转换速查:文本→数字用*1或--;数字→文本用&"";日期→文本用TEXT(日期,"yyyy-mm-dd")。
跨表引用的格式:工作表名带空格时需加单引号,如'1月数据'!A:C。
一句话:VLOOKUP报错先看数据类型,80%的问题出在“数字长得像文本”。

TRIM去空格:数据导入时常见前导/尾部空格,TRIM+A2&"*"可同时去掉空格并模糊匹配。
转义通配符:和?在VLOOKUP中是特殊字符,查找“A100”必须用SUBSTITUTE替换为“A~*100”。
“座”的由来:按拼音排序,“座”是GBK编码中靠后的汉字,近似匹配会落到文本区域的最后一行。
INDIRECT跨月:B1单元格写“5月”,公式自动引用“5月!A:C”,每月只需改一个单元格。
提取手机号:核心是LEN逐一检查每11位是否为纯数字,是数组公式需Ctrl+Shift+Enter。
一句话:高级技巧本质是“预处理查找值”或“改造查找区域”。

重点:
FILTER替代VLOOKUP:一对多场景下,=FILTER(B:B,A:A=E2)直接返回所有匹配项,更直观。
忽略隐藏行:SUBTOTAL(103,区域)只统计可见行,配合FILTER实现“筛选后仍然正确查找”。
LOOKUP二分法取最后一条:=LOOKUP(2,1/(条件区域=条件),返回值区域)是取最后一个匹配的经典写法。
超链接跳转:HYPERLINK("#A"&行号, 显示文本)可点击跳转到工作表内具体单元格。
跨文件引用前提:外部文件必须保持打开,否则INDIRECT会返回#REF!。
一句话:超高级不是炫技,而是用组合函数解决真实业务中的“脏数据”和“复杂约束”。
真正掌握 VLOOKUP,并不是背下一条固定公式,而是能够根据实际数据结构以及业务需求,快速判断应该选择哪一种查找方法。
夜雨聆风