excel 中 lookup 函数属于经典查找引用类函数,主要作用是按照指定查找值,在查找区域里面匹配对应的数据,它分为向量形式和数组形式两种写法,很多办公人员做档案查询 编码匹配 等级换算的时候会用到 lookup 函数,这个函数最大特点是近似匹配模式,要求查找列必须升序排序,如果没有排序就很容易返回错误结果,这也是新手最容易踩坑的地方,只要分清向量形式和数组形式的语法,按照输入公式选定查找值设置查找区域设置返回区域回车下拉填充的流程操作,同时理解近似匹配的规则,最终就可以实现根据关键字自动检索对应结果,源数据更新之后 lookup 函数会同步刷新查找结果。
一 lookup 函数两种形式基础语法
第一种 向量形式,也是日常推荐使用的写法,单独设置查找区域和返回区域,参数分开,逻辑清晰,不容易出错。
语法 lookup 查找值 查找向量 返回向量
查找值 必填,就是我们想要检索的目标内容,可以是单元格引用,也可以直接写文字或者数字
查找向量 必填,单列或者单行的区域,也就是用来匹配的那一列或者那一行,这个区域必须升序排序
返回向量 必填,单列或者单行区域,长度要和查找向量保持一致,匹配成功之后,从这个区域取出对应位置的数据
第二种 数组形式,把整个数据表格作为数组写入,函数自动识别第一列或者第一行做匹配,写法简短但是限制多,不推荐复杂表格使用。
语法 lookup 查找值 数组
数组 必填,是整块单元格区域,函数默认以第一列作为查找列,最后一列作为返回列,同样要求查找列升序排序
二 基础操作步骤
1 打开 excel 表格,点击要输出查找结果的目标单元格
2 输入等号,接着输入 lookup,也就是 =lookup
3 输入左括号,如果使用向量形式,依次填写查找值,英文逗号,查找向量,英文逗号,返回向量
4 如果使用数组形式,填写查找值,英文逗号,选中整块数据区域
5 输入右括号,按下回车键,单元格就输出匹配得到的结果
6 选中单元格,拖动右下角填充柄向下下拉,整列批量执行 lookup 函数查找
三 向量形式实战示例
业务场景,分数对应等级换算,A 列是分数,B 列是等级,查找列分数已经按从小到大升序排列,根据 D2 单元格的分数,匹配对应的等级
公式 =lookup (D2,A2:A10,B2:B10)
执行逻辑,lookup 函数在 A2 到 A10 这个查找向量里面,找到小于等于 D2 的最大数值,然后定位到同一行,从 B2 到 B10 返回向量取出等级。这个就是近似匹配核心逻辑,不是精确相等才匹配,这点和 vlookup 精确匹配有很大区别。
补充说明,如果查找值比查找向量里面最小数值还要小,lookup 函数会返回 N/A 错误,如果查找值比最大值还要大,就匹配最后一行的数据。
四 数组形式实战示例
同样是分数等级表,整块区域 A2:B10,根据 D2 查找等级
公式 =lookup (D2,A2:B10)
执行逻辑,函数自动把区域第一列 A 列作为查找列,区域最后一列 B 列作为返回列,不需要单独写返回区域,适合两列简单对照表,一旦表格超过两列,数组形式就会自动取最后一列,很容易拿错返回数据,所以多列表格优先选用向量形式 lookup 函数。
五 lookup 函数和 vlookup 函数对比表
| 对比项目 | lookup 函数 | vlookup 函数 |
|---|---|---|
| 匹配模式 | 默认近似匹配,查找列需要升序 | 支持精确匹配和近似匹配两种模式 |
| 查找方向 | 可以横向单行查找,也可以纵向单列查找 | 只能纵向,查找列必须在返回列左侧 |
| 参数结构 | 向量形式查找区域和返回区域分开 | 查找列固定在左侧,返回列填写列序号 |
| 多列返回 | 向量形式更灵活 | 需要修改列序号,横向扩展不方便 |
| 排序要求 | 近似匹配强制升序 | 精确匹配不需要排序 |
六 进阶用法与注意事项
第一 升序排序是硬性要求,如果查找向量没有升序,lookup 函数依然会运行,但是匹配结果会错乱,不会提示报错,属于隐性错误,很难发现,做正式业务表格一定要提前排序。
第二 lookup 函数支持文本查找,文本排序规则按照 excel 默认拼音或者字符编码顺序,同样要求升序。
第三 查找区域里面如果存在空单元格,空单元格会被识别成数值 0,有可能干扰匹配结果,需要提前清理查找列空白单元格。
第四 lookup 函数不支持从右向左查找的原生特性,这点和 index 加 match 组合不一样,如果需要反向查找,向量形式 lookup 也可以实现,只要查找向量和返回向量位置独立,不受左右顺序限制,这也是 lookup 函数优势。
第五 如果想要实现精确匹配 lookup 函数,需要搭配条件判断,不能直接依靠原生近似匹配,常规精确查找一般优先选择 xlookup 或者 vlookup 精确匹配模式。
七 高频错误排查
| 错误现象 | 错误原因 | 解决办法 |
|---|---|---|
| 返回 #N/A | 查找值小于查找列最小值 | 确认查找值,或者补充查找列最小数据 |
| 匹配结果错乱 | 查找列没有升序排序 | 对查找向量执行升序排序之后重新计算 |
| 返回错误列的数据 | 数组形式多列表格,默认取最后一列 | 改用向量形式 lookup 函数,单独指定返回向量 |
| 下拉之后区域固定不变 | 公式使用绝对引用不当 | 按需调整美元符号,区分绝对引用和相对引用 |
| 中文标点导致公式报错 | 逗号是中文全角 | 切换英文输入法,全部改成英文半角逗号 |
【常见问题】
问题 1 excel 中 lookup 函数怎么使用的时候为什么结果总是错乱
回答 1 excel 中 lookup 函数怎么使用出现结果错乱,核心原因是 lookup 函数属于近似匹配,查找向量必须升序排序,如果没有升序,excel 中 lookup 函数依然运算但是匹配位置错误,提前把查找列升序排序,就可以解决这个问题。
问题 2 excel 中 lookup 函数怎么使用可以实现精确匹配吗
回答 1 excel 中 lookup 函数原生默认是近似匹配,不能直接做到精确匹配,如果想要 excel 中 lookup 函数实现精确匹配,需要额外搭配判断条件,日常精确查找场景更推荐使用 vlookup 或者 xlookup 函数。
问题 3 excel 中 lookup 函数怎么使用向量形式和数组形式选哪个更好
回答 1 excel 中 lookup 函数怎么使用,两列简单对照表可以使用数组形式,多列复杂表格优先选择向量形式 lookup 函数,向量形式可以独立指定查找向量和返回向量,不会自动抓取最后一列,稳定性更强。
问题 4 excel 中 lookup 函数怎么使用下拉填充区域不跟着变化是什么原因
回答 1 excel 中 lookup 函数怎么使用下拉填充区域固定不变,是因为查找向量和返回向量添加美元符号变成绝对引用,取消不需要固定区域的美元符号,改成相对引用,再次下拉 excel 中 lookup 函数就可以正常逐行匹配。
【免责申明】
本教程基于桌面版 excel 通用版本讲解 lookup 函数,不同版本 excel 函数运算规则基本一致,特殊兼容模式下细节可能存在差异,本内容仅作为学习参考,不承担因为公式逻辑编写错误造成查找结果偏差以及文件相关损失责任。


