You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel区间匹配公式求助:根据数值所在区间返回对应单元格值

Excel区间匹配公式求助:根据数值所在区间返回对应单元格值

嗨,我来帮你搞定这个Excel区间匹配的问题!

看你目前用的公式=IF(AND(G1>=$E$3:$E$10;G1<=$E$3:$E$10);"No match!";INDEX($D$3:$D$10;IF.ERROR(MATCH(G1;$E$3:$E$10);1))),有两个关键问题:

  • AND条件里让G1同时大于等于和小于等于E列的同一个值,这只有当G1完全等于E列某个值时才成立,完全没用到D列的区间范围
  • MATCH函数只会找G1在E列的完全匹配项,没法处理“落在某个区间内”的逻辑,所以只有当D、E值在同一列上下排列(相当于单点区间)时才偶然有效

我给你分两种常见场景提供解决方案:

场景1:D列是区间下限,E列是区间上限

如果你的表格是D列作为区间起始值,E列作为区间结束值(比如D3=0、E3=10,对应要返回的内容在D列),要判断G列数值落在哪个区间并返回对应行的内容,可以用下面的公式:

新版Excel(支持动态数组,无需按组合键)

=IFERROR(INDEX($D$3:$D$10,MATCH(TRUE,(G1>=$D$3:$D$10)*(G1<=$E$3:$E$10),0)),"No match!")

原理:用(G1>=$D$3:$D$10)*(G1<=$E$3:$E$10)生成一组逻辑值,找到第一个TRUE的位置(也就是G1所在的区间行),再用INDEX返回对应D列的内容,IFERROR用来处理无匹配的情况。

旧版Excel(需按组合键输入数组公式)

输入同样的公式后,不要直接回车,按下Ctrl+Shift+Enter组合键,公式会自动加上大括号(不要手动添加):

{=IFERROR(INDEX($D$3:$D$10,MATCH(TRUE,(G1>=$D$3:$D$10)*(G1<=$E$3:$E$10),0)),"No match!")}

场景2:E列是升序排列的区间分界点

如果你的区间是按E列的分界点划分的(比如E3=10对应“低”、E4=20对应“中”、E5=30对应“高”,即≤10为低,11-20为中),且E列已经按升序排列,用LOOKUP会更简洁:

=IFERROR(LOOKUP(G1,$E$3:$E$10,$D$3:$D$10),"No match!")

原理:LOOKUP会自动找到小于等于G1的最大E值,返回对应的D列内容,非常适合这种连续的区间匹配场景。

备注:内容来源于stack exchange,提问作者jj789cafo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:47:50