如何在Excel数据透视表或Power BI中实现月度滚动求和?
按月度汇总跨期项目的案例数与金额(Excel方案)
方法一:Power Query 一步搞定
这是最省心的方案,不用写复杂公式,全程点鼠标操作:
- 选中原始数据(带表头),点「数据」→「从表格/区域」,进入Power Query编辑器。
- 添加自定义列,输入公式生成项目覆盖的所有日期:
点击列旁的「展开到新行」按钮,把每个日期拆成单独一行。= List.Dates([起始日期], Duration.TotalMonths([结束日期]-[起始日期])+1, #duration(1,0,0,0)) - 再添加自定义列,提取统一格式的年月(如「2024-05」):
= Text.From(Date.Year([自定义])) & "-" & Text.PadStart(Text.From(Date.Month([自定义])),2,"0") - 选中年月列、案例数列、金额列,点「转换」→「分组依据」,设置:
- 分组依据:选择刚才生成的年月列
- 总案例数:对「案例数」求和
- 总金额:对「金额」求和
- 点击「关闭并上载」,直接生成按月度汇总的结果表,无需额外操作。
方法二:动态数组+数据透视表(无需Power Query)
如果不想使用Power Query,可通过动态数组拆分日期后再透视:
- 在原始数据旁插入辅助列,假设起始日期在A列、结束日期在B列,在E2单元格输入公式:
下拉填充后,每个项目会自动生成其覆盖的所有月度起始日期。=LET( start,A2,end,B2, months,DATEDIF(start,end,"m")+1, seq,SEQUENCE(months,1,start,30), DATE(YEAR(seq),MONTH(seq),1) ) - 复制辅助列的所有动态结果,右键选择「粘贴值」→「值和数字格式」,将动态数组转为静态行。
- 选中包含年月、案例数、金额的所有数据,插入数据透视表:
- 行区域拖入年月列
- 值区域拖入案例数和金额,均设置为「求和」
直接得到月度汇总结果。
内容的提问来源于stack exchange,提问作者LuZ
相关产品推荐
相关产品推荐

