公式要求变量。我已经看遍了,找不到这些变量是什么以及它们应该代表什么值。
RATE($nper, $pmt, $pv, $fv = 0.0, $type = 0, $guess = 0.1)
有人熟悉这个功能吗?你知道变量代表什么值吗?
公式要求变量。我已经看遍了,找不到这些变量是什么以及它们应该代表什么值。
RATE($nper, $pmt, $pv, $fv = 0.0, $type = 0, $guess = 0.1)
有人熟悉这个功能吗?你知道变量代表什么值吗?
从 Excel 帮助文件:
RATE(nper,pmt,pv,fv,type,guess)
有关参数 nper、pmt、pv、fv 和 type 的完整描述,请参阅 PV。
- Nper - 是年金中的支付期总数。
- Pmt - 是每期支付的款项,在年金的整个生命周期内不能改变。通常,pmt 包括本金和利息,但不包括其他费用或税款。如果省略 pmt,则必须包含 fv 参数。
- Pv - 是现值 - 一系列未来付款现在价值的总金额。
- Fv - 是您希望在最后一次付款后获得的未来价值或现金余额。如果省略 fv,则假定为 0(例如,贷款的未来价值为 0)。
类型 - 是数字 0 或 1,表示付款的到期时间。
如果付款到期,则设置类型等于以下内容:
- 0 或省略 - 在期末
- 1 - 期初
猜测 - 是您对费率的猜测。
如果省略猜测,则假定为 10%。
如果 RATE 不收敛,请尝试不同的猜测值。如果guess 在 0 和 1 之间,RATE 通常会收敛。评论
确保您对用于指定guess 和nper 的单位保持一致。如果您以 12% 的年利率每月支付四年期贷款,请使用 12%/12 进行猜测,使用 4*12 进行 nper。如果您每年支付同一笔贷款,请使用 12% 进行猜测,使用 4 进行 nper
我不知道你是否需要实现这个功能,但无论如何,我查看了这个算法是如何构建的,即使我无法访问 excel 源代码(或谷歌工作表),我发现这不是一个简单的计算。关于这个数学,可以在这里阅读更多内容:
https://brownmath.com/bsci/loan.htm#Eq8
PHP 中的函数可能是这样的:
function rate($nprest, $vlrparc, $vp, $guess = 0.25) {
$maxit = 100;
$precision = 14;
$guess = round($guess,$precision);
for ($i=0 ; $i<$maxit ; $i++) {
$divdnd = $vlrparc - ( $vlrparc * (pow(1 + $guess , -$nprest)) ) - ($vp * $guess);
$divisor = $nprest * $vlrparc * pow(1 + $guess , (-$nprest - 1)) - $vp;
$newguess = $guess - ( $divdnd / $divisor );
$newguess = round($newguess, $precision);
if ($newguess == $guess) {
return $newguess;
} else {
$guess = $newguess;
}
}
return null;
}