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

求Excel公式:从Tab1指定日期区间找触发目标价的最早日期

解决你的Excel公式需求

嘿,我来帮你搞定这个问题!先把咱们两个工作表的信息理清楚:

工作表结构说明

  • Tab1(日期股价表):

    • A列:按顺序排列的每日日期
    • AE列:对应A列日期的当日股价
  • Tab2(买卖触发表):

    • C列:按顺序记录的股票买卖日期(C2是买入日,C3是对应的卖出日,以此类推)
    • I列:对应每组买卖的关键卖出触发价

公式方案

根据你的需求——在Tab2中查询Tab1里「买入日到卖出日区间」内,最早出现股价≥对应触发价的日期,我分两种Excel版本给你方案:

方案1:Excel 365/2021及以上版本(支持XLOOKUP)

假设你要把结果放在Tab2的J列(对应每一组买卖),J2单元格的公式如下:

=XLOOKUP(TRUE, (Tab1!A:A>=C2)*(Tab1!A:A<=C3)*(Tab1!AE:AE>=I2), Tab1!A:A, "无符合条件日期", 0, 1)

公式解释:

  • (Tab1!A:A>=C2)*(Tab1!A:A<=C3):先筛选出Tab1中在「买入日(C2)」到「卖出日(C3)」之间的日期范围
  • *(Tab1!AE:AE>=I2):叠加筛选出该范围内股价≥触发价(I2)的行
  • XLOOKUP会按顺序查找第一个满足条件的行,返回对应的Tab1 A列日期;如果没有符合条件的日期,会返回你设置的提示文本「无符合条件日期」

方案2:旧版Excel(仅支持INDEX+MATCH)

如果你的Excel版本不支持XLOOKUP,可以用数组公式实现:

=INDEX(Tab1!A:A, MATCH(TRUE, (Tab1!A:A>=C2)*(Tab1!A:A<=C3)*(Tab1!AE:AE>=I2), 0))

注意事项:

  • 旧版Excel输入完公式后,需要按 Ctrl+Shift+Enter 完成数组公式的确认;新版Excel直接回车即可
  • 如果没有符合条件的日期,公式会返回#N/A,你可以用IFERROR包裹来设置提示文本,比如:
    =IFERROR(INDEX(Tab1!A:A, MATCH(TRUE, (Tab1!A:A>=C2)*(Tab1!A:A<=C3)*(Tab1!AE:AE>=I2), 0)), "无符合条件日期")
    

要是你的买卖日期分组规则有特殊情况(比如不是C2对应C3这种成对的),或者需要调整范围,可以随时补充示例数据,我再帮你微调公式!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:26:26