Excel多条件匹配取值求助:INDEX+MATCH公式无法正常运行
解决Excel双条件匹配返回分数的问题
原公式错误原因
你使用的=INDEX(E10:E24, MATCH(A2, A10:A24& MATCH(C2,C10:C24, 0)))逻辑错误:MATCH函数的第二个参数需要是待匹配的区域/数组,而你将A列区域与另一个MATCH的结果拼接,无法实现双条件匹配的逻辑,导致公式失效。
正确公式方案
方案1:INDEX+MATCH双条件匹配(兼容新旧Excel)
使用数组逻辑实现双条件匹配,公式如下:
=INDEX(E10:E24, MATCH(1, (A10:A24=A2)*(C10:C24=C2), 0))
- 逻辑说明:
(A10:A24=A2)*(C10:C24=C2)会生成一个由0和1组成的数组,同时满足A列等于A2、C列等于C2的行对应位置为1,其余为0;MATCH函数找到第一个1的位置,INDEX据此返回E列对应的分数。 - 注意:旧版Excel(2019及以前)需要按
Ctrl+Shift+Enter作为数组公式输入,新版Excel直接回车即可。
方案2:XLOOKUP简化写法(仅支持Excel 365/2021及以上)
如果你的Excel版本支持动态数组函数,可以用更简洁的XLOOKUP:
=XLOOKUP(1, (A10:A24=A2)*(C10:C24=C2), E10:E24)
这个公式无需数组输入,直接回车即可返回符合双条件的E列分数,结果即为你预期的7。
内容的提问来源于stack exchange,提问作者TooTallDerr
相关产品推荐
相关产品推荐

