Excel 公式

Excel 怎么算百分比、占比、同比环比

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

算达成率、各项占总数的比例、本期比上期涨了多少——这三类计算在 Excel 里用一套公式就能搞定。本文先把公式写清楚,再讲最容易踩的坑,最后教你用超级表的分组汇总和公式面板一步把占比和增长率算出来,还能直接推成看板。


超级表中按分组算各项占比的示意
算各项占总数的比例——超级表分组汇总 + 公式面板。

基础:Excel 百分比公式怎么写

百分比的本质是「部分 ÷ 总数」,在 Excel 里写成:

=部分/总数

举例:B2 是本月销售额,C2 是目标销售额,D2 算达成率:

=B2/C2

回车后你会看到一个小数,比如 0.85。要显示成 85%,选中单元格,按 Ctrl+Shift+%(或右键 → 设置单元格格式 → 百分比),小数点位数自己调。

注意:格式只改显示,不改值
单元格里存的还是 0.85,只是显示出来是 85%。后续计算仍然用 0.85 参与运算,不会变成 85

算各项占总数的比例——分母要用 $ 锁定

这是最典型的场景:A 列是各分类名称,B 列是各分类销售额,C 列算每项占总销售额的百分比。在 C2 写:

=B2/SUM($B$2:$B$10)

其中 $B$2:$B$10 是总数范围,用 $ 绝对引用把它锁住,往下拖公式时分母不会跟着跑。如果漏掉 $,拖到 C3 时分母就变成了 SUM(B3:B11),算出来的比例全是错的。

设好公式后选中 C2:C10,按 Ctrl+Shift+% 统一设百分比格式,再拖填充或 Ctrl+D 向下复制公式即可。

如果数据行数不固定,也可以用整列引用:

=B2/SUM($B:$B)

这样不管新增多少行都不用改公式,但计算量略大一点。如需按条件分类求和再算占比,配合 SUMIF / SUMIFS 使用会更灵活。

同比和环比增长率怎么算

这两个概念容易混:

  • 同比:和去年同期比。比如今年 6 月 vs 去年 6 月,反映同一时段的年度变化。
  • 环比:和上一个相邻周期比。比如 6 月 vs 5 月,反映短期趋势。

公式是一样的:

=(本期 - 上期) / 上期

举例:B2 是今年 6 月销售额,C2 是去年 6 月销售额,D2 算同比增长率:

=(B2-C2)/C2

环比的话,假设 B 列按月排列,B3 是 6 月,B2 是 5 月,C3 算 6 月环比:

=(B3-B2)/B2

结果也是小数,用同样的方式设百分比格式显示即可。增长为正数时显示正百分比,下降时显示负百分比,比如 -12%

这些地方最容易出错

忘了 $ 导致分母乱跑

占比公式往下拖时,如果分母范围没有加 $,它会跟着行号移位,每行的「总数」都不一样,比例全部错误。写完公式后向下拖一行看看分母有没有变,是最直接的验证方式。

格式≠值,不能直接拿来乘

把单元格格式设成百分比后,看起来是 85%,但实际值仍是 0.85。如果你在另一个公式里用 D2*100 想得到 85,结果是 85——这是对的;但如果你以为 D2 已经是 85,拿它直接参与其他计算,结果就会差 100 倍。

上期为 0 或负数时要单独处理

同比/环比公式的分母是上期,如果上期是 0,Excel 会返回 #DIV/0!。用 IFERROR 包一层处理即可:

=IFERROR((B2-C2)/C2, "")

上期为负数时增长率数字会反常(分母是负数,结果符号会倒置),建议在数据层面先说明该行的上期值含义,或加注释标记异常。

一句话总结坑
占比忘加 $、格式当值用、分母零和负数——这三个坑占了 Excel 百分比计算出错的绝大多数情形。

更省事:用超级表公式面板算占比和增长率

超级表(TableDI)是一款桌面高能表格助手,macOS / Windows 均可用,离线本地运行、零登录。它把「分组汇总算占比」和「算增长率」都做成了可视化点选——不用手写公式,不用担心 $ 的问题。

  1. 把 Excel 文件拖进超级表,或直接在超级表里建表。
  2. 点顶部「分组汇总」,选择按「分类」列分组,汇总列选「销售额」求和。
  3. 在汇总结果里点「公式面板」,选择「占比」——超级表会自动用当前分组总和作分母,不需要手写 SUM($B$2:$B$10),也不会忘加 $。
  4. 同比/环比:在公式面板里选「增长率」,指定「本期列」和「上期列」,公式自动生成,结果列直接设成百分比格式。
  5. 算完后点「看板」,一键把各项占比做成饼图或条形图,也可以参考数据看板怎么做,把多个指标组合到一张看板上。

全流程不需要记任何公式,改一行数据后点「刷新」,占比和增长率自动重算。

Excel 公式 vs 超级表

对比项Excel 公式超级表
基础百分比=部分/总数,手设格式公式面板点选,格式自动
各项占比(需锁分母)要手写 $ 绝对引用分组汇总自动锁分母
同比/环比=(本期-上期)/上期,需处理0公式面板选增长率,自动处理异常
分母为0报错需 IFERROR 包裹自动跳过,空值显示
做成看板需手动插入图表配置一键看板,自动联动

常见问题

百分比为什么显示成小数?

公式算出来的结果是小数(比如 0.75),只是单元格格式还是「常规」或「数字」,没有设成「百分比」。选中单元格后按 Ctrl+Shift+%,或在「设置单元格格式」里把分类改成「百分比」,就会显示成 75%。值本身不会变,只是展示方式变了。

占比公式下拉后分母为什么不对?

分母范围没有用 $ 锁定。写 =B2/SUM(B2:B10) 时下拉,分母的范围会随行号偏移,变成 SUM(B3:B11)SUM(B4:B12)……每行分母都不一样,占比全部出错。正确写法是 =B2/SUM($B$2:$B$10),用两个 $ 把行号和列号都锁住。

同比和环比有什么区别?

同比是「和去年同一时段比」,反映年度变化趋势,比如今年 6 月 vs 去年 6 月;环比是「和上一个相邻周期比」,反映短期变化,比如 6 月 vs 5 月。公式形式一样,差别只在「上期」指哪个单元格。月报一般两个都要算:同比看年度,环比看近期。

不想再对着公式和 $ 较劲?

免费下载超级表,公式面板点选即算占比和增长率,一键推成看板

免费下载(macOS / Windows)