Excel 公式

Excel 累计求和(累加)怎么做

更新于 2026-06-04 · 阅读约 6 分钟

做销售报表时常要一列「到目前为止的累计值」——第一行是当天销售额,第二行是前两天之和,以此类推。这就是累计求和(running total)。本文讲清 Excel 里用绝对引用写累加公式的方法、常见坑,再介绍用超级表公式面板和分组汇总更稳地实现同样效果。


超级表中做逐行累计求和的示意
每行显示到当前的累计值——超级表用公式面板/汇总实现。

累加公式原理:起点锁定,终点随行走

Excel 里做逐行累计最经典的写法,是在累计列的第一行(假设 C2)写:

=SUM($B$2:B2)

然后向下拖到数据末尾。关键在于这个范围的两个端点:

  • 起点 $B$2:行列都加了美元符,绝对引用,永远指向第一行数据,不随公式下拉而移动。
  • 终点 B2:没有锁定,相对引用,下拉到 C3 时自动变成 B3,到 C4 变成 B4

这样,C2 求的是 B2:B2(只有当天),C3 求的是 B2:B3(前两天),C10 求的是 B2:B10(前九天),正好是逐行累加的效果。举个具体例子:

  • B 列是每日销售额:100、200、150、300……
  • C2 写 =SUM($B$2:B2),结果 100;
  • C3 自动变成 =SUM($B$2:B3),结果 300;
  • C4 自动变成 =SUM($B$2:B4),结果 450;
  • 依此类推,C 列就是累计销售额。
为什么前面要加 $,后面不加?
SUM 求和的范围是「从固定起点到当前行」。起点必须锁住(否则下拉时起点也会往下跑,每行只计算一行,变成普通求和);终点不锁,让它跟随行号自动扩展,才能累积越来越多的行。

累计百分比怎么算

有了累计值列(C 列),再算累计百分比(D 列)就简单了。先用 SUM 函数在某个单元格(如 E1)里算出 B 列总和:

=SUM(B2:B100)

然后 D2 写:

=C2/$E$1

这里 $E$1 同样绝对引用,锁住总计单元格不随下拉移动。把 D 列格式设为「百分比」,就得到每行「到这里为止占总量多少百分比」的累计占比。这在帕累托分析(80/20 法则)、库存 ABC 分类等场景非常实用。

这个写法的三个坑

上面的公式看起来简单,实际用起来有几个容易踩的坑:

  • 忘了锁 $,全乱套。如果写成 =SUM(B2:B2)(两端都不锁),下拉后每行都只求自己那一行,累计效果完全消失——但公式本身不报错,结果悄悄错了最难发现。
  • 插行删行要重拉公式。数据行中间新插一行,那行的 C 列是空的,下面已有的公式虽然自动调整了行号,但新插入行本身没有公式,累计结果断掉。删行同理,需要重新拖公式覆盖整列。
  • 数据量大时越来越慢。SUM($B$2:B2) 在第 1000 行时,要对前 999 行重新求和;在第 10000 行时对前 9999 行求和——每个单元格的计算量都随行数线性增长。几万行数据时,Excel 会明显卡顿,每次改一个数字都要等重算。
一句话总结痛点
累加公式能用,但对 $ 的依赖容易出错,插删行要重维护,大表会变慢。数据不多、不常变动时还好;数据频繁更新、行数多时,值得换个更稳的方式。

更稳:用超级表公式面板或分组汇总做累计

超级表(TableDI)是一款桌面端高能表格助手,macOS 和 Windows 均支持,本地离线运行、无需登录。它把「逐行累计求和」这类计算做进了公式面板,点选搭建,不用手写函数;也可以通过分组汇总按维度自动算累计——步骤如下:

  1. 把 Excel 或 CSV 拖进超级表,数据自动识别为表格。
  2. 点「+」新增一列,选择「公式面板」。
  3. 在面板里选「累计求和」,点选要累加的源列(如销售额列),确认。
  4. 超级表自动在每行填入到当前行的累计值,源数据更新后累计列自动刷新,无需重拖公式。

如果你的需求是「按月/按分类分组,组内各行累计」,可以用分组汇总功能:按月分组后,每组内的累计值独立计算,组间不串,比手写 SUMIF 条件求和省事得多。

Excel 公式 vs 超级表:两种做法对比

对比项Excel 公式写法超级表
怎么写手写 =SUM($B$2:B2),记住锁哪个端点公式面板点选「累计求和」,无需记函数
忘锁 $结果悄悄错,公式本身不报错面板生成,无此风险
插行删行需要重新拖公式填满新行自动覆盖,无需重拖
大表性能逐行重算,几万行明显变慢增量更新,跟手不卡
分组内累计需配合 SUMIF,写法复杂分组汇总直接支持
累计百分比还需额外列 ÷ 总计,再锁 $汇总面板一步算出

常见问题

为什么前面的端点要锁 $,后面不锁?

SUM($B$2:B2) 的含义是「从固定起点 B2,到当前这行 B 列」的求和区间。起点必须用绝对引用 $B$2 锁住,否则向下复制公式时起点也会下移,每行只加一行,变成普通求和而非累加。终点用相对引用 B2,让它随行号自动延伸,从而形成「越往下区间越大」的累加效果。

分组内累计(比如每月重新从零开始)怎么做?

在 Excel 里,分组内累计要用 SUMIFS 条件求和,配合绝对引用和条件列,写法相当绕。在超级表里,先对数据按月分组,再在公式面板里选「累计求和」,超级表会自动识别组边界,每个分组内独立累计,无需手写条件函数。

累计百分比怎么算?

先算出整列总和(用 =SUM(B2:B100)),锁住总计单元格(如 $E$1),再在百分比列写 =C2/$E$1 并向下拖。将该列格式设为「百分比」即可。超级表里的分组汇总面板可以直接勾选「累计占比」,省去额外列和手动格式设置。

不想记 $ 锁哪个端点?

免费下载超级表,公式面板点选就出累计列,插删行自动刷新

免费下载(macOS / Windows)