NPV Function (OpenOffice Calc)
Calculate periodic NPV in Apache OpenOffice Calc. Place time-zero cash flows correctly, preserve empty-period timing and compare reproducible discounting examples.
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: =NPV(.1;100;200;300) returned 481.592787377911 in the tested Apache OpenOffice 4.1.16 build. Use the numeric worksheet setup below for these range addresses.
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 NPV returns
NPV adds cash flows discounted at equal period intervals. The first included value is discounted one period, the second two periods, and so on. A time-zero investment therefore normally belongs outside the function rather than as its first discounted argument. Release implementation.
Syntax and arguments
NPV(Rate;Value1[;Value2;…])
- Rate: required discount rate per cash-flow period, entered as a decimal.
- Value1, Value2, …: ordered cash flows, supplied as numbers or numeric cell ranges.
- The release accepts 2–31 total arguments, including Rate. A range can contain several cash flows; the argument count is not a 30-cell limit.
Numeric worksheet setup
Enter period rates 0.10, 0.05, 0 and −0.02 in F2:F5. Enter cash flows 100, 200, 300 and 400 in G2:G5. Keep the values as numbers; these ordinary examples do not test imported text or blank-cell conversion.
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. The range examples use the numeric setup above.
| Formula | Native 4.1.16 result | Independent reference |
|---|---|---|
=NPV(.1;100;200;300) |
481.592787377911 |
481.592787377911 |
=NPV(.1;G2:G4) |
481.592787377911 |
481.592787377911 |
=NPV(0;G2:G4) |
600 |
600 |
=NPV(.05;G2:G5) |
864.876260405901 |
864.876260405901 |
=NPV(.1;100) |
90.909090909091 |
90.909090909091 |
=NPV(.1;-100;200;300) |
299.774605559729 |
299.77460555973 |
=NPV(.1;100;0;300) |
316.303531179564 |
316.303531179564 |
=NPV(.1;G2:G3;300) |
481.592787377911 |
481.592787377911 |
Practical worksheet
With period-end receipts of 100, 200 and 300 and a per-period rate of 10%, =NPV(0.1;100;200;300) gives approximately 481.592787377911. The terms are 100/1.1, 200/1.1² and 300/1.1³. The same three numbers in G2:G4 give the same result.
If an initial outflow of 400 occurs now, the complete calculation is =-400+NPV(0.1;G2:G4), approximately 81.592787377911. Putting −400 inside the value sequence would shift its timing and the timing of the following receipts.
Advanced interpretation and checks
Use a rate matching the spacing of the cash flows. A monthly sequence requires a monthly discount rate; an annual rate is not automatically divided or converted by NPV. Irregular dates require an explicitly dated model rather than pretending the rows are equally spaced.
A numeric zero preserves a period. The native =NPV(0.1;100;0;300) includes the third receipt at period 3 and gives approximately 316.303531179564. The interpreter only advances its period counter when a numeric referenced value is accepted. An empty or ignored nonnumeric cell must not be used as a substitute for a zero cash flow without checking the intended timing.
Boundaries and troubleshooting
The native cases cover ordinary numeric ranges, explicit zeros, one negative cash flow and a zero discount rate. At Rate=0, NPV is the sum of included cash flows. They do not establish mixed-type, error-cell or irregular-date behavior.
For a conventional discounting model, validate Rate>−1 before calculation. The source divides by powers of 1+Rate and does not establish that every algebraically expressible input is financially meaningful. Invalid rates and missing arguments were not executed. Positive NPV describes the specified cash flows and rate; it does not certify forecasts, risk or suitability.
Related functions
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.