PV Function (Gnumeric)
Learn the PV function in Gnumeric: Present value. Calculates the present value of an investment.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Gnumeric. How formula examples are checked
PV estimates the value today of a specified stream of equal payments and/or a future lump sum discounted by a constant interest rate per period. It is useful for comparing payment plans, sizing a fixed-rate loan and explaining the time value of money. Its Gnumeric syntax is PV(rate,nper,pmt,fv,type) with optional fv and type [G1][G3].
A key sign convention: PV is opposite in sign to the specified future cash flows. To display a positive present-value magnitude, the first example enters the future amount as negative; this is a chosen reporting orientation. From an investor cash-flow perspective, a positive future receipt would instead give a negative present investment.
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
=PV(rate,nper,pmt,[fv],[type])
| Argument | Expected input | Required/default | Interpretation |
|---|---|---|---|
rate |
Number | Required | Interest rate per period, not necessarily per year. |
nper |
Number | Required | Number of periodic intervals. |
pmt |
Number | Required | Periodic equal cash flow; enter 0 for a pure lump-sum valuation. |
fv |
Number | Optional; 0 | Target balance at the end of the final period. |
type |
Number | Optional; 0 | 0: end-of-period payments; 1: beginning-of-period [G1]. |
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 checked Gnumeric source calculates (−fv − pmt×(1+r×type)×[((1+r)^n−1)/r])/(1+r)^n when r is not zero [G3]. At zero rate, the annuity factor is n, so the result becomes −fv−n×pmt (assuming the denominator is 1). The source returns a divide-by-zero error if the present-value interest factor itself computes to zero [G3].
The periodic payments in this model are equal, the rate is fixed, and type controls whether each payment occurs at the start or end of its period. It is not a full loan underwriting calculation: taxes, variable interest, fees, prepayment penalties and real contractual day-count methods must be incorporated separately if applicable.
Reproducible worksheet examples
Worked example 1: what is $10,000 in one year worth today?
| Cell | Meaning | Input |
|---|---|---|
| A2 / B2 | Monthly discount rate | 0.5% |
| A3 / B3 | Months until receipt | 12 |
| A4 / B4 | Monthly payments | 0 |
| A5 / B5 | Future receipt | -10000 |
| A6 / B6 | Payment timing | 0 |
| A8 / B8 | Present value | =PV(B2,B3,B4,B5,B6) |
Expected B8: 9,419.053397, or $9,419.05 rounded to cents. An independent audit is =10000/(1+0.5%)^12. The equivalence assumes twelve equal monthly periods and a constant rate.
Worked example 2: the value of $200 monthly payments
=PV(0.5%,24,200,0,0) produces an expected -4,512.573244, approximately -$4,512.57. The negative sign indicates that this present amount is the opposite side of the positive periodic inflows in the formula. A loan borrower generally enters periodic payments as negative and receives a positive PV.
Worked example 3: infer the principal of a fixed-rate loan
Create B11=6%/12, B12=12, B13==PMT(B11,B12,12000) (expected around -1,032.797156). =PV(B11,B12,B13,0,0) is expected to return 12,000 to floating precision. This checks the PV identity using unrounded monthly payments; do not replace B13 with -1032.80 if checking strict equality.
Worked example 4: show payment timing
Compare =PV(0.5%,24,200,0,0) with =PV(0.5%,24,200,0,1). The second present value has larger absolute magnitude at positive rates because a beginning-of-period cash flow is discounted one less period. The values are related by a factor of 1+0.005 [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
Loan affordability and principal limits
You can solve for a rough maximum principal from a fixed payment budget: set payment amount negative, fv=0, and type=0, then evaluate PV with the correct payment frequency. For example, =PV(6%/12,12,-500,0,0) models the starting balance serviceable by twelve payments of $500, assuming the specified rate and ignoring fees. This is a spreadsheet valuation model; it is not a lender approval or financial recommendation.
Discounting a project payout versus an annuity
Use pmt=0 when there is only one future payout. Use positive pmt for regular receipts; a PV of opposite sign is mathematically expected. If the cash flows are unequal or arrive on different dates, PV is not the correct single function. Instead model cash flows explicitly using NPV or XNPV after reading their separate Gnumeric references [G1]. Crucially, NPV normally discounts flows from period 1 rather than interpreting a period-0 investment as an ordinary first future payment.
Internal consistency check
Because all functions share a fixed-rate annuity model, recompute =FV(rate,nper,pmt,PV(rate,nper,pmt,fv,type),type) with the same inputs and compare it to the chosen fv. Expect small rounding differences, not an exact decimal identity once values are displayed as currency.
Errors, unusual inputs and troubleshooting
| Symptom / edge | Gnumeric-specific handling or safe troubleshooting |
|---|---|
#DIV/0! for unusual inputs |
The checked gnumeric_pv implementation explicitly returns a divide-by-zero error when its compounded present-value factor is zero [G3]. This is distinct from a normal zero interest rate. |
| Zero rate | The source handles the annuity factor’s removable zero-rate division, so ordinary =PV(0,12,-1000,0,0) has expected result 12000 [G3]. |
| Negative PV where a positive balance was expected | Reverse the cash-flow sign on the future receipt/payment; do not hide the sign with ABS until the meaning is checked. |
type is not 0 or 1 |
The public manual describes 0 and 1 [G1]. The inspected helper maps a nonzero numeric value to the beginning-of-period branch, so don’t assume values like 2 reliably raise an error [G3]. Use explicit 0/1. |
| Different result from another spreadsheet | Check exact formula order, optional argument handling, sign convention, precision and locale. Gnumeric’s “Complete” catalogue label is not proof of every edge-case parity [G2]. |
| Changing interest rates / uneven payments | This fixed-rate present-value formula is the wrong model. Use a period-by-period discount calculation or the appropriate cash-flow function. |
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).