Products
PDFbatEdit, convert and sign PDFs
DocsBatWrite and edit documents
FormsBatForms, surveys and payments
BooksBatInvoices and accounting
Buildan.appAI website and app builder
SlidesBatAI presentations and memos
SheetsBatSpreadsheets with every formula
DriveOne drive for every app
OfficeBats
Pricing Blog Security About
Create your free accountSign in

Make a loan amortization schedule with the PMT function

Build a month by month loan schedule with PMT, IPMT and PPMT, then see how extra payments change your payoff date and interest. Free template included.

SheetsBat6 min readBy the OfficeBats team

An amortization schedule shows every payment on a loan: how much goes to interest, how much pays down the balance, and what you still owe afterwards. It turns a vague "about $550 a month for five years" into a plan you can test. What if you pay $100 more each month? When would the loan be gone, and how much interest would you save?

This guide builds a schedule with the PMT function in SheetsBat, explains each formula, and shows how to model extra payments. If you just want the result, the free Loan amortization schedule template does everything below in one click.

The formulas you need

Three financial functions do the heavy lifting. All of them take the rate per period, the number of periods and the loan amount.

FunctionWhat it returns
PMT(rate, nper, pv)The fixed payment per period
IPMT(rate, per, nper, pv)The interest part of one specific payment
PPMT(rate, per, nper, pv)The principal part of one specific payment

Two details catch almost everyone:

  1. Use the monthly rate and the number of months. For monthly payments on a 6.9% loan over 5 years, the rate is 6.9%/12 and the number of periods is 5*12, or 60.
  2. Mind the sign. Spreadsheet finance functions treat money you receive as positive and money you pay as negative. Pass the loan amount as a negative number, or put a minus sign in front of the function, to get a positive payment.

Step 1: set up the inputs

Start a new spreadsheet, or open sheetsbat.com/new to try it without an account. Put your inputs in one block so every formula can point at them:

CellLabelExample
C4Loan amount28,000
C5Annual interest rate6.90%
C6Term (years)5
C7First payment date12/1/2026
C8Extra each month0

Giving these cells names makes the formulas far easier to read. Select C4, open the menu arrow next to the Name box (left of the formula bar), choose Name this range and call it LoanAmount. Do the same for AnnualRate, TermYears, FirstPayment and ExtraPayment. The template already uses these names.

Step 2: calculate the monthly payment with PMT

In the cell for the monthly payment (H4 in the template), enter:

=PMT(AnnualRate/12, TermYears*12, -LoanAmount)

For a $28,000 loan at 6.9% over five years, the result is $553.11 a month. Name this cell MonthlyPayment.

A SheetsBat loan schedule with the PMT function hint shown while a formula is typed
SheetsBat shows the PMT arguments as you type, so you can see which value goes where.

The template also shows the split of the very first payment, which is a good sanity check:

=-IPMT(AnnualRate/12, 1, TermYears*12, LoanAmount)
=-PPMT(AnnualRate/12, 1, TermYears*12, LoanAmount)

These return $161.00 of interest and $392.11 of principal. Together they add up to the $553.11 payment.

Step 3: build the schedule rows

Below the inputs, add a header row with these columns: No., Date, Balance, Payment, Extra, Interest, Principal, End balance and Total interest. Then fill the first payment row (row 13 in the template):

ColumnFormula in the first rowWhat it does
No.1Payment number
Date=IF(D13>0, EDATE(FirstPayment, A13-1), "")Moves one month forward per payment
Balance=LoanAmountWhat you owe before this payment
Payment=IF(C13<=0, 0, MIN(MonthlyPayment, C13*(1+AnnualRate/12)))The regular payment, smaller on the final one
Extra=IF(C13<=0, 0, MAX(0, MIN(ExtraPayment, C13*(1+AnnualRate/12)-D13)))Any extra principal you pay
Interest=C13*AnnualRate/12One month of interest on the balance
Principal=D13+E13-F13Everything that is not interest
End balance=ROUND(MAX(0, C13-G13), 2)What you owe after this payment
Total interest=IF(D13>0, SUM(F$13:F13), 0)Running total of interest paid

In the second row, change only two things: the number becomes =A13+1 and the starting balance becomes the previous end balance, =H13. Then select the second row and drag the fill handle down until you have one row per month. For a five year loan that is 60 rows; the template has 120 so it covers terms of up to ten years.

