Contact

RATE Function (OpenOffice Calc)

Financial Intermediate OpenOffice Calc

Solve a level-payment interest rate in Apache OpenOffice with RATE. Check cash-flow signs, payment timing, periodic units and the balance equation.

Verification status: Eight ordinary reference formulas were recalculated in Apache OpenOffice 4.1.16 on Linux x86-64, Build 9816, through generated native ODF and GUI hard recalculation. Saved identities, inputs and results were checked. How formula examples are checked

Quick answer: =RATE(12;-100;1000) returned 0.029228540769 in the tested Apache OpenOffice 4.1.16 build.

Availability and version history

  • Introduced: First release not established; documented by OpenOffice.org 3.3.
  • Supported in: Apache OpenOffice 4.1.16; this is a verified release, not a final supported version.
  • Scope: Desktop Calc, English function names and semicolon-separated formulas.
  • Checked: October 14, 2026. Eight ordinary reference formulas were recalculated from generated ODF in 4.1.16 on Linux x86-64, Build 9816. Source and independent arithmetic were checked.

What RATE returns

RATE finds an interest rate per payment period for a constant-payment financial arrangement. It solves the payment and balance equation rather than dividing total interest by principal. Its sign convention requires consistent incoming and outgoing amounts. Release implementation.

Syntax and arguments

=RATE(Nper;Payment;PV[;FV[;Type[;Guess]]])
  • Nper: positive number of equal payment periods.
  • Payment: constant signed payment each period.
  • PV: signed present value.
  • FV: optional final balance, default 0.
  • Type: optional 0 for payments at the end; use 1 for payments at the beginning.
  • Guess: optional initial rate, default 0.1.

Eight reproducible examples

The native column contains saved 4.1.16 results; independent references use high-precision arithmetic and the stated source rules. Values are shown to twelve decimal places where needed.

Formula Native 4.1.16 result Independent reference
=RATE(12;-100;1000) 0.029228540769 0.029228540769
=RATE(12;-100;1000;0;1) 0.035031530362 0.035031530362
=RATE(24;-50;1000) 0.015130843902 0.015130843902
=RATE(12;-90;1000) 0.012043456781 0.012043456781
=RATE(24;-55;1000) 0.023515579252 0.023515579252
=RATE(1;-110;100) 0.1 0.1
=RATE(10;0;-100;200) 0.071773462536 0.071773462536
=RATE(5;0;-100;161.051) 0.1 0.1

Practical worksheet

Twelve end-of-period payments of −100 against a present loan value of 1000 imply approximately 0.029228540769 per period. Moving the payments to the beginning, while keeping their amount and number unchanged, gives approximately 0.035031530362. Earlier payments support a higher rate for the same present amount.

If those periods are months, the first result is a monthly rate. A nominal annual rate formed by multiplying by twelve differs from the effective annual rate (1+r)^12-1. State which conversion is being reported; RATE does not assign a calendar unit itself.

Advanced interpretation and checks

For r≠0, check PV*(1+r)^Nper+Payment*(1+r*Type)*((1+r)^Nper-1)/r+FV. The residual should be near zero for the proposed rate. The zero-rate limiting equation is PV+Payment×Nper+FV=0.

With no intervening payments, a present outflow −100 growing to 200 in ten periods gives 2^(1/10)-1, approximately 0.071773462536. Similarly, −100 growing to 161.051 over five periods implies 10%. These independent compounding identities are useful checks of sign and time-unit choices.

Boundaries and troubleshooting

The source rejects Nper≤0 and uses an iterative solver with a maximum of 150 iterations. Integer and noninteger Nper take different solver branches; the native examples here use positive integer counts and positive roots. No global convergence or extreme-value claim follows from them.

Use Type 0 or 1. Unlike the payment helper’s positive/nonpositive timing branch, RATE’s solver algebra retains the supplied Type value; arbitrary flags should not be substituted casually. A poor guess or a cash-flow equation without a suitable root can prevent convergence. Invalid-domain and unsuccessful searches were not executed.

PMT, NPER, FV.

Official evidence and checking scope

The generated ODF produced the informational load warning “Not all attributes could be read.” The sheet was hard-recalculated and saved separately. All eight ordinary function identities, inputs and results were reconciled; a stale SUM cache changed from 999999 to 3 and an uncached SUM returned 7. This establishes the stated examples, not every workbook style or invalid input. Other explanatory identities are independent calculations. The authoring-tool XLSX was not executed in OpenOffice, and its preview values are not the native results reported here.