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

当ID介于C列与D列区间时返回对应值的Excel公式问题求助

解决Excel区间匹配公式问题

排查核心问题

  • 数据类型不匹配:检查Y2、[DID Codes.xlsx]DID Codes表的C列、D列单元格类型,确保均为数值型。若存在文本型数值,用VALUE()函数转换,比如把Y2替换为VALUE(Y2)。
  • 数组公式输入方式:Excel 2019及更早版本中,你的原公式需要按下Ctrl+Shift+Enter完成数组公式输入(新版Excel支持动态数组,无需此操作)。
  • 整列引用干扰:原公式使用整列C:C、D:D,空单元格会导致无效计算,建议限定具体数据范围(比如C2:C1000)。

修正后的公式方案

方案1:适配旧版Excel的数组公式

=INDEX('[DID Codes.xlsx]DID Codes'!$E$2:$E$1000, MATCH(1, (Y2 >= '[DID Codes.xlsx]DID Codes'!$C$2:$C$1000) * (Y2 <= '[DID Codes.xlsx]DID Codes'!$D$2:$D$1000), 0))

输入完成后按Ctrl+Shift+Enter生效,若需处理无匹配的情况,套上IFERROR:

=IFERROR(INDEX('[DID Codes.xlsx]DID Codes'!$E$2:$E$1000, MATCH(1, (Y2 >= '[DID Codes.xlsx]DID Codes'!$C$2:$C$1000) * (Y2 <= '[DID Codes.xlsx]DID Codes'!$D$2:$D$1000), 0)), "无匹配")

方案2:新版Excel(365/2021)推荐用FILTER或XLOOKUP

用FILTER直接返回所有匹配结果(若有多个重叠区间):

=FILTER('[DID Codes.xlsx]DID Codes'!$E$2:$E$1000, (Y2 >= '[DID Codes.xlsx]DID Codes'!$C$2:$C$1000) * (Y2 <= '[DID Codes.xlsx]DID Codes'!$D$2:$D$1000), "无匹配")

用XLOOKUP更高效地返回第一个匹配结果:

=XLOOKUP(1, (Y2 >= '[DID Codes.xlsx]DID Codes'!$C$2:$C$1000) * (Y2 <= '[DID Codes.xlsx]DID Codes'!$D$2:$D$1000), '[DID Codes.xlsx]DID Codes'!$E$2:$E$1000, "无匹配")

额外检查项

  • 手动验证目标ID(如84286)是否真的存在于某一行的C列(起始值)和D列(结束值)区间内
  • 确保DID Codes.xlsx文件处于打开状态(旧版Excel引用关闭的外部文件易出错)

内容的提问来源于stack exchange,提问作者Nrhoodie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:42:15