ARTICLE · 1357948
Excel XLOOKUP 多条件查找:同名不同部门也能精准查
Excel XLOOKUP 多条件查找:同名不同部门也能精准查上篇讲了单条件 XLOOKUP 按工号查人。但现实常遇到这种情况:“张三”在销售部和技术部各有一个,只按姓名查会撞车。这时就要上多条件 XLOOKUP——把“部门 + 姓名”拼成一个联合键再查,精准到个人。


一、核心思路:用 & 拼“联合键”
把多个条件用 & 连成一段文本当“钥匙”,查找区域也用 & 拼成同样格式的钥匙串,就能实现“多条件 = 一个条件”。
=XLOOKUP(条件1&条件2, 区域1&区域2, 返回区域, "未找到")
二、原始数据
员工表(注意有两个“张三”,部门不同):
三、写公式(查询表 C2)
在“查询”表输入部门与姓名,C2 写:
=XLOOKUP(A2&B2, 员工表!A2:A6&员工表!B2:B6, 员工表!C2:C6, "未找到")
读起来:把 A2 部门与 B2 姓名拼成“技术部张三”,去员工表的“部门&姓名”钥匙串里找,找到了就返回对应工资。回车即可,改部门/姓名结果实时变。


图:XLOOKUP 多条件运行结果
可以看到:技术部 + 张三 → 12000,销售部 + 张三 → 8000,两个同名张三被部门条件区分开,不再撞车。
四、进阶:布尔数组法(不用 & 拼接)
如果你嫌拼文本麻烦,还可以用乘法表示“并且”:
=XLOOKUP(1, (员工表!A2:A6=A2)*(员工表!B2:B6=B2), 员工表!C2:C6, "未找到")
(部门列=部门) 与 (姓名列=姓名) 各返回一串 TRUE/FALSE,相乘后只有“都满足”的那行是 1,XLOOKUP 找这个 1 即可。好处是条件可以直接用大小比较(如 工资>10000),拼文本做不到。
五、3 个容易踩的坑
1. & 拼接的区域要一样大。区域1和区域2(以及返回区域)行数必须一致,否则报错。
2. 文本与数字别混。条件若是文本、数据源是数字(或反过来),拼出来对不上,会返回“未找到”;统一格式再查。
3. 版本门槛。XLOOKUP 需 Excel 365 / 2021+ 或 WPS 新版,老版本显示 #NAME?。















































































