Excel中依据日期列提取另一列每日最大值或末尾记录值的方法咨询
Excel雨量日统计实现方法
根据你的数据特征:D列数值当日递增、午夜清零,当日最大值即为当日最终有效统计值,可通过以下三种方法实现每日仅保留1条统计记录:
方法1:数据透视表(大文件首选,操作无门槛)
- 新增日期辅助列:在空白列(如E列)首个数据单元格输入公式
=INT(B2),下拉填充全量数据后,将E列单元格格式设置为「短日期」,即可提取每条记录对应的纯日期 - 选中全部数据区域,点击「插入」选项卡→「数据透视表」,选择结果存放位置
- 透视表字段配置:
- 行区域:拖入新增的日期辅助列
- 值区域:拖入D列字段,点击值字段设置,聚合方式选择「最大值」,确认后即可直接生成每日统计结果
方法2:函数法(适配需保留原始表结构的场景)
- 同上先完成E列日期辅助列的制作
- 选中E列所有数据,点击「数据」选项卡→「删除重复值」,得到所有不重复的日期列表,放在空白列(如F列)
- 在F列对应结果列(如G列)首个单元格输入公式
=MAXIFS(D:D,E:E,F2),下拉填充后即可得到对应日期的D列最大值
方法3:Python脚本(适配超10万行的超大文件,Excel打开卡顿场景)
import pandas as pd # 读取原始Excel文件,sheet_name替换为你的工作表序号/名称 df = pd.read_excel("你的原始文件路径.xlsx", sheet_name=0) # 解析B列日期时间,提取纯日期字段 df["统计日期"] = pd.to_datetime(df["日期"], format="%H:%M %d/%m/%Y").dt.date # 按日期分组取D列最大值,生成结果表 daily_result = df.groupby("统计日期")["平均值"].max().reset_index() # 导出结果到新Excel daily_result.to_excel("每日雨量统计结果.xlsx", index=False)
样例验证结果
使用你提供的样例数据运行后,得到的统计结果如下:
| 统计日期 | 平均值 |
|---|---|
| 2020-09-23 | 2.9 |
| 2020-09-24 | 12.9 |
内容的提问来源于stack exchange,提问作者Laurent
相关产品推荐
相关产品推荐

