Microsoft Lab
全部软件
Excel查找与引用(Lookup & Reference)约 4 分钟

Two-column Lookup 双列查找

重点内容


示例场景

表格里有几个人共用同一个名字 "James"(比如 James Smith、James Anderson、James Clark),只用名字 "James" 去查会有歧义,需要同时比对姓和名两个条件才能准确定位到 James Clark。

📷 画面提示

含重复名字 "James" 的示例名单表格,标出三个同名但不同姓的行,说明单条件查找为何会出歧义


方法怎么选

方法适合场景备注
& 拼接 + INDEX/MATCH 数组公式旧版本 Excel要按 Ctrl+Shift+Enter 确认
XLOOKUPExcel 365 / 2021多条件查找写法更简洁,见 EP13

操作步骤

  1. 用 & 运算符把两列拼接成一列:把名字列和姓氏列合并成一个完整字符串数组,比如:

{"JamesSmith";"JamesAnderson";"JamesClark";"JohnLewis";"JohnWalker";"MarkReed";"RichardLopez"}

  1. 用 MATCH 在拼接结果里查找完整姓名:
=MATCH("JamesClark",A2:A8&B2:B8,0)

在拼接数组里查找 "JamesClark",结果返回位置 3。

  1. 按 Ctrl+Shift+Enter 确认成数组公式——公式栏会自动出现花括号 {},代表这是数组公式。
  2. 用 INDEX 取出对应位置的薪资:
=INDEX(C2:C8,MATCH("JamesClark",A2:A8&B2:B8,0))

从薪资范围 C2:C8 里,取出 MATCH 找到的第 3 个位置对应的值。


更简单的替代方案

Excel 365 或 Excel 2021 可以直接用 XLOOKUP 函数处理多条件查找,写法更简洁,见 EP13。


学完你会

常见错误

  • 忘记按 Ctrl+Shift+Enter 确认数组公式,导致 & 拼接的数组没有正确逐一比对,公式返回错误或只处理了第一项
  • 拼接两列时没注意中间要不要加分隔符(比如空格),姓名边界不清楚可能导致误判为匹配(比如 "James" + "Clark" 跟 "JamesC" + "lark" 拼接结果一样)
  • 表格数据本身有空格或大小写不一致,拼接后字符串对不上导致 MATCH 找不到结果

Sources

Blog / Website:

  1. Two-column Lookup
只记在你的浏览器里,换设备不会同步。