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

Excel公式需求:根据获奖溢价债券号匹配对应购买日期

匹配获奖债券对应的购买日期公式方案

假设两张表分别命名为:

  • 「购买记录」:A列=购买日期,B列=债券号起始值,C列=债券号结束值
  • 「获奖记录」:A列=获奖日期,B列=获奖债券号,需在D列生成匹配的购买日期

一、Excel 365/2021及以上版本(支持动态数组)

直接用XLOOKUP或FILTER函数,无需数组按键:

XLOOKUP公式(D2单元格输入)

=XLOOKUP(TRUE, (B2>=购买记录!$B$2:$B$1000)*(B2<=购买记录!$C$2:$C$1000), 购买记录!$A$2:$A$1000, "无匹配")

FILTER公式(D2单元格输入)

=FILTER(购买记录!$A$2:$A$1000, (B2>=购买记录!$B$2:$B$1000)*(B2<=购买记录!$C$2:$C$1000), "无匹配")

逻辑:通过(B2>=起始号)*(B2<=结束号)生成布尔数组,找到符合范围的行,返回对应购买日期;无匹配时显示"无匹配"。

二、旧版Excel(2019及以下,不支持动态数组)

使用INDEX+MATCH数组公式,输入后需按Ctrl+Shift+Enter确认:

基础公式(返回#N/A如果无匹配)

=INDEX(购买记录!$A$2:$A$1000, MATCH(TRUE, (B2>=购买记录!$B$2:$B$1000)*(B2<=购买记录!$C$2:$C$1000), 0))

带错误处理的公式

=IFERROR(INDEX(购买记录!$A$2:$A$1000, MATCH(TRUE, (B2>=购买记录!$B$2:$B$1000)*(B2<=购买记录!$C$2:$C$1000), 0)), "无匹配")

逻辑:MATCH定位第一个符合范围条件的行号,INDEX提取对应日期;IFERROR处理无匹配的情况。

注意事项

  • 替换公式中的$B$2:$B$1000等范围为实际数据的有效区域,避免包含大量空行
  • 确保债券号为数值格式,文本格式会导致范围判断失效
  • 若同一债券号对应多个购买范围(业务上应避免),公式将返回第一个匹配的日期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:40:30