自动化复合年增长率(CAGR)计算

时间:2014-10-17 08:48:35

标签: excel excel-vba excel-formula pivot-table excel-2013 vba

我有一份公司的收入和就业清单(历史和预测)。我想计算从2014年到最新可用年份的compound annual growth rate (CAGR)。我使用了以下formula

=(C17/C12)^(1/COUNT(C13:C17))-1

虽然公式有效,但它不可扩展。意思是,我必须为每个公司(有数千个)和除收入和就业之外的每个属性(还有许多其他)手动编码。此外,一些公司有不同的结束年份,即一些公司的预测数据在2017年结束,一些公司在2018年结束,等等......

以下任何一种可能是潜在的解决方案吗?还有其他人吗?

  1. VBA
  2. 数据透视表
  3. 的PowerPivot

2 个答案:

答案 0 :(得分:1)

  

以下任何一种可能是潜在的解决方案吗?

  

还有其他人吗?

  

我必须为每家公司手动编码

不,给定合适的数据布局。

“从2014年到最新可用年份”似乎使问题#1不成问题。

答案 1 :(得分:0)

我创建了一个PowerPivot表。以下PowerPivot DAX公式适用于我,

first year revenue = CALCULATE(SUM(source[revenue]),source[year]=2014)

last year revenue = CALCULATE(sum(source[revenue]),filter(source,source[year]=max(source[year])))

Forecast Revenue CAGR = ([last year revenue]/[first year revenue]) ^(1/(max([year])-2014))-1

这些表达式是可扩展的,即它们适用于表格中的每个公司。