使用XIRR函数和非连续数据计算年度回报

时间:2018-06-01 19:00:16

标签: excel xirr

我输入的数据如下:"投资"是在"日期"在A列和"返回" (C列)截至今天。

Date        Investment  Return
03-Jan-2011 -2000.00    5467.78  
03-Oct-2011 -2000.00    6021.89  
01-Nov-2011 -2000.00    5814.14  
01-Dec-2011 -2000.00    6304.06  
02-Jan-2012 -2000.00    6722.25  
01-Feb-2012 -2000.00    6038.32  
01-Mar-2012 -2000.00    5857.22  
02-Apr-2012 -2000.00    5751.47  
02-May-2012 -2000.00    5719.95  
01-Jun-2012 -2000.00    5977.00  
01-Aug-2012 -2000.00    5763.80  
03-Sep-2012 -2000.00    5670.38  
01-Oct-2012 -2000.00    5207.01  
01-Nov-2012 -2000.00    5277.69  
03-Dec-2012 -2000.00    4848.90 

我想使用XIRR公式来计算截至今天的同比回报率。结果应该看起来像这样

Column-A    Column-B  
2011        14.1%  
2012        14.5%  
2013        13.8%  
....  
....

实际上,我有顺序的流出(负值),但我无法在每年的最后一行添加流入(作为正值)。

我在2011年和2012年尝试了以下内容,但XIRR不支持显然不连续的值

2011年= XIRR({B2:B5;总和(C2:C5)},{A2:A5;今天()})

2012年= XIRR({B2:B16;总和(C2:C16)},{A2:A16;今天()})

请求您的帮助。

谢谢, Kingshuk。

1 个答案:

答案 0 :(得分:0)

如果您已在E2中输入2011,请在数组公式中使用CHOOSE来合并返回和投资数组(使用 ctrl + shift + 输入):

=XIRR(OFFSET($A$1,MATCH(E2,YEAR($A$2:$A$16),0),1,SUM(IF(YEAR($A$2:$A$16)=E2,1)),2),CHOOSE({1,2},OFFSET($A$1,MATCH(E2,YEAR($A$2:$A$16),0),0,SUM(IF(YEAR($A$2:$A$16)=E2,1))),TODAY()))

编辑以上公式假设您的数据按年排序。