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

如何在电子表格中筛选日期时间列表提取每日指定时间并对齐日期

解决方案

推荐公式(支持LET函数的版本)

直接在结果输出起始单元格(例如J11)输入以下公式,回车后将自动生成4列对齐结果:依次为4:30对应日期、4:30对应金额、9:30对应日期、9:30对应金额,自动过滤掉任意时间点缺失数据的日期。

=LET(
  // 定义原始数据范围
  raw_data,A11:B,
  dt_col,INDEX(raw_data,,1),
  val_col,INDEX(raw_data,,2),
  // 筛选4:30区间的所有数据,附加提取纯日期列
  set_430,FILTER(HSTACK(INT(dt_col),dt_col,val_col),(MOD(dt_col,1)*24>=4.5)*(MOD(dt_col,1)*24<=4.6)),
  date_430,INDEX(set_430,,1),
  // 筛选9:30区间的所有数据,附加提取纯日期列
  set_930,FILTER(HSTACK(INT(dt_col),dt_col,val_col),(MOD(dt_col,1)*24>=9.5)*(MOD(dt_col,1)*24<=9.6)),
  date_930,INDEX(set_930,,1),
  // 取两个时间点都存在的日期交集
  common_dates,FILTER(date_430,COUNTIF(date_930,date_430)),
  // 按交集日期匹配对应数据返回
  HSTACK(
    XLOOKUP(common_dates,date_430,INDEX(set_430,,2)),
    XLOOKUP(common_dates,date_430,INDEX(set_430,,3)),
    XLOOKUP(common_dates,date_930,INDEX(set_930,,2)),
    XLOOKUP(common_dates,date_930,INDEX(set_930,,3))
  )
)

兼容无LET函数的拆分写法

如果你的表格版本不支持LET函数,可分别在两列输入以下公式:

  1. J列(4:30日期+金额)输入:
=FILTER(FILTER(A11:B,(MOD(A11:A,1)*24>=4.5)*(MOD(A11:A,1)*24<=4.6)),COUNTIF(INT(FILTER(A11:A,(MOD(A11:A,1)*24>=9.5)*(MOD(A11:A,1)*24<=9.6))),INT(FILTER(A11:A,(MOD(A11:A,1)*24>=4.5)*(MOD(A11:A,1)*24<=4.6)))))
  1. L列(9:30日期+金额)输入:
=FILTER(FILTER(A11:B,(MOD(A11:A,1)*24>=9.5)*(MOD(A11:A,1)*24<=9.6)),COUNTIF(INT(FILTER(A11:A,(MOD(A11:A,1)*24>=4.5)*(MOD(A11:A,1)*24<=4.6))),INT(FILTER(A11:A,(MOD(A11:A,1)*24>=9.5)*(MOD(A11:A,1)*24<=9.6)))))

实现逻辑

  • 用INT(日期时间值)提取纯日期,忽略时间部分,用于日期匹配
  • 对两个时间点的筛选结果日期集合取交集,仅保留两个时间点都有数据的日期
  • 按交集日期分别匹配对应时间点的原始数据,保证两行的日期完全对应,缺失任意一个时间点数据的日期会被同时从两个结果中剔除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:24:00