Excel XLOOKUP 函数
XLOOKUP 函数在区域中搜索值,并从另一区域返回对应结果——不必数列,也没有 VLOOKUP 的脆弱。Excel 365、Excel 2021 与 Google Sheets 均可使用。
XLOOKUP 语法与参数结构
多数精确匹配只需前三个必要参数。请保持 lookup_array 与 return_array 高度(或宽度)一致。
要查找的值。可以是文本、数值、单元格引用(如 E2)或另一个公式的计算结果。
要在其中搜索 lookup_value 的单列或单行区域(例如 A2:A6)。
要返回数据的数组或区域(例如 C2:C6)。长度必须与 lookup_array 严格保持一致。
找不到匹配项时返回的备用值(例如 "Not found" 或 0)。若省略且找不到时,Excel 会返回 #N/A。
匹配模式设置:
搜索方向与算法:
Excel XLOOKUP 示例:按工号查工资
A 列是工号,B 列是姓名,C 列是工资。E2 放要查的工号:E-102。
| 工号 | 姓名 | 工资 |
|---|---|---|
| E-101 | Ana | 72000 |
| E-102 | Ben | 64000 |
| E-103 | Chen | 81000 |
| E-104 | Dia | 59000 |
| E-105 | Eli | 77000 |
XLOOKUP 在 A2:A6 找到 E-102,从同一行的 C2:C6 返回 64000。找不到该工号时返回 Not found,而不是 #N/A。
如何在 Excel 中使用 XLOOKUP
- 确认查找值与搜索区域 — 先想清楚要找什么(lookup_value,如 E2 的员工编号),以及这些值所在的列或行(lookup_array,如 A2:A6)。
- 指向返回结果的区域 — 将 return_array 设为存放答案的区域(如 C2:C6 的薪资列),高度必须与 lookup_array 完全一致。
- 输入公式并处理未找到的情况 — 输入 =XLOOKUP(E2, A2:A6, C2:C6) 后按 Enter。可加上第四个参数 "Not found",让查无数据时显示友好文字而非 #N/A。
XLOOKUP 多条件查找
基本 XLOOKUP 一次只能匹配一个值。若要同时应用两个以上条件——例如找出某部门某员工的薪资——可将布尔测试相乘,或把条件拼接成单一键值:
方法一:布尔相乘(推荐)
每个测试返回 TRUE/FALSE,相乘后只有所有条件都成立的行会是 1,XLOOKUP 便定位到该行。
方法二:字符串拼接
用连接符(&)把条件与区域合并成单一组合键。同样技巧也适用于同时匹配行与列的双向查找。
XLOOKUP 与 VLOOKUP 深度对比
XLOOKUP
可向左或向右任意查找;无需计算列索引数值;默认为精确匹配(不易踩坑);支持原生 not-found 备用值。
VLOOKUP
只能向右查找;插入或删除列容易导致行索引错乱失效;默认为近似匹配(容易忘记填写 FALSE / 0 精确匹配标记)。
XLOOKUP 与 INDEX MATCH 对比
XLOOKUP
一个函数搞定,不需两层组合;内置 if_not_found 备用值,不必再包 IFERROR;向左、向右、反向查找语法完全一致。
INDEX MATCH
支持所有 Excel 版本,包含没有 XLOOKUP 的 2021 以前版本;用 INDEX 搭配行与列两个 MATCH 可自然实现双向查找。
常见错误与注意事项
- #N/A — 无精确匹配项;请检查尾部空格、前后空格或文本/数字类型不一致。
- #VALUE! — lookup_array 与 return_array 的行数或列数大小不一致。
- 向下拖拽结果错误 — 填充多行前请务必使用 $ 锁定查找区域(如 $A$2:$A$6)。
相关实战练习推荐
在真实业务情境的迷你电子表格中,尝试更多函数组合与逻辑挑战,加深肌肉记忆。
常见问题
什么是 Excel 的 XLOOKUP 函数?
XLOOKUP 是 Excel 365/2021 与 Google Sheets 中的查找函数:在查找区域(lookup_array)中搜索指定值,并从返回区域(return_array)的相同位置取回结果,可同时取代 VLOOKUP 与 HLOOKUP。
XLOOKUP 的基本语法是什么?
使用 =XLOOKUP(lookup_value, lookup_array, return_array)。前三个参数已覆盖多数精确匹配需求。
XLOOKUP 与 VLOOKUP 有什么区别?
XLOOKUP 可向左或向右查找、无需列索引、默认精确匹配,并内置 if_not_found 参数;VLOOKUP 只能向右查找,插入或移动列时容易出错。
XLOOKUP 比 VLOOKUP 更好吗?
对多数现代工作簿来说是的。XLOOKUP 可向左或向右查找、无需列索引、默认精确匹配,并支持自定义「未找到」提示。
XLOOKUP 与 INDEX MATCH 该用哪个?
XLOOKUP 更简单——一个函数就有未找到时的备用值。若需要支持 2021 以前的旧版 Excel,或需要经典的双向查找(同时匹配行与列),INDEX MATCH 仍是首选。
Google Sheets 支持 XLOOKUP 吗?
支持。Google Sheets 使用与 Excel 相同的六参数语法,包含 if_not_found、match_mode 与 search_mode。
XLOOKUP 怎么做多条件查找?
用布尔相乘:=XLOOKUP(1, (A2:A6=E2)*(B2:B6=F2), C2:C6);或用拼接组合键:=XLOOKUP(E2&F2, A2:A6&B2:B6, C2:C6)。
为什么 XLOOKUP 会出现 #N/A?
通常是没有精确匹配。请检查尾部空格、文本与数字类型不一致,或确认两个数组高度相同。