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

如何使用INDEX/MATCH数组公式匹配区间数值并返回对应风险值

解决INDEX/MATCH数组公式匹配ID和数值区间的问题

首先,你的数据表格整理如下:

IDLow NumberHigh NumberRisk
AAA033None
AAA3475Moderate
BBB054Low
BBB55100High
CCC025N/A
CCC2650Mild
CCC51100Severe

你原来的公式失败主要有三个问题:

  • 括号位置错误:MATCH函数的第三个参数0被放在了括号外,导致语法错误;
  • 范围包含表头:公式里的$A$1:$A$32包含了表头行,会干扰匹配逻辑;
  • 范围过大:用了32行的范围但实际只有7行数据,空行会导致匹配异常。

修正后的数组公式(旧版Excel需按Ctrl+Shift+Enter)

假设数据行是A2:D8(表头为A1:D1),G1存ID,H1存待匹配数值,使用以下公式:

=INDEX($D$2:$D$8,MATCH(1,($G$1=$A$2:$A$8)*($H$1>=$B$2:$B$8)*($H$1<=$C$2:$C$8),0))
  • 公式逻辑:通过($G$1=$A$2:$A$8)匹配ID,($H$1>=$B$2:$B$8)*($H$1<=$C$2:$C$8)匹配数值所在区间,三个条件相乘得到1的位置就是目标行,再用INDEX返回对应的Risk值。
  • 验证:当G1=AAA、H1=35时,会返回Moderate,符合预期。

替代方案(Excel 365/2021及以上版本)

如果你使用的是支持动态数组的Excel版本,无需按Ctrl+Shift+Enter,直接用XLOOKUP更简洁:

=XLOOKUP(1,($A$2:$A$8=$G$1)*($H$1>=$B$2:$B$8)*($H$1<=$C$2:$C$8),$D$2:$D$8)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 21:37:34