LOOKUP 是 Excel 经典向量 / 数组查找函数,核心作用是在单行或者单列(向量)、或者二维数组里面查找指定值,然后返回对应位置另一行 / 列的数据,它和 VLOOKUP 最大区别是 LOOKUP 支持反向查找,而且不需要像 VLOOKUP 那样查找列必须在返回列左侧,但是 LOOKUP 有一个非常关键硬性要求:向量形式默认要求查找区域升序排序,如果没有升序,很容易返回错误结果,这也是新手最容易踩坑的地方,LOOKUP 有两种语法形式:向量形式、数组形式,日常工作里面绝大多数人使用的是向量形式,也是考试和办公最常用版本,下面对公式语法、参数含义、运算原理、经典用法、报错原因、常见坑点做完整深度解析。
基础语法表
| 形式 | 完整公式 | 参数说明 |
|---|---|---|
| 向量形式(推荐) | =LOOKUP(lookup_value, lookup_vector, [result_vector]) | lookup_value:要查找的值 lookup_vector:查找的单行 / 单列区域 result_vector:返回结果的单行 / 单列区域,大小必须和 lookup_vector 一致 |
| 数组形式 | =LOOKUP(lookup_value, array) | lookup_value:查找值 array:二维数组区域,默认按第一行 / 第一列匹配,返回最后一行 / 列对应结果 |
重点:向量形式的 result_vector 是可选参数,如果省略,就会直接在 lookup_vector 区域本身返回匹配结果。
核心运算原理
LOOKUP 是近似匹配模式,不是精确匹配优先:
- 会在 lookup_vector 里面,寻找小于或者等于查找值的最大项
- 如果查找值大于区域内所有数值,就匹配最后一个单元格
- 如果查找值小于区域内第一个数值,直接返回 #N/A 错误
- ✅ 前提:lookup_vector 必须升序排列,这是近似匹配的底层规则
补充:现在非常热门的经典万能 LOOKUP 套路 =LOOKUP(1,0/(条件区域=条件),返回区域) 属于技巧用法,这个写法可以实现不排序的精确查找,是办公高频技巧,原理是 0/(条件成立) 得到 0,条件不成立得到错误值,LOOKUP 会自动忽略错误值,找到数字 0 完成匹配。
经典公式案例
案例 1 基础向量查找(升序数据表)
数据表 A 列是编号,B 列是姓名
公式:=LOOKUP(1003,A1:A10,B1:B10)
含义:在 A1:A10 里面查找 1003,返回同行 B 列姓名
案例 2 万能精确查找(无需排序,办公最常用)
需求:根据姓名查找对应的工资
公式:=LOOKUP(1,0/(A2:A20=E2),C2:C20)
拆解:
- A2:A20=E2 判断姓名是否等于 E2,得到 TRUE/FALSE 逻辑值
- 0/(TRUE/FALSE) TRUE=1,0/1=0;FALSE=0,0/0=#DIV/0! 错误
- LOOKUP 忽略错误值,找到数值 0,匹配对应的 C 列结果,实现精确匹配,不需要升序排序
案例 3 反向查找(VLOOKUP 很难实现,LOOKUP 优势)
VLOOKUP 要求查找列在左边,LOOKUP 可以从右往左查
公式:=LOOKUP(1,0/(B2:B10=E2),A2:A10)
含义:B 列查找姓名,返回左侧 A 列编号,实现反向查询
常见报错与原因
| 错误值 | 产生原因 | 解决办法 |
|---|---|---|
| #N/A | 查找值小于查找区域第一个数值;或者没有符合条件的数据 | 检查查找值,确认万能写法条件是否成立 |
| #VALUE! | lookup_vector 和 result_vector 区域长度不一致 | 两个区域行数 / 列数保持一样大小 |
| 结果错乱 | 普通近似匹配模式没有升序排序 | 改用 LOOKUP(1,0/(条件),返回区域) 万能精确查找写法 |
LOOKUP 和 VLOOKUP 对比
| 对比项 | LOOKUP | VLOOKUP |
|---|---|---|
| 查找方向 | 支持反向查找 | 默认只能从左往右查找 |
| 匹配模式 | 近似匹配,万能写法可精确匹配 | 精确匹配 0,近似匹配 1 |
| 排序要求 | 原生近似匹配必须升序 | 精确匹配不需要排序 |
| 学习难度 | 原理偏难,技巧灵活 | 上手简单 |
使用注意事项
- 万能 LOOKUP 写法适合单条件精确查询,如果是多条件,可以写成 0/((条件1)*(条件2)),多个条件相乘同时成立才为 1
- 如果查找区域里面有文本、数字混合,升序排序逻辑会按照 Excel 默认排序规则处理,容易出现匹配异常
- 新版 Excel 365 可以优先考虑 XLOOKUP,但是 LOOKUP 兼容性更好,老版本 Excel 仍然可以正常运行
- 注意单元格引用,下拉填充公式的时候,查找区域要按需加绝对引用 $,防止区域偏移
【常见问题】
问题 1,lookup 函数公式解析,为什么普通 LOOKUP 必须升序?
回答 1,lookup 函数公式解析,原生 LOOKUP 是近似匹配算法,升序是近似匹配的必要条件,如果不升序,lookup 函数公式解析之后会匹配错误的数据,这是 lookup 函数公式解析最核心坑点。
问题 2,lookup 函数公式解析,LOOKUP (1,0/(条件), 返回区域) 是什么原理?
回答 1,lookup 函数公式解析,这个万能公式利用逻辑运算生成 0 和错误值,LOOKUP 会自动跳过错误值,定位到 0 完成精确查找,不需要升序排序,是 lookup 函数公式解析最实用技巧。
问题 3,lookup 函数公式解析,LOOKUP 能不能反向查找?
回答 1,lookup 函数公式解析,LOOKUP 支持反向查找,可以实现查找列在右侧,返回左侧列数据,这也是 lookup 函数公式解析对比 VLOOKUP 的一大优势。
问题 4,lookup 函数公式解析,出现 N/A 是什么原因?
回答 1,lookup 函数公式解析,N/A 一般是没有匹配到符合条件的值,或者查找值小于查找区域第一个数据,按照 lookup 函数公式解析原理排查条件和数据即可。
【免责申明】
本内容为 Excel 函数教学讲解,不同 Excel 版本函数行为基本一致,部分 WPS 表格兼容 LOOKUP 函数,公式操作请以实际软件版本为准,案例仅用于学习参考。


