Excel双条件匹配两列值并提取对应列数据的实现问题咨询
Excel双列匹配类VLOOKUP取值方案
需求说明
我需要实现类似VLOOKUP的取值功能,但要求同时匹配两个不同列的对应值,提取与两个黄色标记列数值匹配的结果。
- 查找匹配的数据源位于Sheet1:

- 匹配结果需填入Sheet2:

现有问题
目前尝试使用公式IF(COUNTIFS(....)=1;"value that I am looking for"; "no match")实现该需求,但不清楚公式中value that I am looking for部分应填写什么内容,直接填写对应行单元格会返回错误值。
解决方法
以下公式默认假设:Sheet2需要匹配的两个条件分别位于A2、B2单元格,Sheet1中用于匹配的两列为A、B列,需要提取的结果位于Sheet1的C列,你可以根据你的实际列位置修改对应参数。
适用Excel 365/2021及以上版本
直接使用XLOOKUP多条件匹配,无需数组触发:
=XLOOKUP(1,(Sheet1!A:A=A2)*(Sheet1!B:B=B2),Sheet1!C:C,"无匹配")
适用Excel 2019及更早版本
使用INDEX+MATCH数组公式:
=IFERROR(INDEX(Sheet1!C:C,MATCH(1,(Sheet1!A:A=A2)*(Sheet1!B:B=B2),0)),"无匹配")
输入完成后需要按
Ctrl+Shift+Enter三键组合触发数组计算,否则会返回错误值。
基于现有COUNTIFS思路的适配方案
如果需要返回的结果是数值,可以使用该写法:
=IF(COUNTIFS(Sheet1!A:A,A2,Sheet1!B:B,B2)=1,SUMPRODUCT((Sheet1!A:A=A2)*(Sheet1!B:B=B2)*Sheet1!C:C),"无匹配")
该方案仅支持返回数值结果,需要返回文本请使用前面两种方案。
内容的提问来源于stack exchange,提问作者Cesar Leiton
相关产品推荐
相关产品推荐

