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

Excel 365如何筛选指定日期落在行有效区间内的记录,实现动态视图

最优实现方案(基于Excel 365 动态数组函数)

前置准备:将源数据转换为结构化表

  • 打开存放原始数据的工作表,选中所有包含表头的原始数据区域
  • 按下快捷键Ctrl+T,在弹出的对话框中勾选「表包含标题」,点击确定
  • 在「表设计」选项卡中将表名修改为SourceTbl,方便后续引用

单公式实现动态视图

在存放视图的工作表中,选中你要展示结果的左上角单元格(比如A1),直接输入如下公式即可:

=FILTER(SourceTbl, (C2>=SourceTbl[Valid From])*(C2<SourceTbl[Valid To])*(SourceTbl[Label]<>""), "无符合条件的记录")

公式逻辑说明:

  • 第一参数SourceTbl直接引用整个源数据表,结构化表会自动同步源数据的行增删、修改操作,不管是末尾追加还是中间插入行都会自动更新引用范围
  • 第二参数是过滤条件:
    • C2>=SourceTbl[Valid From]:测试日期晚等于该行生效起始时间
    • C2<SourceTbl[Valid To]:测试日期早于该行失效时间
    • SourceTbl[Label]<>"":排除源表中的空白行
    • 用*连接三个条件等价于同时满足,会返回和源表行数一致的布尔数组,FILTER会保留所有对应值为TRUE的行
  • 第三参数是无符合条件记录时的提示内容,可根据需求修改

方案优势

  • 无任何辅助列,单个公式完成所有逻辑,不需要隐藏多余列
  • 结果自动溢出,无需提前预留空白行,有多少符合条件的记录就展示多少行,无冗余空间
  • 自动同步源表变更:不管是源表新增行、插入行、修改数据,还是修改测试日期,视图都会自动刷新,不需要手动调整公式引用
  • 完全只读,符合视图需求

可选优化

如果需要默认用当前日期作为测试日期,不需要手动修改参数单元格,直接把公式里的C2替换为TODAY()函数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:33:02