基于表格行列区间值的Excel匹配公式构建求助
参考数据表格
| Litres/Milage | 1.2 | 1.5 | 1.501 |
|---|---|---|---|
| 1500 | 41.8 | 43.4 | 51.8 |
| 5500 | 72.64 | 79.18 | 90.63 |
| 25000 | 31.78 | 31.79 | 39.22 |
| 25001 | 20.56 | 23.85 | 25.87 |
需求说明
需实现:在两个单元格分别输入升数(Litres)和里程数(Milage)后,返回表格对应区间的匹配值。示例:
- 输入1.4升、5600英里 → 返回79.18
- 输入1.6升、5600英里 → 返回90.63
解决方案(跨工作表公式)
假设:
- 数据表格位于名为
Data的工作表,表头(升数列)区域为Data!B1:D1,行标题(里程数)区域为Data!A2:A5,数值区域为Data!B2:D5 - 当前工作表中,升数输入在
F2,里程数输入在G2
使用带区间匹配的INDEX+MATCH组合公式:
=INDEX(Data!$B$2:$D$5, MATCH(G2, Data!$A$2:$A$5, 1), MATCH(F2, Data!$B$1:$D$1, 1))
公式解释
- 里程数匹配:
MATCH(G2, Data!$A$2:$A$5, 1)
因为里程数是升序排列,匹配类型设为1时,会找到小于等于输入里程数的最大行标题值,比如5600会匹配到5500所在的行。 - 升数匹配:
MATCH(F2, Data!$B$1:$D$1, 1)
同理,升数列也是升序排列,匹配类型1会找到小于等于输入升数的最大列标题值,比如1.4会匹配到1.5所在的列。 - INDEX取值:根据上述两个MATCH返回的行号、列号,定位到对应数值单元格。
注意事项
- 必须确保数据表格的行标题(里程数)和列标题(升数)为升序排列,否则区间匹配逻辑会失效。
- 若后续数据范围扩展,可将公式中的固定范围替换为结构化引用(如表格对象),避免手动调整单元格地址。
内容的提问来源于stack exchange,提问作者user16977469
相关产品推荐
相关产品推荐

