The PMT Function Explained
Excel's PMT function is the standard tool for mortgage payment calculations. It uses the formula PMT(rate, nper, pv) to return a fixed monthly payment amount. The rate is your interest rate per period, nper is the total number of payment periods, and pv is the present value or principal amount. Put simply, you give Excel three numbers and it returns a negative value representing your monthly payment. The negative sign indicates cash outflow from your perspective. This is by design and you can flip it with a negative sign in front of the function if you prefer positive numbers. I've been building loan spreadsheets since before Excel was even called Excel. The PMT function has stayed roughly the same across versions, but the way people mess it up hasn't changed either.
Formula To Calculate Mortgage Payments In Excel
The basic structure looks like this: =PMT(B2/12, B3*12, B1). Here's what each cell typically holds. Cell B1 is the loan amount. Cell B2 is the annual interest rate. Cell B3 is the loan term in years. The /12 converts the annual rate to a monthly rate and the *12 converts years to months. This alignment between rate periods and payment periods is the single most important detail. Mismatch them and your payment number will be wrong by a factor that makes no obvious sense. I recently built a mortgage comparison tool for a client who was refinancing. The PMT calculation came back at $1,482 per month. When I traced the numbers, the annual rate was entered as 6.5 in cell B2 instead of 0.065. Excel treated it as 650% annually. The payment spiked to over $9,000. A four-second fix once I spotted it, but that's exactly the kind of input error that happens constantly in real-world spreadsheets. Always format your rate cells as percentages and verify the decimal placement before relying on any output. Another variation you'll encounter involves the type argument. The full formula is =PMT(rate, nper, pv, [fv], [type]). The type parameter is optional and defaults to 0, meaning payments are made at the end of each period. Set it to 1 and payments shift to the beginning. For standard residential mortgages this rarely matters because amortization schedules assume end-of-period payments. But if you're modeling a lease or a loan with unusual terms, leaving this blank when you shouldn't will give you a slightly different result. The difference is one period of interest, which compounds across the full loan term.
Sometimes you need to account for upfront fees rolled into the loan. Say you're borrowing $250,000 but the lender finances $5,000 in closing costs into the principal. Your pv becomes $255,000. The payment increases by roughly $15 per month at current rates. This is straightforward but easy to forget when you're copying a template and forgetting to update the loan amount. I've seen people use the original $250,000 figure and then wonder why their actual payment is higher than the spreadsheet predicted. Here's a counter-intuitive point about the PMT function that trips up a lot of people. It assumes a fixed rate throughout the entire loan term. If you're calculating payments for an adjustable-rate mortgage, the PMT function gives you a static number. That number is useful for an initial payment estimate but completely irrelevant once the rate resets. The first few years of an ARM are a trap if you model them with PMT alone. You need to build separate calculations for each adjustment period or use a more complex amortization schedule that recalculates the payment at each reset date. Another nuance most guides skip: the PMT function returns a payment for a fully amortizing loan. It does not account for balloon payments, interest-only periods, or graduated payment mortgages. If your loan has any of those features, PMT alone will understate or overstate your actual obligation. I once modeled a USDA loan with an interest-only period for the first five years. Using PMT on the full amount gave me a monthly payment of $1,847. The actual interest-only payment was closer to $1,100. The difference mattered enormously for debt-to-income ratio calculations. Always verify what type of loan structure you're actually dealing with before trusting the PMT output.
Get the Full Details

Setting Up Your Spreadsheet
Layout matters more than the formula itself. A clean setup prevents errors and makes debugging fast. I use this structure: loan amount in B1, annual rate in B2, term in years in B3, monthly payment formula in B5. Sometimes I add a cell for the total interest paid over the life of the loan using =B5*B3*12-B1. This gives you immediate visibility into the cost of borrowing beyond just the monthly figure. When I hand off these spreadsheets to clients, they often ask me to include a sensitivity table showing how the payment changes with different rates. Data Tables are the fastest way to do this without writing multiple formulas. Set up a column of rates from 3% to 8%, then use the Data Table feature with the PMT function as the reference. Excel fills in the corresponding payments automatically. This usually takes about five minutes to build and saves hours of manual recalculation when rates shift. One practical workaround I rely on frequently: when dealing with jumbo loans or non-standard terms where PMT doesn't cover everything, I combine it with the IPMT and PPMT functions. IPMT breaks out the interest portion of each payment and PPMT breaks out the principal portion. This is essential when you need to show borrowers exactly how much of their payment goes toward interest versus equity in year one. The numbers surprise most people. On a $400,000 loan at 6.5% for 30 years, the first month's payment of roughly $2,528 is mostly interest—about $2,167 of it. That's the reality of front-loaded amortization and it's worth showing explicitly in your spreadsheet rather than letting borrowers guess.
There are situations where PMT simply cannot handle the problem. Private loans with irregular payment schedules, construction loans with interest reserves, and loans with variable teaser rates that change every quarter all fall outside PMT's capabilities. In those cases you need to build a custom amortization table with conditional logic or use Excel's Goal Seek to reverse-engineer payment amounts. It takes more time upfront but avoids the false precision that comes from forcing a standard formula onto a non-standard product. I've seen analysts produce misleadingly accurate-looking numbers by applying PMT to products it wasn't designed for. The output looked professional. The underlying math was wrong. If you need a downloadable template with this setup already configured, the file includes the PMT formula, a data table for rate sensitivity, and IPMT/PPMT breakdowns for the first year of the loan. The cells are labeled clearly so you can swap in your own numbers without hunting for where each input belongs. The formulas are hardcoded to reference the labeled input cells, which eliminates the common error of mismatched ranges when someone copies the structure into a new workbook.