同比、环比看起来只差一个“参照期”,但基期一旦为 0,直接套百分比公式就会出现 #DIV/0!,甚至把“新增”误写成“增长 0%”。下面以 WPS 表格桌面版为例,给出一套可以直接照着录入、计算和复核的表格结构。
适用设备与系统版本
本文操作适用于安装当前维护版本 WPS Office 的 Windows 10/11 电脑,macOS 版本的公式逻辑也相同。手机端可以使用 iPhone iOS,以及华为 HarmonyOS、小米与 Redmi HyperOS、OPPO/一加 ColorOS、vivo/iQOO OriginOS、荣耀 MagicOS 上的 WPS 应用;请通过手机自带应用商店或应用宝下载。手机端可以录入、查看公式,但不同品牌的 WPS 版本在菜单名称和格式设置入口上可能有差异,因此本文以桌面端为主。
先统一同比和环比的口径
同比是与“去年同期”比较,例如 2025 年 1 月对比 2024 年 1 月;环比是与“紧邻的上一统计期”比较,例如 2025 年 1 月对比 2024 年 12 月。
两个百分比的标准口径分别是:
- 同比:
(本期值-去年同期值) ÷ 去年同期值 - 环比:
(本期值-上一统计期值) ÷ 上一统计期值
例如,本期值为 120,去年同期值为 100,上一统计期值为 90,则同比为 20%,环比为 33.33%。先统一比较周期,可以避免把“本月对去年同月”和“本月对上月”混用。
准备数据:让本期和基期一一对应
新建工作表,把第 1 行作为表头,第 2 行开始录入数据。建议按下面的列顺序整理:
| 列 | 表头 | 示例 |
|---|---|---|
| A | 统计期 | 2025 年 1 月 |
| B | 项目或产品 | 示例项目 |
| C | 本期值 | 120 |
| D | 去年同期值 | 100 |
| E | 上一统计期值 | 90 |
| F | 同比 | 待计算 |
| G | 环比 | 待计算 |
| H | 同比增加额 | 待计算 |
| I | 环比增加额 | 待计算 |
每行最好只放一个统计期和一个项目,并把三个时期的值对齐到同一行。若表格需要长期更新,不要只重新排序“本期值”一列,否则基期数据可能错位;至少要整行排序,或者后续使用查找公式自动匹配基期。
分步计算同比和环比
- 录入基础数据
将本期值、去年同期值、上一统计期值分别填入 C、D、E 列。金额统一使用元,人数统一使用人,比例类原始数据则统一使用小数,例如 25% 填为 0.25。不同单位不能直接相减。
- 输入同比公式
在 F2 单元格输入:
=(C2-D2)/D2
然后按 Enter。公式结果实际保存为小数,例如 0.2。
- 输入环比公式
在 G2 单元格输入:
=(C2-E2)/E2
按 Enter 后,G2 同样会得到小数结果。
- 把结果显示为百分比
选中 F2:G2 区域,右键选择“设置单元格格式”,进入“数字”分类,选择“百分比”,小数位可设为 1 位或 2 位。也可以使用工具栏中的百分比格式按钮。此时 0.2 会显示为 20.00%,0.333333…… 会显示为 33.33%。
推荐直接使用上述公式并设置百分比格式,不要再额外乘以 100,否则容易出现 2000% 一类的错误结果。如果想让常规数字格式显示 20,则应使用 =(C2-D2)/D2*100,但这种数值不要再套用百分比格式。
- 向下复制并检查引用
选中 F2:G2,拖动右下角的小方块向下填充。复制后,C、D、E 列的相对引用应依次变成第 3 行、第 4 行等。若出现 #VALUE!,先检查对应单元格是否混入文字、单个空格或错误值。
- 同时保留绝对增加额
在 H2 输入 =C2-D2,在 I2 输入 =C2-E2,再向下填充。绝对增加额不受零基期影响,也是核对百分比的重要依据。
零基期与缺失值:两种情况分开处理
如果去年同期值或上一统计期值确实为 0,标准百分比在数学上没有意义。此时可以返回 N/A 或“不可比”,同时保留增加额,而不要写成 0%。
可把 F2、G2 改为更稳妥的公式:
=IF(OR(C2="",D2=""),"",IF(D2=0,"N/A",(C2-D2)/D2))
=IF(OR(C2="",E2=""),"",IF(E2=0,"N/A",(C2-E2)/E2))
增加额也建议写成:
=IF(OR(C2="",D2=""),"",C2-D2)
=IF(OR(C2="",E2=""),"",C2-E2)
其中,空白单元格代表“缺少数据”,数值 0 才代表“基期为零”,两者不能混为一谈。可用 =ISBLANK(D2) 检查单元格是否真的为空。若本期值和基期值都是 0,增加额可以显示为 0,但百分比仍应标为 N/A。
不建议用 IFERROR 把所有错误都替换成 0,因为这会把零基期、除零错误和缺失数据混在一起,让读者误以为本期没有增长。
用三种方法核对计算结果
- 检查正负方向
本期值大于基期时,结果应为正数;本期值小于基期时,应为负数;两者相等时,百分比应为 0%。例如本期 80、基期 100,同比应显示 -20.00%。
- 用反算公式验证
对于非零基期的行,在 J2 输入:
=IF(ABS(C2-D2*(1+F2))<0.000001,"通过","检查")
环比可输入:
=IF(ABS(C2-E2*(1+G2))<0.000001,"通过","检查")
这是利用“本期值=基期值×(1+增长率)”反算。因为 F2、G2 单元格即使显示为 20.00%,底层数值仍是 0.2,所以可以直接参与运算。出现 N/A 的零基期行应单独核对,不参与这项反算。
- 检查是否缺数
C2:E2 应当有三个数值,可在 K2 输入:
=IF(COUNT(C2:E2)<3,"检查数据",IF(D2=0,"同比零基期",IF(E2=0,"环比零基期","正常")))
这个结果能同时发现空值、文本型数字和零基期。百分比的小数位建议只通过单元格格式控制,不要过早使用 ROUND,否则反算时可能因四舍五入出现微小误差。
注意事项
- 同比必须使用“去年同期”,不能直接拿本月和上月计算;季度、年度数据同理。
- 不要把“2025 年全年累计值”与“2024 年 12 月单月值”放在一起比较。
- 跨年统计时要明确 1 月的环比对象是上一年 12 月;涉及闰年时,优先按完整统计期对比。
- 零基期优先报告绝对增加额或“新增”,不要为了表格整齐而随意填 0% 或 100%。
- 含
N/A的文字不会参与求和和绘图;如果后续要做图表,可保留空白并另设状态列标记原因。 - WPS 云文档同步后,收件人仍需检查公式中的列引用是否因插入列而发生变化。
小结
WPS 表格计算同比、环比的核心只有两步:先确定正确的基期,再用 (本期值-基期值)÷基期值 计算并设置百分比格式。遇到零基期,应显示 N/A 并保留绝对增加额;遇到空白,则先补齐数据。完成计算后,再通过方向检查、反算和缺失值检查三步复核,结果才更可靠。






