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

Excel按日期区间筛选数据并排除全0行的公式解决方案

Excel按日期区间筛选并排除全0行的公式方案

假设你的数据结构如下(第一列为行标识,首行为日期表头,下方为对应数值):

行标识2025/1/82025/1/92025/1/102025/1/112025/1/12
A12030
B05400
C30021
D00000
E00005

先设置两个单元格作为日期输入框(比如H1填开始日期,I1填结束日期),然后用以下公式实现自动筛选:

方案1:支持Excel 365/2021(带LAMBDA函数)

=FILTER($A$2:$F$6, BYROW($B$2:$F$6, LAMBDA(row, SUM(--(($B$1:$F$1>=H1)*($B$1:$F$1<=I1)*row<>0))>0)), "无符合条件的行")

逻辑说明:

  • ($B$1:$F$1>=H1)*($B$1:$F$1<=I1):标记出日期在指定区间内的列
  • *row<>0:再标记出这些列中数值非0的单元格
  • SUM(--(...))>0:如果该行在日期区间内有至少一个非0值,就返回TRUE(保留该行)
  • BYROW遍历每一行执行上述判断,最终用FILTER筛选出符合条件的行

方案2:兼容旧版Excel(无LAMBDA)

=FILTER($A$2:$F$6, MMULT(--(($B$1:$F$1>=H1)*($B$1:$F$1<=I1)*($B$2:$F$6<>0)), ROW($B$1:$F$1)^0)>0, "无符合条件的行")

逻辑说明:

  • ($B$1:$F$1>=H1)*($B$1:$F$1<=I1)*($B$2:$F$6<>0):生成二维数组,符合日期区间且数值非0的位置为1,其余为0
  • MMULT(..., ROW($B$1:$F$1)^0):对每行求和,ROW(...)^0生成全1的列向量,实现跨行求和
  • >0:判断每行求和结果大于0(即存在非0值),作为筛选条件

使用时只需根据你的实际数据区域,修改公式中的单元格引用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 23:12:14