Excel动态去重求和:如何实现日期去重并汇总对应金额?
嗨,刚接触Excel的话完全不用慌,这个需求根本不用写VBA!用公式、数据透视表或者Power Query都能轻松搞定,下面给你一步步讲最适合新手的几种方法:
方法1:数据透视表(新手首选,零操作门槛)
这是最简单的方式,全程点鼠标就行,还能随时刷新同步动态数据:
- 选中你的整个数据区域(一定要包含「Dates」和「Amounts」这两个表头)
- 点击顶部菜单栏的「插入」→「数据透视表」,弹出的对话框直接点「确定」(默认会把透视表放在新工作表里)
- 在右侧弹出的「数据透视表字段」面板里:
- 把「Dates」拖到「行」区域
- 把「Amounts」拖到「值」区域,默认就是求和计算(如果不小心选成了计数,就右键值区域的「Amounts」→「值字段设置」→选「求和」就行)
- 搞定!瞬间就能看到每个唯一日期对应的金额总和,以后数据更新了,右键点击透视表→「刷新」就可以同步最新结果。
方法2:公式法(适合想自定义结果位置的情况)
如果你想把汇总结果放在原数据旁边,用动态数组公式就很方便(适合Excel 2021及以后版本,或者365订阅版):
- 假设你的日期在A列(从A2开始是数据),金额在B列(从B2开始)
- 找个空白列(比如D列),在D2单元格输入:
(如果不确定数据行数,也可以写=UNIQUE(A2:A100)=UNIQUE(A:A),但限定范围会更高效),这个公式会自动提取所有不重复的日期,而且会自动向下填充。 - 接着在E2单元格输入求和公式:
如果你用的是支持动态数组的版本,甚至可以一步到位,不用下拉填充:=SUMIFS(B:B,A:A,D2)
这个公式会自动把每个唯一日期的求和结果对应列出来。=BYROW(UNIQUE(A2:A100),LAMBDA(x,SUMIFS(B:B,A:A,x)))
方法3:Power Query(适合需要反复处理动态数据的场景)
如果你的数据经常需要更新汇总,Power Query可以帮你把流程录下来,下次刷新就行:
- 选中数据区域→点击顶部「数据」选项卡→「从表格/区域」,弹出的对话框勾选「我的表格有标题」→点击「确定」进入Power Query编辑器
- 在编辑器里:
- 选中「Dates」列→点击顶部「转换」选项卡→「分组依据」
- 在弹出的设置框里:分组依据选「Dates」,新列名随便取(比如「总金额」),操作选「求和」,列选「Amounts」→点击「确定」
- 最后点击「关闭并上载」,就会在新工作表生成汇总好的表格,以后数据更新了,右键这个表格→「刷新」就能自动重新汇总。
如果是刚上手Excel,优先推荐数据透视表,操作最简单,一看就会!
内容的提问来源于stack exchange,提问作者LaG
相关产品推荐
相关产品推荐

