NPer 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

返回指定基于定期、固定付款和固定利率的年金期数的 Double。

语法

NPer (rate, pmt,pv [, fv ] [, type ] )

NPer 函数语法具有以下参数:

参数 说明
rate 必需。 双精度 指定每期利率。 例如,如果您以年利率获得汽车贷款 (年利率) 为 10%,并按月还款,则每期利率为 0.1/12,即 0.0083。
pmt 必需。 双重 指定每期付款。 付款通常包含本金和利息,在年金的有效期内不会改变。
PV 必需。 双重 指定一系列未来付款或收据的现值或今天的价值。 例如,当您借钱买车时,贷款金额是您每月支付的汽车付款给贷方的现值。
fv 可选。 指定您在支付最终付款后所需的未来值或现金余额的变体。 例如,贷款的未来值为 0 美元,因为这是最终还款后的价值。 但是,如果您想在 50,000 年内为孩子的教育节省 18 美元,那么 50,000 美元是未来价值。 如果省略,则假定为 0。
type 可选。 指定付款时间支付时间的变体。 如果在付款期结束时到期,请使用 0,如果在期初到期,请使用 1。 如果省略,则假定为 0。

    

备注

年金是在一段时间内支付的一系列固定现金支付。 年金可以是贷款 (,例如房屋抵押贷款) ,也可以是投资 (,例如每月储蓄计划) 。

对于所有参数,支付的现金 (例如存款到储蓄) 用负数表示;收到的现金 (例如股息支票) 用正数表示。

查询示例

Expression 结果
SELECT FinancialSample.*, INT (NPER ([AnnualRate]/12,-[MonthlyRePayment],[LoanAmount],0,0) ) AS MonthsRequired FROM FinancialSample; 返回表 “FinancialSample” 中的所有字段,根据 “AnnualRate” 和 “MonthlyRePayment” 计算本示例中) 支付 “LoanAmount” 所需的周期数 (Months,并在 MonthsRequired 列中显示结果。 INT 函数用于将“Double”数据输出转换为整数值。

VBA 示例

注意

下面的示例演示了在Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择“开发人员参考”,然后在搜索框中输入一个或多个术语。

此示例使用 NPer 函数返回为偿还价值包含在 中的 PVal贷款必须付款的期数。 还提供了) (APR / 12 期利率、还款 (Payment) 、贷款 (FVal) 的未来值,以及一个数字,表明在还款期开始还是结束时到期 (PayType) 。

Dim FVal, PVal, APR, Payment, PayType, TotPmts
' When payments are made.
Const ENDPERIOD = 0, BEGINPERIOD = 1
FVal = 0    ' Usually 0 for a loan.
PVal = InputBox("How much do you want to borrow?")
APR = InputBox("What is the annual percentage " & _
      "rate of your loan?")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
Payment = InputBox("How much do you " & _
          "want to pay each month?")
PayType = MsgBox("Do you make payments " & _
          "at the end of month?", vbYesNo)
If PayType = vbNo Then 
    PayType = BEGINPERIOD 
    Else PayType = ENDPERIOD
End If
TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)
If Int(TotPmts) <> TotPmts Then 
    TotPmts = Int(TotPmts) + 1
End If
MsgBox "It will take you " & TotPmts & _
" months to pay off your loan."