如何基于参考表多查找值匹配获取目标表格对应code?
多条件匹配查询Code的实现方法
根据你使用的Excel版本不同,可以选择以下两种最优方案:
方案1:Excel 365/2021及以上版本(最简便)
直接使用XLOOKUP多条件匹配,无需额外操作,输入公式后回车即可生效:
=XLOOKUP(1,(参考表!A$2:A$100=G2)*(参考表!B$2:B$100=H2)*(参考表!C$2:C$100=I2),参考表!E$2:E$100,"无匹配")
参数说明:
- 把公式里的
参考表替换为你存放静态参考表的工作表名称 A$2:A$100/B$2:B$100/C$2:C$100对应参考表的Name、Age、Age Calc from三列的实际数据范围E$2:E$100对应参考表存放Code的列范围G2/H2/I2对应当前查询行的三个匹配字段所在单元格- 如果有额外的匹配条件,直接在
1,后方的判断区域新增*(参考表!对应列范围=当前查询行对应单元格)即可扩展匹配规则
方案2:兼容所有Excel版本(含2019及更早版本)
使用INDEX+MATCH数组公式实现:
=IFERROR(INDEX(参考表!E$2:E$100,MATCH(1,(参考表!A$2:A$100=G2)*(参考表!B$2:B$100=H2)*(参考表!C$2:C$100=I2),0)),"无匹配")
注意:公式输入完成后,需要按Ctrl+Shift+Enter三键组合结束,触发数组运算才能得到正确结果,不要直接回车。
注意事项
- 建议锁定参考表的行范围(用
$固定行号),下拉填充公式时不会偏移 - 如果你的字段对应列和上述假设不一致,替换对应列号即可
内容的提问来源于stack exchange,提问作者BradS
相关产品推荐
相关产品推荐

