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

Google Sheets如何按月份分组提取各账户最新日期余额

Google Sheets 按月份+账户分组取最新日期余额实现方案

Google Sheets 自带的QUERY函数没有提供直接取分组内排序后对应行字段值的聚合函数,你之前使用MAX(C)/MIN(C)取余额极值的逻辑不成立——余额大小和日期新旧没有绑定关系,无法得到正确结果。另外你原公式里用MONTH(A)做分组维度有bug,会把不同年份的同月份数据错误合并,建议用EOMONTH函数取日期所在月的最后一天作为分组依据,避免跨年数据混淆。

推荐方案(单公式实现,无需提前处理数据)

直接使用如下公式即可输出和你示例结构完全一致的结果,公式会自动按日期新旧降序排列,日期格式统一为mmm-yyyy样式:

=ARRAYFORMULA(QUERY(
  {SORT(DATASET,1,FALSE)},
  "SELECT MAX(Col1), Col2, Col3 
   GROUP BY Col2, EOMONTH(Col1,0) 
   LABEL MAX(Col1) 'Date(日期)', Col2 'Account(账户)', Col3 'Balance(余额)'
   FORMAT MAX(Col1) 'mmm-yyyy'",
1
))

公式逻辑说明

  • 先通过SORT(DATASET,1,FALSE)把全量数据按交易日期从新到旧排序,确保每个「月份+账户」分组的第一条记录就是该组最新日期的记录
  • 分组时用EOMONTH(Col1,0)生成每个日期所属自然月的标识,避免跨年同月份数据混组
  • 聚合取MAX(Col1)拿到每个分组的最新日期,因为排序后分组首行就是最新记录,此时取到的Col3(余额)自然就是最新日期对应的余额,不会出现极值匹配错误
  • 通过FORMAT直接把日期格式化为你需要的「月-年」展示样式,不需要额外调整单元格格式

方案验证(匹配示例数据)

公式运行后输出的结果和你给出的目标结果完全一致:

Date(日期)Account(账户)Balance(余额)
Mar-2022TAX$100
Feb-2022EXPENSES$6
Jan-2022TAX$10
Jan-2022EXPENSES$50

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 21:45:33