The MIN and MAX checks matter. They stop the final payment from overshooting the balance, and they turn every row after the payoff into zeros instead of negative numbers.

Step 4: add the summary

A few formulas above the schedule answer the questions people actually ask:

Payments made:    =COUNTIF($D$13:$D$132, ">0")
Payoff date:      =IFERROR(INDEX($B$13:$B$132, COUNTIF($D$13:$D$132, ">0")), "")
Total interest:   =SUM($F$13:$F$132)
Interest saved:   =MAX(0, MonthlyPayment*TermYears*12-LoanAmount-H7)

The last one compares what you would pay in interest with no extra payments against what the schedule actually charges. H7 is the cell with the total interest.

A SheetsBat loan amortization schedule with the monthly payment cell selected and its PMT formula in the formula bar
The finished schedule: inputs in yellow, the PMT result in H4, a summary block and one row per payment, with a chart of where each payment goes.

Step 5: test extra payments

Now the useful part. Change Extra each month and watch the summary. With the sample loan:

Extra each monthPaymentsPayoff dateTotal interest
$060Nov 1, 2031$5,186.79
$10050Jan 1, 2031$4,242.04
$30037Dec 1, 2029$3,119.72

With $100 extra the template reports $944.77 of interest saved, and with $300 extra it reports $2,067.09. These figures come straight from the template with its sample inputs. Your own numbers will differ, and your lender's rules on rounding and extra payments always win, but the shape is the same for any fixed rate loan: money paid early cuts interest because every later month starts from a smaller balance.

The same SheetsBat loan schedule with 300 dollars extra each month, showing an earlier payoff date and the interest saved
With $300 extra a month, the sample loan is paid off 23 months early and saves just over $2,000 in interest.

For one off payments, such as a bonus or a tax refund, type a number straight over a single cell in the Extra column. Only that month changes, and every row after it recalculates.

Use the template instead

Everything above is ready made in the free Loan amortization schedule template, including the named inputs, the schedule, the summary and the chart. Open sheetsbat.com/templates, choose it, and replace the yellow cells with your loan. It opens as a copy in your account, so you can change anything.

For a home loan, the Mortgage calculator template is a better fit. It adds the down payment, property tax, home insurance, PMI and HOA dues, and builds a yearly schedule with CUMPRINC and CUMIPMT for terms such as 30 years.

Check your work

  • The payment is negative. Put the minus sign in front of the loan amount, as in -LoanAmount.
  • The payment is far too high. You probably used the annual rate. Divide by 12.
  • The balance never reaches zero. The number of rows is shorter than the term, or a row points at the wrong previous balance.
  • Dates show as numbers. Format the Date column as a date.

If you would rather not write any of it, SheetsBat AI can build a table or write a formula from a plain description, for example "add a column with the share of each payment that goes to interest". AI features need a free account and use credits from your OfficeBats wallet.

When the schedule is ready, use File, then Download, to save it as Excel, or Save to Drive to keep a copy in the OfficeBats Drive next to your other files. To share it with a partner or an adviser, see how to co-edit a spreadsheet in real time. For more formula practice on real data, read XLOOKUP vs VLOOKUP with examples, and if the loan is for a business, tracking expenses as a freelancer covers where the interest goes in your books.

Frequently asked questions

What is the formula for a monthly loan payment?

Use PMT with the monthly rate, the number of months and the loan amount as a negative number: =PMT(annual rate/12, years*12, -loan amount). For $28,000 at 6.9% over 5 years it returns $553.11.

Why does PMT return a negative number?

Spreadsheet finance functions treat money you pay out as negative. Enter the loan amount as a negative number, or put a minus sign in front of PMT, to show the payment as a positive amount.

How do I show extra payments in an amortization schedule?

Add an Extra column, include it in the principal paid each month, and cap the final payment so the balance cannot go below zero. The free SheetsBat template has an Extra each month input and lets you type one off extra payments into any row.

What is the difference between IPMT and PPMT?

IPMT returns the interest part of a specific payment and PPMT returns the principal part. Added together for the same payment number, they equal the PMT result.

Can I download the schedule as an Excel file?

Yes. In SheetsBat choose File, then Download, then Excel workbook (.xlsx). The formulas, named ranges and formatting come with it.