Rate 函数

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

返回一个 Double 类型的值,指定年金每期的利率。

语法

rate (nper, pmt,pv [, fv ] [, type ] [, guess ] )

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

参数 说明
nper 必需。 指定年金中的付款期总数的双精度值。 例如,如果按月还款四年期汽车贷款,则贷款总共有 4 * 12 (或 48) 付款期。
Pmt 必需。 指定 每个周期要付款的双重值。 付款通常包含本金和利息,这些本金和利息在年金有效期内不会改变。
光伏 必需。 双重 指定一系列未来付款或收据的现值或当前值。 例如,当你借钱买车时,贷款金额是贷款人每月支付汽车付款的现值。
抗体 可选。 指定最终付款后所需的未来价值或现金余额的变体。 例如,贷款的未来值为 $0,因为这是其最终付款后的价值。 但是,如果你想在 18 年内节省 50,000 美元用于孩子的教育,那么 50,000 美元是未来价值。 如果省略,则假定为 0。
类型 可选。 指定 指示付款到期时间的数字的变体。 如果付款在付款期结束时到期,则使用 0;如果付款在付款期开始时到期,则使用 1。 如果省略,则假定为 0。
可选。 指定估计值的变体将按 Rate 返回。 如果省略, 则猜测 为 0.1 (10%) 。

备注

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

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

速率 按迭代计算。 从 猜测值开始, Rate 会循环执行计算,直到结果准确到 0.00001% 以内。 如果在 20 次尝试后 Rate 找不到结果,则失败。 如果猜测为 10%,并且 Rate 失败,请尝试其他值进行 猜测

查询示例

Expression 结果
SELECT FinancialSample.*, (Rate ([TermInYears]*12,-[MonthlyRePayment],[LoanAmount],0,0,0.1) *12) AS InterestRate FROM FinancialSample; 返回表“FinancialSample”中的所有字段,以及基于“TermInYears”、“MonthlyRePayment”和“LoanAmount”的年度“利率”,并在“InterestRate”列中显示结果。

VBA 示例

注意

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

此示例使用 Rate 函数计算贷款的利率(给定) (付款 TotPmts 总数、贷款支付 () Payment 的金额、贷款 () PVal 的现值或本金、贷款 () FVal 的未来价值、指示付款期开始还是到期 (PayType) , 以及预期利率 (Guess) 的近似值。

Dim Fmt, FVal, Guess, PVal
Dim Payment, TotPmts, PayType, APR
' When payments are made.
Const ENDPERIOD = 0, BEGINPERIOD = 1    
Fmt = "##0.00"    ' Define percentage format.
FVal = 0    ' Usually 0 for a loan.
Guess = .1    ' Guess of 10 percent.
PVal = InputBox("How much did you borrow?")
Payment = InputBox("What's your monthly payment?")
TotPmts = InputBox("How many monthly payments do " & _
          "you have to make?")
PayType = MsgBox("Do you make payments at the end " & _
          "of the month?", vbYesNo)
If PayType = vbNo Then 
    PayType = BEGINPERIOD 
    Else PayType = ENDPERIOD
End If
APR = (Rate(TotPmts, -Payment, PVal, _
      FVal, PayType, Guess) * 12) * 100
MsgBox "Your interest rate is " & _
    Format(CInt(APR), Fmt) & " percent."