这一个让我崛起。
更新:在产生NaN的jsfiddle中组装:https://jsfiddle.net/eqcww2y7/6/
我正在使用此XIRR功能:https://gist.github.com/ghalimi/4669712
进入该功能,我发送一对简单的数组 - 4个日期,4个现金流值。
var dates = [
"2016-01-01",
"2016-02-01",
"2016-03-01",
"2016-04-01",
];
var values = [
-1000000,
0,
0,
750000
];
console.log('dates', dates);
console.log('values', values);
console.log(XIRR(values, dates, 0.1));
该函数依赖于momentjs,这不会导致任何问题 - 函数内的console.log()
显示日期正在被正确解析。
上面的代码片段返回NaN,它应该返回-0.68。如果我通过Excel运行那些完全相同的值:
有人能发现这个问题吗?它是否具有该功能,我发送了错误的值吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
只是添加已经给出的解释,该要点中使用的XIRR功能提到
某些算法已从Apache OpenOffice移植
如果您在OpenOffice Calc中设置相同的值/日期,则
在openoffice论坛中搜索与XIRR相关的错误,您可以访问https://forum.openoffice.org/en/forum/viewtopic.php?t=14006,他们提到可能存在的问题是我们在此处确定的问题。
他们确实提供了解决方案(证明它是特定约束的解决方案),
我建议您使用SUM(C4:C15)/ C3(存储值之和减去接收值)作为猜测
在你的情况下,SUM(B2:B4)/B1
确实会返回 -0.684592