Rate 函數

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

傳回 Double,指定年金的各期利率。

語法

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

Rate 函數語法具有下列引數:

引數 描述
NPER 必要。 Double 指定年金的付款期總數。 舉例來說,如果您按月償還為期四年的汽車貸款,那麼貸款總付款期數會是 4 * 12 (或 48)。
pmt 必要。 指定每期付款的 Double。 付款通常會包含本金和利息,並且不會隨年金的期限變化。
PV 必要。 雙指定一系列未來付款或收據的現值或今天的價值。 例如,當您借錢購買汽車時,貸款金額是您每月支付的汽車付款給貸方的現值。
fv 可省略。 指定您支付尾款後想要的未來價值或現金餘額的變體。 例如,貸款的終值是 $0,因為這是其最終付款的值。 不過,如果您想要為您的子女儲蓄 $50,000 教育基金 (18 年),則 $50,000 是終值。 如果沒有指定,會假設為 0。
type 可省略。 指定指出付款到期時間的數字的變體。 如果給付時點為付款期限結束時,則使用 0;如果給付時點為期限開始時,則使用 1。 如果沒有指定,會假設為 0。
猜測 可省略。 指定您預估值的變體將依 Rate 傳回。 如果省略,則猜 為 0.1 (10%) 。

註解

年金是指一段時間內,一系列的固定現金付款活動。 年金可能是一筆貸款 (例如房屋貸款) 或投資 (例如每月存款計劃)。

對於所有引數,付出的現金 (例如要儲蓄的存款金額) 是由負數表示;收入的現金 (例如股利支票) 是由正數表示。

速率 是依反覆運算計算。 Rate猜測的值開始,循環計算直到結果準確到 0.00001% 以內。 如果 Rate 在嘗試 20 次後找不到結果,則表示失敗。 如果您的猜測是 10%,而 [比率] 失敗,請嘗試不同的 猜測值。

查詢範例

運算式 結果
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."