ARTICLE · 1302202
Excel XLOOKUP 多条件查找,一次匹配再也不翻车

做台账、销售数据、生产报表的时候,最常见的需求:
根据【订单 + 日期】、【部门 + 工号】等多个条件,去另一张表里匹配出对应结果。
以前用 VLOOKUP,遇到多条件就头疼:
要么拼接辅助列,要么 IF 套半天,数据一多还匹配错。
今天教你 XLOOKUP 多条件查找,一行公式,不用辅助列,直接出结果!
场景示例:
表 1:订单 (10405)、日期、订单金额……
表 2:订单 + 日期 → 对应的销售结果
目标:根据表 1 的两个条件,匹配表 2 里的销售金额
✅
核心公式(新版 WPS / Excel365)

=XLOOKUP(条件1&"|"&条件2, 查找区1&"|"&查找区2, 返回区)
直接套用实例
假设:
表 2 数据范围:A2:C1000(A = 坐席,B = 日期,C = 销售金额)
表 1 当前行:A2 = 坐席,B2 = 日
✅
Excel

=XLOOKUP(A2&"|"&B2, Sheet2!$A$2:$A$1000&"|"&Sheet2!$B$2:$B$1000, Sheet2!$C$2:$C$1000,"无匹配")
✅ 优点:
不用建辅助列,两列直接拼起来查
比 VLOOKUP 快,支持从右往左查、逆向查找
找不到返回指定值(比如 "无匹配"),不会报 #N/A
❗避坑要点(为什么有些人 XLOOKUP 出错)
拼接符号别用空格,用 `"|"` 或 `"-"`(防止一个值里本身就带空格)
两个表的数据类型要一致:数字别一个是文本一个是数字,日期同理
检查拼接后有没有隐藏字符,先清洗(TRIM/CLEAN,上期讲过)
旧版 Excel2019 以下没有 XLOOKUP,用下面的替代方案
✅ 旧版替代(通用,不用 XLOOKUP)
✅
Excel

=IFERROR(VLOOKUP(A2&"|"&B2,IF({1,0}, Sheet2!$A$2:$A$1000&"|"&Sheet2!$B$2:$B$1000, Sheet2!$C$2:$C$1000),2,0),"无匹配")
输入完按 Ctrl+Shift+Enter 数组回车(旧版)
✅ 更简单粗暴的办法(3 个条件以上用)
如果条件超过 2 个,或者怕拼接出错:
把两表都加一列【辅助列】`=A2&"|"&B2`,然后 VLOOKUP 辅助列,最稳,老版本都能跑。
📌 实际案例(订单表)
表 1:订单编号 10405、2026/10/26,想查这天的质检等级
✅
Excel

=XLOOKUP(A2&"|"&TEXT(B2,"yyyy-mm-dd"),表2!$A$2:$A$1000&"|"&表2!$B$2:$B$1000, 表2!$C$2:$C$1000,"无记录")
日期一定要用 TEXT 统一格式,不然两个表日期格式不同就匹配不上!

微信号丨YO帮帮
扫码关注,获取更多实用内容















































































