首页 > 解决方案 > 使用 Excel 公式计算复合增长的平均百分比

问题描述

我正在尝试计算复合增长的平均百分比。

例如,如果 100 美元在三年内增加 5%,则整个期间的平均增幅为10.34%

100.00 + 5% = 105.00, 105.00 + 5% = 110.25, 110.25 + 5% = 115.76, 平均(105,110.25,115.76) = 110.34, (110.34 - 100) / 100 = 10.34%

我目前正在使用大量 IF 语句来计算这个,因为持续时间、百分比和起始值是可变的……</p>

=((100*1.05+IF(3>=2,100*(5/100+1)^2)+IF(3>=3,100*(5/100+1)^3))/3-100)/100

我的实际公式包含很多很多行来捕捉长达 25 年的持续时间,这就是为什么我希望通过一些智能计算来缩小它

结果将与不使用 VBA 的其他团队共享,因此需要使用内置公式。谢谢,

标签: excel-formula

解决方案


你的基本公式是:

=(AVERAGE(FV(0.05,{1,2,3},0,-100))-100)/100

这是一个数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 而不是 Enter 来确认。

在此处输入图像描述

现在,如果希望输入是动态的(指向输入单元格),那么我们需要稍微改变一下公式:

=(AVERAGE(FV(B2,ROW($ZZ$1:INDEX($ZZ:$ZZ,B1)),0,B3))+B3)/(-B3)

仍然是一个数组公式

在此处输入图像描述


注意:如果有动态数组公式 SEQUENCE 它可以在不需要 CSE 的情况下完成:

=(AVERAGE(FV(B2,SEQUENCE(B1),0,B3))+B3)/(-B3)

在此处输入图像描述


推荐阅读