New: 6 free SQL practice datasets with 300+ questions — try the SQL Compiler →
Excel

Excel Financial Functions: PMT, NPV, IRR Explained

Excel financial functions explained: PMT, FV, NPV, IRR, MIRR, IPMT, CUMIPMT, EFFECT, depreciation methods, and XNPV/XIRR, with real results from Excel.

Upskly AI Team September 27, 2026 13 min read
Excel Financial Functions: PMT, NPV, IRR Explained

Excel’s financial functions answer the questions behind a loan, a savings plan or an investment: what is the monthly payment, what is a future stream of cash worth today, and how much of an asset’s value is used up each year. The main ones are PMT, FV, NPV, IRR and a family of depreciation functions (SLN, DB, DDB, SYD). They all share one convention worth learning once: money you pay out is negative, and money you receive is positive.

This guide runs a loan, a savings goal, a five-year investment and a depreciation schedule through these functions, and shows the details that catch people out, especially where NPV stops and where IRR can have more than one honest answer. Every result was produced by running the formula in Microsoft Excel.

In this guide

The short version

  • Money going out is negative, money coming in is positive. Get this backwards and every answer flips sign.
  • PMT, FV and NPV all take a rate per period that matches the period of the cash flows: divide an annual rate by 12 for monthly payments.
  • NPV assumes the first cash flow happens one period from now. An outlay today (period 0) is added outside the NPV function, not as its first argument.
  • IRR needs at least one negative and one positive value, and can have more than one correct answer if the cash flows change sign more than once.

The sign convention

Every function in this guide follows the same rule: an amount you pay is negative, an amount you receive is positive. A loan you take out is a positive amount received once and negative payments afterwards. A savings plan is negative deposits and a positive amount received at the end. Getting the sign backwards does not raise an error, it just flips the sign of the result, which is an easy mistake to miss.

PMT: the payment on a loan

PMT(rate, nper, pv, [fv], [type]) gives the fixed payment on a loan of pv, over nper periods, at rate per period. type is 0 (the default) for payments at the end of each period, or 1 for the start. A loan of 200,000, 10 percent a year, paid monthly over 3 years (36 months):

PMT on a 200,000 loan at 10 percent annual, 36 monthly payments
FormulaExcel showsWhy
=ROUND(PMT(0.10/12,36,200000),2)-6453.44paid at the end of each month (the default)
=ROUND(PMT(0.10/12,36,200000,0,1),2)-6400.1paid at the start of each month: a little lower, since interest has less time to build up
=ROUND(PMT(0.10/12,36,200000)*36,2)-232323.75the total of all 36 payments
=ROUND(-PMT(0.10/12,36,200000)*36-200000,2)32323.75total payments minus the loan: the total interest paid over the loan

The rate and the number of periods must use the same unit. For a monthly payment on an annual rate, divide the rate by 12 and multiply the years by 12, exactly as above.

FV: reaching a savings goal

FV(rate, nper, pmt, [pv], [type]) gives the value built up by regular payments. Saving 5,000 a month for 5 years (60 months) at 8 percent a year:

FV of saving 5,000 a month for 60 months at 8 percent annual
FormulaExcel showsWhy
=FV(0.08/12,60,-5000)367384.2812deposits at month end
=FV(0.08/12,60,-5000,0,1)369833.5098deposits at the start of the month grow for one extra month each, so the total is higher
=FV(0.08/12,60,-5000)-60*500067384.28123the amount that is pure interest, on top of the 300,000 actually deposited

NPV: what a cash flow is worth today

NPV(rate, value1, value2, ...) discounts a series of future cash flows back to today’s value, at a discount rate that reflects what the money could otherwise earn. The important detail: NPV assumes its first value arrives at the end of period 1, not today. An investment paying 60,000 a year for 5 years, discounted at 10 percent:

