Excel多条件匹配公式需求:A列匹配+区间查找获取对应值
多条件区间匹配的Excel公式实现
需求回顾
原G2单元格公式通过区间匹配获取结果:
=INDEX(D:D,MATCH(1,(F2>=B:B)*(F2<=C:C),0))
该公式通过数组运算找到首个满足F2落在B-C区间的行,返回对应D列值。现需在G3单元格添加额外条件:先匹配A列值等于E3,再查找F3对应的B-C区间,返回符合双条件的D列结果。
解决方案公式
在G3单元格输入以下公式:
=INDEX(D:D,MATCH(1,(A:A=E3)*(F3>=B:B)*(F3<=C:C),0))
公式逻辑说明
(A:A=E3):筛选A列中与E3值完全匹配的行,匹配成功返回TRUE(等价于1),否则返回FALSE(等价于0)(F3>=B:B)*(F3<=C:C):筛选F3值落在对应行B-C区间内的行,双条件同时满足时返回1,否则返回0- 三个条件相乘后,仅同时满足A列匹配、区间匹配的行会得到结果1
MATCH(1, ... ,0):定位第一个结果为1的行号(0表示精确匹配)INDEX(D:D, ...):根据行号返回D列对应的结果值
注意事项
- 若使用Excel 2019及更早版本:输入公式后需按Ctrl+Shift+Enter组合键完成数组公式的输入(公式会自动被大括号
{}包裹) - 若使用Excel 365/2021及以后版本:直接按回车即可,公式会自动处理数组运算并返回结果
内容的提问来源于stack exchange,提问作者Deepak Madbhagat
相关产品推荐
相关产品推荐

