Excel中如何将单值与另一表格的数值范围匹配并返回对应值
解决Excel范围匹配返回对应值的问题
首先附上匹配表格截图:
针对你的需求(比如输入88返回15.0),推荐以下两种可行的公式方案:
方案1:INDEX+MATCH数组公式
假设你的匹配数据在名为「匹配表」的工作表中,要匹配的数值在当前工作表的D2单元格,使用以下公式:
=INDEX(匹配表!A:A,MATCH(1,(D2>=匹配表!B:B)*(D2<=匹配表!C:C),0))
- 注意:旧版Excel(2019及之前)输入公式后需要按
Ctrl+Shift+Enter完成数组确认;新版Excel(365/2021)会自动识别数组并返回结果。 - 优化建议:把公式里的整列引用(如
匹配表!A:A)改成具体数据范围(比如匹配表!A2:A10),能提升计算速度。
方案2:XLOOKUP函数(适用于Excel 365/2021)
XLOOKUP支持多条件匹配,写法更直观:
=XLOOKUP(TRUE,(D2>=匹配表!B:B)*(D2<=匹配表!C:C),匹配表!A:A,"未找到",0)
- 最后一个参数
0表示精确匹配,"未找到"是匹配失败时的返回值,可根据需求修改。
为什么之前的VLOOKUP/INDEX+MATCH失败?
VLOOKUP默认近似匹配要求首列升序,且只能基于单列匹配;普通INDEX+MATCH如果没构造数组条件,无法同时判断「大于等于下限」和「小于等于上限」两个条件,所以无法正确匹配范围区间。
内容的提问来源于stack exchange,提问作者brockey2sockey
相关产品推荐
相关产品推荐

