NPV Calculator
Calculate net present value for uneven cash flows, subtract the initial cost outside NPV, and match the spreadsheet function.
Enter the rate as a percent (10 for 10%). The cost is paid today and is not discounted. The listed flows are end of period 1, 2, 3, … — the same convention as Excel’s NPV. Numbers stay in your browser.
Quick answer: with a cost paid today and inflows starting at the end of year 1:
=NPV(0.10,4000,3000,2000,2000)-10000 Do not put the −10000 inside NPV as the first value. That discounts the cost by one period and overstates NPV.
10% on 4,000, 3,000, 2,000, 2,000, cost 10,000
In Google Sheets on 12 November 2026, =NPV(0.10,4000,3000,2000,2000) returned 8984.358991872139. Subtracting the 10,000 paid today gives -1015.6410081278609. The project does not earn 10% — it is about 1,016 short in present-value terms.
The incorrect form =NPV(0.10,-10000,4000,3000,2000,2000) returned -923.310007388965, which looks less bad because the cost was treated as a year-1 outflow. The difference is exactly the missing one-period discount on the 10,000.
The same inflows, undiscounted, are the 3.5-year payback example on this site. Payback ignores the 10% rate; NPV does not. A regular annuity belongs in the present value calculator instead of a four-cell NPV.
Rate and timing
The rate and the spacing of the flows have to match. Annual inflows use an annual rate; monthly inflows use a monthly rate. A flow of 0 is a year with no cash and still occupies a period. This page does not mid-year the first outflow or apply a mid-period convention; it follows NPV as the spreadsheet defines it.
Questions that come up
What is the NPV formula in Excel or Google Sheets?
Use =NPV(rate, value1, value2, …) minus the time-zero cost. NPV discounts the first value as the end of period 1, not as time zero. For a 10,000 cost paid today and inflows of 4,000, 3,000, 2,000, and 2,000, the correct form is =NPV(0.10,4000,3000,2000,2000)-10000.
Why should I not put the initial cost inside NPV?
If you write =NPV(0.10,-10000,4000,3000,2000,2000), the 10,000 is discounted as if it were paid at the end of year 1. In the test workbook that returned -923.310007388965, not the correct -1015.6410081278609. Subtract the cost outside the function, undiscounted.
Is NPV the same as present value or as ROI?
NPV is for uneven future flows plus a cost today. PV is for a regular annuity or a single future lump sum. ROI here is an undiscounted (ending − cost)/cost and ignores timing. Use the matching calculator for each.