Excel WorksheetFunction.XIRR和XIRR从相同的输入中给出了不同的答案

时间:2017-02-01 06:08:14

标签: excel-vba excel-formula vba excel

我正在尝试使用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

谢谢!

1 个答案:

答案 0 :(得分:0)

问题解决了! 我以为数组从索引1开始,但它实际上从0开始!