Rate Function

Named Arguments

Yes

Syntax

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

nper

Use: Required

Data Type: Double

The total number of periods in the annuity.

pmt

Use: Required

Data Type: Double

The payment amount per period.

pv

Use: Required

Data Type: Double

The present value of the payments or future receipts.

fv

Use: Optional

Data Type: Variant

The future value or cash balance after the final payment. If omitted, its value defaults to 0.

due

Use: Optional

Data Type: Variant

A flag indicating whether payments are due at the beginning of the payment period (a value of 0, the default) or at the end of the payment period (a value of 1).

guess

Use: Optional

Data Type: Double

An estimate of the value to be returned by the function. If omitted, its value defaults to .1 (10%).

Return Value

A Double representing the interest rate per period.

Description

Calculates the interest rate for an annuity (a loan or an investment) that consists of fixed payments over a known duration.

Rules at a Glance

  • For pv and fv, cash paid out is expressed as a negative number; cash received is expressed as a positive number.

  • The function works using iteration. Starting with guess, Rate cycles through the calculation until the result is accurate to within 0.00001 percent. If a result can't be found after 20 tries, the function fails.

Programming Tips and Gotchas

  • In the case of a loan, pv is the loan amount. In the case of an investment, pv is the beginning balance.

  • In the case of a loan, fv is typically ...

Get VB & VBA in a Nutshell: The Language now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.