The present value of five yearly receipts of 60,000, at 10 percent
FormulaExcel shows
=NPV(0.1,60000,60000,60000,60000,60000)227447.2062
=NPV(0.1,60000,60000,60000,60000,60000)-250000-22552.79384
=-250000+NPV(0.1,60000,60000,60000,60000,60000)-22552.79384

If the project also required paying 250,000 today (period 0) to get started, that outlay is not one of the values inside NPV, because NPV would wrongly discount it by one period. It is added or subtracted outside the function instead: =NPV(...) - 250000. With the 250,000 outlay, this project’s net present value is -22552.79384, negative, meaning it does not clear a 10 percent hurdle.

IRR: the rate that makes NPV zero

IRR(values, [guess]) finds the discount rate at which the net present value of a series of cash flows is exactly zero: the project’s own effective rate of return. For the same 250,000 outlay followed by five years of 60,000:

A1:A6 hold -250000, 60000, 60000, 60000, 60000, 60000; C1 = IRR(A1:A6)
ABC
1-2500006.40%

6.40% is below the 10 percent used above, which is consistent with the negative NPV found there: a project’s IRR being below your required rate and its NPV at that rate being negative are the same fact stated two ways.

Cash flows that change sign more than once can have more than one mathematically valid IRR. -100, 230, -132 changes sign twice (down, up, down), and asking with two different starting guesses finds two different answers, both technically correct:

A1:A3 hold -100, 230, -132; C1 = IRR(A1:A3), C2 = IRR(A1:A3, 0.3) with a different starting guess
ABC
1-10010.00%
223020.00%

When cash flows change sign only once (an outlay, then only receipts, as in every other example here), IRR has one answer and this problem does not arise.

MIRR: a more realistic version of IRR

IRR quietly assumes that money coming back out of the project is reinvested at the same rate as the project’s own return, which is optimistic. MIRR(values, finance_rate, reinvest_rate) uses two separate, more realistic rates: what it costs to borrow the money, and what you could actually earn by reinvesting the proceeds:

The same cash flows, financed at 8 percent and reinvested at 10 percent: C1 = MIRR(A1:A6, 0.08, 0.1)
ABC
1-2500007.94%

7.94% is a more conservative figure than the plain IRR above, and it is generally considered the more trustworthy number when comparing projects.

IPMT and PPMT: splitting one payment

Every loan payment is part interest, part principal (the amount that actually reduces what you owe). IPMT(rate, per, nper, pv) and PPMT(rate, per, nper, pv) split a single numbered payment, per, into its two pieces. On the 200,000 loan from before, the first and the last (36th) monthly payment:

Splitting payment 1 and payment 36 of the 36-month loan
FormulaExcel showsWhy
=IPMT(0.10/12,1,36,200000)-1666.666667almost all interest, because the full 200,000 is still owed
=PPMT(0.10/12,1,36,200000)-4786.770772only a small part of the first payment reduces the loan
=IPMT(0.10/12,1,36,200000)+PPMT(0.10/12,1,36,200000)-6453.437439the two pieces add up to the whole payment (PMT from earlier)
=IPMT(0.10/12,36,36,200000)-53.33419371almost no interest left by the last payment, since very little is still owed
=PPMT(0.10/12,36,36,200000)-6400.103245almost the whole final payment reduces the loan

This is the same pattern behind every amortising loan: the interest share shrinks and the principal share grows with every payment, even though the total payment stays the same.

CUMIPMT and CUMPRINC: totals over several payments

CUMIPMT(rate, nper, pv, start_period, end_period, type) and CUMPRINC(...) add up interest or principal over a range of payments instead of just one, which is what a “total interest in year one” question needs. Over the whole 36 months of the same loan:

Interest and principal over every one of the 36 payments
FormulaExcel showsWhy
=CUMIPMT(0.10/12,36,200000,1,36,0)-32323.7478total interest paid across the whole loan (matches the PMT total-interest figure earlier)
=CUMPRINC(0.10/12,36,200000,1,36,0)-200000total principal repaid, which is exactly the original loan amount
=CUMIPMT(0.10/12,36,200000,1,36,0)+CUMPRINC(0.10/12,36,200000,1,36,0)-232323.7478interest plus principal equals every payment made, in total

