RATE Function (Gnumeric)
Learn the RATE function in Gnumeric: Calculates the constant interest rate of an investment with regular payments.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Gnumeric. How formula examples are checked
RATE estimates the interest rate per period consistent with a fixed number of payments, payment size, starting value and ending value. The function is an iterative numerical solver: it is not automatically an APR, an effective annual return or a contractual interest disclosure [G1][G3]. It can be used to check a repayment schedule or infer a growth rate for a lump-sum investment.
The exact Gnumeric argument order is nper,pmt,pv,fv,type,guess. The first three arguments are required; the last three are optional, and guess defaults to 10% [G1][G3]. Make the rate’s interval match nper and pmt, then convert to annual figures separately if needed.
Scope, evidence and status
This is a Gnumeric-specific guide of a function registered in the Gnumeric Finance family. The official manual gives its exact argument order [G1], the project function catalogue calls its implementation Complete with Basic upstream testing [G2], and the current public GNOME source registers it in the finance plugin [G3]. Those are three different checks: a documentation entry, a catalogue classification, and source inspection. None establishes that the examples on this page were run in a native Gnumeric session.
The publicly listed 1.12.62 stable source release is dated 21 September 2026 [G4]. This article was researched 13 October 2026 against the accessible manual/catalogue and checksum-verified official GNOME Gnumeric 1.12.62 source. Source inspection is not a substitute for testing the installed package; availability can also depend on spreadsheet build and plugin configuration. Examples use English function names, decimal points and comma argument separators; a decimal-comma locale may require semicolons [G5]. Use the Function Selector to avoid guessing separators.
All example outputs below are independently calculated expected values, not screenshots or measured outputs from the application. Use the complete cell inputs to reproduce them, and check formatted rounding separately from stored precision.
Syntax and argument order
=RATE(nper,pmt,pv,[fv],[type],[guess])
| Argument | Expected input | Required/default | Interpretation |
|---|---|---|---|
nper |
Number | Required | Number of equal periods; the 1.12.62 implementation converts it to an integer and rejects a nonpositive result. Use positive whole counts. [G3] |
pmt |
Number | Required | Signed amount per period; 0 is valid for a pure growth investment. |
pv |
Number | Required | Present value with an appropriate cash-flow sign. |
fv |
Number | Optional; 0 | Future value/target ending balance. |
type |
Number | Optional; 0 | 0 payments at end, 1 at beginning [G1]. |
guess |
Number | Optional; 10% | Initial estimate of periodic rate; source uses iterative root finding, so convergence and roots may depend on the guess [G1][G3]. |
Square brackets above are documentation notation for optional arguments; do not type square brackets into the actual formula. The authoritative argument order is from Gnumeric’s official Finance manual [G1] and the explicit required/optional separation is confirmed by the GNOME finance-plugin registration [G3].
What Gnumeric calculates
The upstream implementation solves the equation pv×(1+r)^n + pmt×(1+r×type)×[((1+r)^n−1)/r] + fv = 0 for r, with a zero-rate limiting form. Its numerical code first attempts a Newton-style search and, if needed, tries additional points and bisection [G3]. There can be more than one mathematical root or no acceptable root for a particular cash-flow pattern; the optional guess influences which rate the algorithm searches for [G1][G3].
The inspected numerical callback explicitly excludes rates r<=−1 and r=0 from its nonzero-rate evaluation. Do not assume an exact 0% solution will be returned correctly for all configurations without a native test. This caveat is particularly important when a loan is advertised at 0% [G3].
Reproducible worksheet examples
Worked example 1: recover a loan’s monthly 0.5% rate
| Cell | Label | Enter |
|---|---|---|
| A2 / B2 | Number of payments | 12 |
| A3 / B3 | Signed payment | =PMT(6%/12,12,12000) |
| A4 / B4 | Loan advanced | 12000 |
| A5 / B5 | Ending balance | 0 |
| A6 / B6 | End-of-period | 0 |
| A7 / B7 | Initial rate guess | 1% |
| A9 / B9 | Periodic rate estimate | =RATE(B2,B3,B4,B5,B6,B7) |
Expected B3: -1,032.797156485. Expected B9: about 0.005 (0.5% per month), subject to numerical convergence. This expected value was verified by substituting the calculated payment into the annuity balance equation; no Gnumeric application session was executed. Do not type a rounded $1,032.80 payment if you want to reproduce the more precise round-trip.
Worked example 2: monthly versus annual rates
If B9 is approximately 0.005, a simple annual nominal rate corresponding to monthly compounding is =B9*12, expected 6%. The corresponding effective annual compounding rate is =(1+B9)^12-1, expected 6.167781%. These are arithmetic annualizations of a monthly periodic rate, not an assertion about fees or regulated APR labels.
Worked example 3: a lump sum without periodic payments
=RATE(12,0,-1000,1126.825030,0,1%) has an independently expected rate of approximately 1% per month, because 1000×1.01^12≈1126.825030. Here the initial investment and the final receipt have opposite signs; neither argument can be silently switched to positive without changing the equation.
Worked example 4: validate a solved rate with FV
Use the rate returned in B9 to check =FV(B9,B2,B3,B4,B6). The expected future loan balance is approximately 0, within realistic floating-point tolerances. If it is not, verify convergence, cash-flow signs and identical optional arguments [G1][G3].
Precision: expected results use independent arithmetic on underlying values; a currency format showing two decimals does not change the stored number. Values are not observations from a Gnumeric runtime.
Advanced use and model checks
Use the guess intentionally
The optional final argument is an initial rate estimate, not an input interest rate that RATE merely returns. A small positive guess can be useful when modelling a monthly loan; a different guess may change convergence on difficult cash-flow sets. Record the guess with the result in a reviewable spreadsheet. Official guidance says it defaults to 10% and warns that multiple valid results can exist [G1]. The checked code uses Newton iterations and a bisection fallback rather than a closed-form expression [G3].
Distinguish payment frequency from compounding frequency
For monthly payments, RATE returns a rate per month. Do not show this value as an annual loan rate without converting it. The simple rate×12 and effective (1+rate)^12−1 are two different quantities and may differ from a contractual APR that includes fees or prescribed conventions.
Treat a solver failure as data, not a zero rate
If the equation cannot be solved numerically, the source returns #NUM! [G3]. Do not conceal the error with IFERROR(RATE(...),0) in a financial audit; it would turn a failed computation into a seemingly valid zero-interest loan. Instead review cash-flow signs, period count, guess and whether the prescribed ending balance is feasible under the constant-rate model.
Pure growth without payments
When pmt=0, the equation simplifies to a compound-growth relationship, subject to correct signs; for straightforward positive growth the arithmetic expression (fv/(-pv))^(1/nper)-1 independently estimates the rate. This is useful for checking RATE’s numerical output rather than claiming a different spreadsheet’s runtime behavior.
Errors, unusual inputs and troubleshooting
| Symptom or input | What is established for Gnumeric |
|---|---|
nper<=0 |
Checked source explicitly returns #NUM! [G3]. |
| Solver cannot locate an acceptable root | Checked source returns #NUM! after failing its numerical search [G3]. This may include incompatible cash flows or a poor starting guess. |
guess omitted |
Both manual and source give a default of 10% [G1][G3]; it is not your payment or real return. |
| Sign convention inconsistent | For a normal loan the amount received is positive while the payments paid back are negative. For growth without deposits, initial and final cash flows generally have opposite signs. |
type supplied as 2 |
The manual documents only 0/1. Inspected helper converts a nonzero numeric type to beginning-of-period rather than necessarily rejecting 2; enter 0 or 1 [G3]. |
| Expecting a return of exactly 0 | Source’s numerical callback excludes r=0; treat zero-rate edge behavior as not native-validated rather than assuming a particular return [G3]. |
| Unexpected percent scale | A returned 0.005 means 0.5% per modeled period, not 0.005% and not 6% per month. Format as percentage without multiplying the underlying value by 100. |
For text or blank cells in required numeric arguments, the public manual alone does not establish every coercion or error for every installed build. Use numeric inputs, review Formula Error feedback in the actual software, and do not transplant undocumented Excel or LibreOffice rules into Gnumeric.
Gnumeric version, locales and compatibility
- Project evidence: public Finance manual plus GNOME finance-plugin source and public catalogue, all reviewed on 13 October 2026 [G1][G2][G3]. The upstream catalogue’s Complete / Basic label is a project classification, not an execution log for this tutorial.
- Release scope: 1.12.62 is listed in the upstream stable release archive (21 September 2026) [G4]. The code reviewed for behavior is from the checksum-verified official 1.12.62 source archive, not a native application run.
- Platform: Gnumeric is a GNOME desktop spreadsheet application. This research does not assert Windows/macOS package feature parity or test any packaged Linux distribution. Confirm your installed version and available functions.
- Formula input: the English documentation uses a period for decimals and a comma to separate arguments. In a decimal-comma locale, a semicolon separator may be required; a GNOME project contributor documents that distinction and recommends the function insertion UI [G5].
- Interchange: mathematical analogues may exist in Excel/LibreOffice, but no cross-import round-trip, XLSX rewrite or ODF execution was performed. Compare results and optional-argument behavior in both applications before relying on interoperability.
Related Gnumeric function guides
Verification and evidence register
| Claim / check | What was actually checked | Evidence |
|---|---|---|
| Canonical name, documented arguments, related functions | Gnumeric official Finance manual | [G1] |
| Catalogue status | Official function catalogue: Complete / Basic | [G2] |
| Default arguments and formula/error branches | Official 1.12.62 plugins/fn-financial/functions.c |
[G3] |
| Stable release listing | GNOME download archive, 1.12.62 on 2026-09-21 | [G4] |
| Locale syntax caveat | GNOME project mailing-list answer about separators | [G5] |
| Numeric examples | Independent arithmetic/financial equations on these input values | Independent calculation from the displayed inputs |
| Native Gnumeric calculation / screenshots | Not performed | No runtime observations |
Dated official references
- [G1] Gnumeric official manual, Finance: https://gnome.pages.gitlab.gnome.org/gnumeric/manual/CATEGORY_Finance.html (checked 2026-10-13).
- [G2] Gnumeric official function catalogue: https://gnome.pages.gitlab.gnome.org/gnumeric-web/functions.shtml (checked 2026-10-13).
- [G3] GNOME Gnumeric source,
plugins/fn-financial/functions.c: https://download.gnome.org/sources/gnumeric/1.12/gnumeric-1.12.62.tar.xz (accessed 2026-10-13; official release archive checksum verified). - [G4] GNOME Gnumeric 1.12 stable release archive: https://download.gnome.org/sources/gnumeric/1.12/ (checked 2026-10-13; records version 1.12.62 dated 2026-09-21).
- [G5] Official Gnumeric mailing list, separator clarification: https://mail.gnome.org/archives/gnumeric-list/2010-June/msg00006.html (published 2010-06-07; checked 2026-10-13).