Excel如何根据多单元格匹配条件跨表引用对应数值
Excel双条件匹配取值解决方案
通用兼容公式(支持所有Excel版本,无需VBA)
在Sheet1的Amount列首个数据单元格(即表格第二行B列,对应Lvl为1A的Amount位置)输入以下公式,下拉填充即可:=INDEX(Sheet2!$B$2:$D$7,MATCH(A2,Sheet2!$A$2:$A$7,0),MATCH(C2,Sheet2!$B$1:$D$1,0))
公式说明:
- 第一层
MATCH(A2,Sheet2!$A$2:$A$7,0):匹配当前行Lvl值在Sheet2首列的行位置 - 第二层
MATCH(C2,Sheet2!$B$1:$D$1,0):匹配当前行ID值在Sheet2首行的列位置 INDEX函数根据返回的行、列位置从Sheet2的数值区域提取对应结果- 公式中的
$为绝对引用标记,确保下拉填充时Sheet2的引用区域不会偏移
高版本简化公式(支持Excel 2021/365及以上版本)
可使用嵌套XLOOKUP实现更简洁的写法:=XLOOKUP(A2,Sheet2!$A$2:$A$7,XLOOKUP(C2,Sheet2!$B$1:$D$1,Sheet2!$B$2:$D$7))
异常处理优化
如果存在Lvl或ID无匹配的场景,可套入IFERROR避免返回错误值:=IFERROR(INDEX(Sheet2!$B$2:$D$7,MATCH(A2,Sheet2!$A$2:$A$7,0),MATCH(C2,Sheet2!$B$1:$D$1,0)),"无匹配")
内容的提问来源于stack exchange,提问作者NicCio
相关产品推荐
相关产品推荐

