Menu

Excel CAGR 公式:计算复合年增长率

=(B2/A2)^(1/C2)-1 计算从 A2 的起始值到 B2 的结束值、历时 C2 年的复合年增长率。=RRI(C2,A2,B2) 返回同样的增长率。把单元格设置为百分比格式即可。

本页的每张表格都是实时的:修改数字或公式,就会重新计算。

=(B2/A2)^(1/C2)-1 返回从 A2 的起始值到 B2 的结束值、历时 C2 年的复合年增长率(CAGR)。它是能把起始值变成结束值的那个稳定的年增长率。=RRI(C2,A2,B2) 给出同样的结果。

4 年间的收入增长
D2
ABCDE
1StartEndYearsCAGRRRI
2$50,000$80,000412.47%12.47%
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

收入在 4 年内从 50,000 增长到 80,000,CAGR 为 12.47%。把结果设置为百分比格式(开始 > 百分比样式,或按 Ctrl+Shift+%,Mac 上按 Control+Shift+%),否则它会显示为 0.1247 这样的小数。把 C2 改成 2,同样的增长只用一半时间,每年就是 26.49%。

CAGR 公式逐步拆解

CAGR = (end / start) ^ (1 / years) - 1
  1. end/start 是总增长倍数:80,000 / 50,000 = 1.6,即收入变成原来的 1.6 倍。
  2. ^(1/years) 对这个倍数开 4 次方根,得到每年的倍数,它自乘 4 次等于 1.6。求 1/4 次幂就是开 4 次方根。
  3. -1 把倍数变成增长率:1.1247 变成 12.47%。

括号很重要。=B2/A2^(1/C2)-1 只对 A2 求幂,因为 ^ 先于 / 计算,结果毫无意义。

RRI(Excel 2013 及更高版本,以及 Google Sheets)用同样的三个数,只是顺序不同:=RRI(nper, pv, fv),即年数、起始值、结束值。

根据逐年数据表计算 CAGR

每年一行时,取第一个值和最后一个值,并直接用年份计算期数。从 2021 年到 2026 年的 6 行数据只有 5 个增长期,常见的错误是用 6。

CAGR 与逐年增长率的平均值对比
F2
ABCDEF
1YearUsersGrowthMeasureRate
2202112,000CAGR16.72%
3202218,00050.0%Average growth18.86%
4202315,300-15.0%
5202419,90030.1%
6202524,50023.1%
7202626,0006.1%
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

用户数的 CAGR 是 16.72%,而五个年增长率的平均值是 18.86%。平均值被 2022 年 50% 的跳涨拉高了,又没有充分计入 2023 年的下跌。CAGR 才是诚实的单一数字:=B2*(1+F2)^5 正好得到 26,000。把 B3 改成 8000:平均值大幅下降,而 CAGR 完全不变,因为它只取决于第一个值和最后一个值。只看某一年的变化,请参阅百分比变化。

用 CAGR 预测未来值

反过来,有了增长率就能推算一个值未来会是多少:=start*(1+rate)^years。下面是 10,000 按每年 8% 增长:

每年 8% 会带来什么
B3
ABCD
1YearValueRate
20$10,0008%
31$10,800
42$11,664
53$12,597
64$13,605
75$14,693
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

按每年 8% 增长 5 年后,10,000 变成 14,693。把这个结束值和 5 年代回 CAGR 公式,又得到 8%。储蓄计划和贷款也遵循同样的复利规律,见 PMT 页面。

两个日期之间的 CAGR

当期限不是整数年时,用精确的年数作为指数。YEARFRAC(start,end,1) 根据两个日期返回这个年数;1 表示按实际天数计算,默认则按每月 30 天计算。

根据投资日期计算 CAGR
F2
ABCDEF
1BoughtSoldPaidSold forYearsCAGR
22022-03-152026-09-30$8,000$11,5004.558.31%
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

从 2022 年 3 月到 2026 年 9 月约为 4.55 年,CAGR 为 8.31%。如果期间有资金进出(每月存入、部分卖出),CAGR 就不再适用:请改用 NPV 和 IRR 页面中的 XIRR。

动手试试:城市人口增长

2016 至 2026 年的人口
D2
ABCD
1YearsPop 2016Pop 2026CAGR
210412,000538,000
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: 在 D2 中,计算人口从 B2 增长到 C2 的复合年增长率,期间年数在 A2 中。

提示:(end/start)^(1/years)-1。除法和指数两边的括号都要保留。

CAGR、平均增长率与 IRR 对比

你手上有用公式
一个起始值、一个结束值和年数CAGR=(end/start)^(1/years)-1 或 =RRI(years,start,end)
从一年到下一年的变化百分比变化=new/old-1
一组想要汇总的年增长率几何平均数=GEOMEAN(1+C3:C7)-1,等于 CAGR
随时间流入和流出的现金IRR 或 XIRR=IRR(values)、=XIRR(values,dates)

对于收入、价格、投资这类会复利增长的数据,不要把逐年增长率的简单 AVERAGE 当作“平均年增长率”来报告。先 +50% 再 -50%,平均值是 0%,但数值已经跌到起始值的 75%。

常见问题

Excel 中 CAGR 的公式是什么?

=(end/start)^(1/years)-1,例如 =(B2/A2)^(1/C2)-1。把结果设置为百分比格式。在 Excel 2013 及更高版本中,=RRI(C2,A2,B2) 给出同样的结果。

计算 CAGR 时年数应该填多少?

填第一个值和最后一个值之间的期数,而不是数值的个数。从 2021 年到 2026 年是 5 年,尽管表格有 6 行。

CAGR 和平均年增长率有什么区别?

平均增长率是每年百分比变化的简单平均值。CAGR 是把起始值变成结束值的那个稳定增长率。经历一次下跌再回升后,平均值会高估增长:先 +50% 再 -50%,平均是 0%,但你只剩起始值的 75%,CAGR 约为 -13.4%。

在 Excel 中如何计算两个日期之间的 CAGR?

用精确的年数作为指数:=(B2/A2)^(1/YEARFRAC(C2,D2,1))-1,其中 C2 和 D2 是开始日期和结束日期。参数 1 表示按实际天数计算。

有负数时能计算 CAGR 吗?

算不出有意义的结果。起始值为 0 会得到 #DIV/0!;起始值和结束值符号不同时,公式会返回 #NUM! 或一个毫无意义的数字。这时请直接报告绝对变化量。

Coddy 编程语言插图

和 Coddy 一起学编程

开始