EFFECT and NOMINAL: the true annual rate

A loan or a deposit quoted as “12 percent a year, compounded monthly” does not actually earn 12 percent over a year, because interest is added every month and then itself earns interest. EFFECT(nominal_rate, periods_per_year) converts the quoted (nominal) rate into the true annual rate, and NOMINAL does the reverse:

12 percent compounded monthly
FormulaExcel showsWhy
=EFFECT(0.12,12)0.12682503the true annual rate, higher than the quoted 12 percent
=NOMINAL(0.1268,12)0.119977565going the other way: what nominal rate gives an effective rate of 12.68 percent
=(1+0.12/12)^12-10.12682503the same effective rate, worked out from first principles, to confirm EFFECT is doing exactly this

Depreciation: SLN, DB, DDB and SYD

These functions spread the cost of an asset over its useful life. An asset bought for 180,000, expected to be worth 10,000 (its salvage value) after 5 years:

Yearly depreciation under four methods (asset cost 180,000, salvage 10,000, life 5 years)
ABCDE
1YearSLNDBDDBSYD
2134000790207200056667
3234000443304320045333
4334000248692592034000
5434000139521555222667
65340007827933111333
What each depreciation method does
MethodIdea
SLN (straight-line)the same amount every year: (cost – salvage) / life
DB (declining balance)a fixed percentage of the value remaining each year, so it starts high and falls
DDB (double declining balance)like DB but at twice the straight-line rate, the most aggressive of the four early on
SYD (sum-of-years digits)a shrinking fraction of (cost – salvage) each year, between SLN and DDB in how front-loaded it is

SLN spreads the value evenly and is the easiest to explain to non-finance readers. The other three are “accelerated” methods that claim more depreciation in the early years, which some tax rules require or allow. Note that DDB and DB do not automatically stop exactly at the salvage value in every year; DDB in particular can be told to switch to straight-line partway through in more advanced setups, and simply summing the five DDB figures here gives {dep_total.result_of(dep_total.pairs()[0][0])}, close to but not necessarily exactly 170,000 (180,000 minus the 10,000 salvage).

XNPV and XIRR: when payments are not evenly spaced

NPV and IRR assume the cash flows are spaced exactly one period apart. When they are not, for example an outlay today, followed by receipts after 3, 8 and 12 months, XNPV(rate, values, dates) and XIRR(values, dates) use the actual dates instead:

An outlay on 1 Jan 2024 followed by three receipts on real dates through 2025
ABCD
12024-01-01-10000012269.14
22024-04-0130000-2103.68
32024-09-01400000.3019
42025-01-0150000

Using the ordinary NPV here (adding the day-1 outlay outside it, exactly as before) gives a different, wrong figure (-2103.68) because it assumes evenly spaced yearly gaps that this cash flow does not actually have. Whenever payment dates are irregular, XNPV and XIRR are the correct tools, not NPV and IRR.

Common mistakes

Mistake 1: getting the sign wrong

A payment typed as positive when it should be negative flips the sign of the whole result. If an answer for a loan payment comes out positive, check the sign of the loan amount you gave.

Mistake 2: mismatched rate and period

An annual rate used directly with a monthly number of periods overstates the interest hugely. Convert both to the same unit, as in every example above.

Mistake 3: putting today’s outlay inside NPV

NPV discounts its first value by one period, so an amount that happens today should be added outside the function, not passed as the first argument.

Mistake 4: trusting a single IRR blindly

If the cash flows change sign more than once, check with a different guess argument, or use MIRR, which does not have this ambiguity.

Mistake 5: using NPV and IRR on irregular dates

Both assume even spacing. Use XNPV and XIRR whenever the gaps between cash flows are not all the same length.

Cheat sheet

