=(B2/A2)^(1/C2)-1 返回从 A2 的起始值到 B2 的结束值、历时 C2 年的复合年增长率(CAGR)。它是能把起始值变成结束值的那个稳定的年增长率。=RRI(C2,A2,B2) 给出同样的结果。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Start | End | Years | CAGR | RRI |
| 2 | $50,000 | $80,000 | 4 | 12.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
end/start是总增长倍数:80,000 / 50,000 = 1.6,即收入变成原来的 1.6 倍。^(1/years)对这个倍数开 4 次方根,得到每年的倍数,它自乘 4 次等于 1.6。求 1/4 次幂就是开 4 次方根。-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。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Year | Users | Growth | Measure | Rate | |
| 2 | 2021 | 12,000 | CAGR | 16.72% | ||
| 3 | 2022 | 18,000 | 50.0% | Average growth | 18.86% | |
| 4 | 2023 | 15,300 | -15.0% | |||
| 5 | 2024 | 19,900 | 30.1% | |||
| 6 | 2025 | 24,500 | 23.1% | |||
| 7 | 2026 | 26,000 | 6.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% 增长:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Year | Value | Rate | |
| 2 | 0 | $10,000 | 8% | |
| 3 | 1 | $10,800 | ||
| 4 | 2 | $11,664 | ||
| 5 | 3 | $12,597 | ||
| 6 | 4 | $13,605 | ||
| 7 | 5 | $14,693 |
按每年 8% 增长 5 年后,10,000 变成 14,693。把这个结束值和 5 年代回 CAGR 公式,又得到 8%。储蓄计划和贷款也遵循同样的复利规律,见 PMT 页面。
两个日期之间的 CAGR
当期限不是整数年时,用精确的年数作为指数。YEARFRAC(start,end,1) 根据两个日期返回这个年数;1 表示按实际天数计算,默认则按每月 30 天计算。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Bought | Sold | Paid | Sold for | Years | CAGR |
| 2 | 2022-03-15 | 2026-09-30 | $8,000 | $11,500 | 4.55 | 8.31% |
从 2022 年 3 月到 2026 年 9 月约为 4.55 年,CAGR 为 8.31%。如果期间有资金进出(每月存入、部分卖出),CAGR 就不再适用:请改用 NPV 和 IRR 页面中的 XIRR。
动手试试:城市人口增长
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Years | Pop 2016 | Pop 2026 | CAGR |
| 2 | 10 | 412,000 | 538,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! 或一个毫无意义的数字。这时请直接报告绝对变化量。