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

电子表格按唯一城镇分组取最大日期对应数值求和的实现方法

按城镇分组取最新日期对应数值求和实现方案

问题描述

我需要实现按唯一城镇分组,取每个城镇最新(最大)日期对应的Totals列数值求和,即筛选出每个唯一城镇对应最新日期的行后计算总计列的总和,相关样本数据如下:

Date(日期)Town(城镇)Totals(总计)
9月5日Loerie9
11月8日Loerie4
5月7日Flower2
2月2日Holo8
5月9日Holo7
7月23日Flower3
6月7日Dump1
3月3日Tzaneen9
9月2日Tzaneen4
4月3日Coffee7

我目前已经可以实现城镇列表去重排序,并通过公式=maxifs(C$2:C,B$2:B,F2,A$2:A,maxifs(A$2:A,B$2:B,F2))获取每个城镇对应最大日期的数值。现在我希望通过单个函数完成上述结果的排序与求和操作,暂不清楚是否可以通过Arrayformula实现。


解决方案

可以用谷歌表格的LAMBDA系函数实现单公式输出,无需辅助列:

方案1:仅输出最终总和

如果只需要得到最终的求和结果,直接用以下公式即可:

=SUM(BYROW(UNIQUE(B2:B),LAMBDA(t,MAXIFS(C2:C,B2:B,t,A2:A,MAXIFS(A2:A,B2:B,t)))))

按你给出的样本数据计算,最终结果为4+3+7+1+4+7=26。

方案2:同时输出排序后的明细+总和

如果需要同时得到排序后的唯一城镇列表、对应最新日期的Totals数值、最终求和结果,用以下单公式:

=LET(
  排序去重城镇, SORT(UNIQUE(B2:B)),
  对应最新数值, BYROW(排序去重城镇, LAMBDA(城镇, MAXIFS(C2:C,B2:B,城镇,A2:A,MAXIFS(A2:A,B2:B,城镇)))),
  最终总和, SUM(对应最新数值),
  VSTACK(
    {"城镇","最新日期对应Totals"},
    HSTACK(排序去重城镇,对应最新数值),
    {"总计",最终总和}
  )
)

公式会自动溢出所有结果,新增数据后也会自动更新计算结果,不需要手动下拉填充。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:06:02