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

Excel多条件匹配折扣:基于客户ID与年度销售额获取对应折扣

基于客户ID和销售额区间匹配折扣的解决方法

方法1:INDEX + MATCH(兼容多数Excel版本)

假设Table1的客户ID在A2,年度销售额在B2;Table2的客户ID列是E2:E100,区间起始列F2:F100,区间结束列G2:G100,折扣列H2:H100,使用以下公式:

=INDEX($H$2:$H$100, MATCH(1, ($E$2:$E$100=A2)*($F$2:$F$100<=B2)*($G$2:$G$100>=B2), 0))
  • 非Excel 365/2021版本:输入公式后需按Ctrl+Shift+Enter作为数组公式生效
  • 逻辑:通过三个条件的乘积生成匹配标记(符合条件的位置值为1),MATCH定位第一个匹配项的位置,INDEX返回对应折扣值

方法2:XLOOKUP(仅Excel 365/2021及以上版本)

利用XLOOKUP的多条件匹配能力,写法更简洁:

=XLOOKUP(1, ($E$2:$E$100=A2)*($F$2:$F$100<=B2)*($G$2:$G$100>=B2), $H$2:$H$100, "无匹配")
  • 最后一个参数"无匹配"可替换为你需要的默认值(比如0或空文本"")

方法3:FILTER + XLOOKUP(动态数组版本)

先筛选出当前客户的所有区间规则,再通过近似匹配找到对应折扣(要求每个客户的区间起始列From为升序排列):

=XLOOKUP(B2, FILTER($F$2:$F$100, $E$2:$E$100=A2), FILTER($H$2:$H$100, $E$2:$E$100=A2), "无匹配", 1)
  • 参数1表示启用近似匹配,和你之前使用的VLOOKUP(...,TRUE)逻辑一致

注意事项

  • 确保Table2中每个客户的销售额区间无重叠、连续覆盖,避免出现多个匹配结果导致公式返回错误
  • 若要处理销售额超出所有区间的情况,可用IFERROR包裹公式,例如:=IFERROR(INDEX(...), 0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:35:14