我正在尝试使用VBA完成XIRR计算的项目。部分代码如下。
Range("J3").Value = WorksheetFunction.IRR(IRRValues())
Range("J2").Value = Application.WorksheetFunction.Xirr(IRRValues(), RepayDates())
IRRValues()
是一个数组,其中包含客户端所做的每笔还款,RepayDates()
是一个包含每次还款的相应日期的数组。
IRRValues
以负数开头,作为第一笔现金。但是每当我运行VBA WorksheetFunction.XIRR
时,它都会给我一个实际为0的数字。但是,如果我使用=XIRR
在工作表中运行相同的数据,那么它给了我另一个答案。 WorksheetFunction.IRR
效果很好。我试图将我的本地设置更改为“US”,因此日期格式正确(mm / dd / yyyy)。
数据如下所示,运行至2012年6月19日,持续还款87.35美元。
-4000 07/07/2009
$ 87.35 07/21/2009
谢谢!
答案 0 :(得分:0)
问题解决了! 我以为数组从索引1开始,但它实际上从0开始!