Financial functions cheat sheet
TaskFormula
Loan payment=PMT(rate, nper, pv)
Payment at the start of the period=PMT(rate, nper, pv, 0, 1)
Value of regular savings=FV(rate, nper, pmt)
Present value of even future cash flows=NPV(rate, value1, value2, …)
Add today's outlay to an NPV=NPV(rate, …) – outlay (outside the function)
A project's own rate of return=IRR(values)
A more realistic rate of return=MIRR(values, finance_rate, reinvest_rate)
Interest or principal in one payment=IPMT(rate, per, nper, pv) / PPMT(…)
Interest or principal over several payments=CUMIPMT(rate, nper, pv, start, end, type) / CUMPRINC(…)
True annual rate from a quoted rate=EFFECT(nominal_rate, periods_per_year)
Present value with real dates=XNPV(rate, values, dates)
Rate of return with real dates=XIRR(values, dates)

Try it yourself

Work out each answer first, then open the solution.

1. A loan of 200,000 at 10 percent annual interest is repaid monthly over 3 years. What is the monthly payment, and the total interest paid?

Show solution
PMT and total interest
FormulaExcel shows
=ROUND(PMT(0.10/12,36,200000),2)-6453.44
=ROUND(PMT(0.10/12,36,200000,0,1),2)-6400.1
=ROUND(PMT(0.10/12,36,200000)*36,2)-232323.75
=ROUND(-PMT(0.10/12,36,200000)*36-200000,2)32323.75

The payment is negative because it is money going out; the total interest is the total of all payments minus the original loan.

2. A project needs 250,000 today and returns 60,000 a year for 5 years. Is it worth doing at a 10 percent required return?

Show solution

No. =NPV(0.1,60000,60000,60000,60000,60000)-250000 gives -22552.79384, a negative net present value, and its IRR (6.40%) is below the required 10 percent.

3. Why can a cash flow of -100, 230, -132 have two different IRR answers?

Show solution

Because it changes sign twice (negative, then positive, then negative again). IRR looks for a rate that makes the net present value zero, and with more than one sign change, more than one rate can satisfy that.

4. Why would XNPV give a different answer from NPV for the same cash flows?

Show solution

NPV assumes the payments are exactly one period apart. If the real dates are not evenly spaced, XNPV, which uses the actual dates, gives the accurate figure and NPV does not.

Frequently asked questions

Why is my PMT result negative?

PMT follows the convention that money paid out is negative. If the loan amount (pv) is entered as positive, the payment comes out negative, which is correct: it is money leaving your account.

What is the difference between NPV and IRR?

NPV converts a series of future cash flows into a single value in today’s money, at a rate you choose. IRR instead finds the rate that would make that NPV exactly zero, without you choosing a rate.

Why doesn’t NPV include today’s cash flow?

NPV assumes its first argument is one period in the future. An amount that happens today should be added or subtracted outside the NPV function, not included as its first value.

Can IRR have more than one answer?

Yes, if the cash flows change sign more than once. Try IRR with a different starting guess to see if another valid rate exists, or use MIRR, which avoids the ambiguity.

What is the difference between IRR and MIRR?

IRR assumes money released by the project is reinvested at the project’s own rate of return. MIRR lets you specify a separate, more realistic financing rate and reinvestment rate.

What is the difference between EFFECT and NOMINAL?

EFFECT converts a quoted (nominal) interest rate into the true annual rate once compounding is accounted for. NOMINAL does the reverse, finding the quoted rate that produces a given effective rate.

Which depreciation method should I use?

SLN spreads the cost evenly and is simplest to explain. DB, DDB and SYD are accelerated methods that assign more depreciation to the early years; which one applies is usually set by accounting or tax rules, not a free choice.

When should I use XNPV and XIRR instead of NPV and IRR?

Whenever the cash flows are not spaced at exactly equal intervals. XNPV and XIRR use the real calendar dates; NPV and IRR assume even, regular periods.

Test yourself

Timed questions on Financial Functions, with an explanation for every answer.

Take the Quiz
Upskly AI Team
Learning made simple
Scroll to Top