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

Excel技术问询:筛选两日期间行及查找非零最高日值

Excel 两个需求的解决方案

需求1:查找两个日期之间的所有行

方法1:内置筛选功能(简单直观)

  • 选中日期列表的表头,点击「数据」选项卡的「筛选」按钮
  • 点击日期列的筛选箭头,选择「日期筛选」→「自定义筛选」
  • 在对话框中设置两个条件:「大于或等于」起始日期、「小于或等于」结束日期,确定后即可显示符合条件的行

方法2:FILTER函数(Excel 365/2021及以上版本)

假设日期列在A列,数据区域为A:D,起始日期存于F1,结束日期存于F2,在空白单元格输入公式:

=FILTER(A:D, (A:A>=F1)*(A:A<=F2), "无匹配数据")

公式会自动返回所有指定日期范围内的行,无需手动维护筛选状态。

方法3:兼容旧版本的数组公式(Excel 2019及更早版本)

假设数据区域为A2:D100,起始日期F1,结束日期F2,在G2单元格输入公式后按Ctrl+Shift+Enter确认:

=IFERROR(INDEX(A$2:D$100, SMALL(IF((A$2:A$100>=F1)*(A$2:A$100<=F2), ROW(A$2:A$100)-ROW(A$2)+1), ROW(A1)), COLUMN(A1)), "")

向右向下拖动填充公式,直到出现空白单元格为止。


需求2:按日期找出大于0的最高日值

方法1:MAXIFS函数(Excel 2019/365及以上版本)

  1. 先提取第二个表格的唯一日期列表(选中日期列→「数据」→「删除重复项」)
  2. 假设唯一日期在J列,数值列在I列,在K2单元格输入公式:
=MAXIFS(I:I, H:H, J2, I:I, ">0")

拖动填充公式到所有日期行,若需处理无有效数值的情况,可修改为:

=IFERROR(MAXIFS(I:I, H:H, J2, I:I, ">0"), "无有效数值")

方法2:兼容旧版本的数组公式

在对应单元格输入公式后按Ctrl+Shift+Enter确认:

=IFERROR(MAX(IF((H:H=J2)*(I:I>0), I:I, "")), "无有效数值")

方法3:数据透视表(无需公式)

  • 选中第二个表格的所有数据,点击「插入」→「数据透视表」
  • 将「日期」拖到「行」区域,「数值」拖到「值」区域
  • 点击「值」区域的数值字段,选择「值字段设置」,将汇总方式改为「最大值」
  • 右键点击数值列→「值筛选」→「大于」,输入0后确定,即可得到每个日期的目标最大值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:20:52