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

多条件与区间匹配的VLOOKUP查询方案咨询

多条件区间匹配手续费的Excel函数方案

假设两张表格结构如下:

  • 手续费分级表(Sheet1):A列=交易所名称,B列=等级,C列=30天交易量门槛,D列=Maker手续费,E列=Taker手续费
  • 查询表(Sheet2):A列=待查交易所,B列=30天交易量,C列=手续费类型(Maker/Taker),D列=匹配结果

以下是三种可行的实现方案:

方案一:INDEX+MATCH 多条件区间匹配(兼容全版本Excel)

通过数组逻辑组合多条件,利用MATCH的近似匹配找到对应区间的最高等级行,再用INDEX提取手续费:

在Sheet2的D2单元格输入公式(旧版Excel需按Ctrl+Shift+Enter确认,新版直接回车):

=INDEX(IF(Sheet2!C2="Maker",Sheet1!D:D,Sheet1!E:E),MATCH(1,(Sheet1!A:A=Sheet2!A2)*(Sheet1!C:C<=Sheet2!B2),1))

公式说明:

  • (Sheet1!A:A=Sheet2!A2):匹配指定的交易所名称
  • (Sheet1!C:C<=Sheet2!B2):筛选出交易量门槛不超过待查值的区间
  • *:逻辑AND,仅保留同时满足两个条件的行
  • MATCH第三个参数1:查找小于等于目标值的最大匹配项,对应满足条件的最高等级
  • INDEX:根据MATCH返回的行号,动态选择Maker或Taker列提取手续费

方案二:XLOOKUP 多条件匹配(Excel 365/2021及以上)

XLOOKUP原生支持多条件和近似匹配,语法更简洁:

在Sheet2的D2单元格输入公式:

=XLOOKUP(1,(Sheet1!A:A=Sheet2!A2)*(Sheet1!C:C<=Sheet2!B2),IF(Sheet2!C2="Maker",Sheet1!D:D,Sheet1!E:E),,1,1)

公式说明:

  • 前两个参数:通过*组合交易所匹配和交易量区间条件
  • 第三个参数:根据手续费类型动态切换返回Maker或Taker列
  • 第五个参数1:启用近似匹配,取小于等于待查交易量的最大门槛区间
  • 第六个参数1:从上到下查找,确保匹配最高等级的手续费

方案三:辅助列优化VLOOKUP(兼容全版本Excel)

如果坚持使用VLOOKUP,可通过辅助列生成唯一匹配键实现:

  1. 在Sheet1新增F列(辅助列),输入公式生成组合键:
    =A2&"|"&C2
    
  2. 在Sheet2新增E列(辅助列),生成待查的目标组合键:
    =A2&"|"&MAX(FILTER(Sheet1!C:C,(Sheet1!A:A=A2)*(Sheet1!C:C<=B2)))
    
  3. 在Sheet2的D2单元格使用VLOOKUP:
    =VLOOKUP(E2,Sheet1!F:E,IF(C2="Maker",2,3),0)
    

说明:

辅助列通过交易所名称|交易量门槛的格式生成唯一标识,先找到满足条件的最大门槛,再精准匹配对应的手续费。

通用注意事项:

  • 手续费分级表的30天交易量门槛列必须按升序排列,否则近似匹配会失效
  • 同一交易所的等级需按门槛从低到高排序,确保匹配到最高等级的手续费

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:20:27