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;sum(C2:C5)},{A2:A5;today()})
2012 年 =XIRR({B2:B16;sum(C2:C16)},{A2:A16;today()})
请求您的帮助。
谢谢,金舒克。
解决方案
如果您输入了 2011 年E2
,请使用CHOOSE
数组公式来组合收益和投资数组(使用ctrl+ shift+提交enter):
=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()))
编辑上面的公式假设您的数据按年份排序。
推荐阅读
- ruby - 如何检查我的哈希是否有错误
- php - 如何修复“PHP 警告:PHP 启动:无法加载动态库 'mongodb'”
- apple-watch - 如何在 Apple Watch 上查看已安装的应用程序版本?
- javascript - Raspberry Pi 中 Google Chromium Print PDF Preview 的页脚部分出现空白 URL 框
- javascript - 为什么在输入更改后提交状态没有立即更新?
- amazon-web-services - 以毫秒为单位查询 100Gb 的 S3 数据
- python-3.x - 如何解决 Tensorflow 2.0 中的 RuntimeError?
- flutter - Flutter Web:如何修复 SelectableText 对齐?
- visual-studio-2013 - 加载 Crystal Report 后 Visual Studio 冻结
- javascript - 在电子与反应应用程序中如何从最小化状态恢复后解决空白白屏