Chapter 14

Building loan formulas

In this chapter, you will:

  • Understand the concept of the time value of money

  • Calculate loan payments, interest costs, and cumulative principal and interest payments

  • Building fixed-rate and dynamic loan amortization schedules

  • Determine the term of a loan given the interest rate, the regular payment, and the loan principal amount

  • Calculate the interest rate required for a loan given the loan term, the loan payment, and the loan principal

  • Figure out how much you can borrow given the interest rate, loan payment, and loan term

Excel is loaded with financial features that give you powerful tools for building worksheets that manage both business and personal finances. You can use these functions to calculate such things as the monthly payment on a loan, the future value of an annuity, the internal rate of return of an investment, or the yearly depreciation of an asset. The final three chapters of this book cover these and many other uses for Excel’s financial formulas.

This chapter covers formulas and functions related to loans and mortgages. You’ll learn about the time value of money; how to calculate loan payments, loan periods, the principal and interest components of a payment, and the interest rate; and how to build an amortization schedule.

Understanding the time value of money

The time value of money means that a dollar in hand now is worth more than a dollar promised at some future date. This seemingly simple idea underlies not only the concepts and techniques you learn in this chapter but also the investment formulas in Chapter 5, “Working with investment formulas,” and the discount formulas in Chapter 16, “Building discount formulas.” A dollar now is worth more than a dollar promised in the future for two reasons:

  • You can invest a dollar now. If you earn a positive return, the sum of the dollar and interest earned will be worth more than the future dollar.

  • You might never see the future dollar. Due to bankruptcy, cash-flow problems, or any number of other reasons, there’s a risk that the company or person promising you the future dollar might not be able to deliver it.

These two factors—interest and risk—are at the heart of most financial formulas and models. More realistically, these factors mean that you’re mostly comparing the benefits of investing a dollar now versus getting a dollar in the future plus some risk premium—an amount that compensates for the risk you’re taking in waiting for the dollar to be delivered.

You compare these by looking at the present value (the amount something is worth now) and the future value (the amount something is worth in the future). They’re related as follows:

  1. Future value = Present value + Interest

  2. Present value = Future value – discount

Much financial analysis boils down to comparing these formulas. If the present value in A is greater than the present value in B, A is the better investment; conversely, if the future value in B is better than the future value in A, B is the better investment.

Most of the formulas you’ll work with over the next three chapters involve these three factors—the present value, the future value, and the interest rate (or the discount rate)—plus two related factors: the periods, which are the number of payments or deposits over the term of the loan or investment, and the payment, which is the amount of money paid out or invested in each period.

When building your financial formulas, you need to ask yourself the following questions:

  • Who or what is the subject of the formula? On a mortgage analysis, for example, are you performing the analysis on behalf of yourself or the bank?

  • Which way is the money flowing with respect to the subject? For the present value, future value, and payment, enter money that the subject receives as a positive quantity, and enter money that the subject pays out as a negative quantity. For example, if you’re the subject of a mortgage analysis, the loan principal (the present value) is a positive number because it’s money that you receive from the bank; the payment and the remaining principal (the future value) are negative because they’re amounts that you pay to the bank.

  • What is the time unit? The underlying unit of both the interest rate and the period must be the same. For example, if you’re working with the annual interest rate, you must express the period in years. Similarly, if you’re working with monthly periods, you must use a monthly interest rate.

  • When are the payments made? Excel differentiates between payments made at the end of each period and those made at the beginning.

Calculating a loan payment

When negotiating a loan to purchase equipment or a mortgage for your house, the first concern that comes up is almost always the size of the payment you’ll need to make each period. This is just basic cash-flow management because the monthly (or whatever) payment must fit within your budget.

To return the periodic payment for a loan, use the PMT() function:

PMT(rate, nper, pv[, fv][, type])

rate

The fixed rate of interest over the term of the loan.

nper

The number of payments over the term of the loan.

pv

The loan principal.

fv

The future value of the loan.

type

The type of payment. Use 0 (the default) for end-of-period payments; use 1 for beginning-of-period payments.

For example, the following formula returns the monthly payment of a $10,000 loan with an annual interest rate of 6% (0.5% per month) over five years (60 months):

=PMT(0.005, 60, 10000)

Loan payment analysis

Financial formulas rarely use hard-coded function arguments. Instead, you almost always are better off placing the argument values in separate cells and then referring to those cells in the formula. This enables you to do a rudimentary form of loan analysis by plugging in different argument values and seeing the effects they have on the formula result.

Figure 14-1 shows an example of a worksheet set up to perform such an analysis. The PMT() formula is in cell B7, and the function arguments are stored in B4 (rate), B5 (nper), and B6 (pv).

The figure shows an Excel worksheet with cell B7's formula using the PMT() function to calculate a monthly loan payment.
FIGURE 14-1 To perform a simple loan analysis, place the PMT() function arguments in separate cells and then change those cell values to see the effect on the formula.

Note two things about the formula and result in cell B7:

  • The interest rate is an annual value, and the periods are expressed in years, so to get a monthly payment, you must convert these values to their monthly equivalents. This means that the interest rate is divided by 12 and the number of periods is multiplied by 12:

    =PMT(B4 / 12, B5 * 12, B6)
  • The PMT() function returns a negative value, which is correct because this worksheet is set up from the point of view of the person receiving the loan, and the payment is money that flows away from that person.

Working with a balloon loan

Many loans are set up so that the payments take care of only a portion of the principal, with the remainder due as an end-of-loan balloon payment. This balloon payment is the future value of the loan, so you need to factor it into the PMT() function as the fv argument.

You might think that the pv argument should be the partial principal—that is, the original loan principal minus the balloon amount. This seems right because the loan term is designed to pay off the partial principal. That’s not the case, however. In a balloon loan, you also pay interest on the balloon part of the principal. That is, each payment in a balloon loan has three components:

  • A paydown of the partial principal

  • Interest on the partial principal

  • Interest on the balloon portion of the principal

Therefore, the PMT() function’s pv argument must be the entire principal, with the balloon portion as the (negative) fv argument.

For example, suppose that the loan from the previous section has a $3,000 balloon payment. Figure 14-2 shows a new worksheet that adds the balloon payment to the model and then calculates the payment using the following revised formula:

=PMT(B2 / 12, B3 * 12, B4, -B5)
The figure shows an Excel worksheet with cell B6's formula using the PMT() function to calculate a monthly loan payment, including an end-of-loan balloon payment.
FIGURE 14-2 To allow for an end-of-loan balloon payment, add the fv argument to the PMT() function.

Note that the balloon payment is entered into the worksheet as a positive value (because it represents, in this model, money going out), so the negation operation is used in the formula (-B5) to convert it to a negative value.

Calculating interest costs, part I

When you know the payment, you can calculate the total interest costs of a loan by first figuring the total of all the payments and then subtracting the principal. The remainder is the total interest paid over the life of the loan.

Figure 14-3 shows a worksheet that performs this calculation. In column B, cell B7 contains the total amount paid (the monthly payment multiplied by the number of months), and cell B8 takes the difference. Column C performs the same calculations on the loan with a balloon payment. As you can see, in the balloon payment scenario, the payment total is about $2,600 smaller, but the total interest is about $400 higher.

The figure shows an Excel worksheet with cell B8's formula returning the total loan interest costs by calculating the difference between the total loan payments and the loan principal.
FIGURE 14-3 The total interest paid out over the life of a loan is the difference between the total of all the loan payments and the loan principal.

Calculating the principal and interest

Any loan payment has two components: principal repayment and interest charges. Interest charges are almost always front loaded, which means that the interest component is highest at the beginning of the loan and gradually decreases with each payment. This means, conversely, that the principal component increases gradually with each payment.

To calculate the principal and interest components of a loan payment, use the PPMT() and IPMT() functions, respectively:

PPMT(rate, per, nper, pv[, fv][, type])
IPMT(rate, per, nper, pv[, fv][, type])

rate

The fixed rate of interest over the term of the loan.

per

The number of the payment period (where the first payment is 1 and the last payment is the same as nper).

nper

The number of payments over the term of the loan.

pv

The loan principal.

fv

The future value of the loan. (The default is 0.)

type

The type of payment. Use 0 (the default) for end-of-period payments; use 1 for beginning-of-period payments.

Figure 14-4 shows a worksheet that applies these functions to the loan. The table shows the principal (column F) and interest (column G) components of the loan for the first 10 periods and for the final period. Note that with each period, the principal portion increases and the interest portion decreases. However, the total remains the same (as confirmed by the Total column), which is as it should be because the payment remains constant through the life of the loan.

The figure shows an Excel worksheet with cell F2's formula calculating the principal paid in the first period of a loan using the PPMT() function.
FIGURE 14-4 This worksheet uses the PPMT() and IPMT() functions to break out the principal and interest components of a loan payment.

Calculating interest costs, part II

Another way to calculate the total interest paid on a loan is to sum the various IPMT() values over the life of the loan. You can do this by using an array formula that generates the values of the IPMT() function’s per argument. Here’s the general array formula:

=IPMT(rate, ROW(INDIRECT("A1:A" & nper)), nper, pv[, fv][, type])

The array of per values is generated by the following expression:

ROW(INDIRECT("A1:A" & nper))

The INDIRECT() function converts a string range reference into an actual range reference, and then the ROW() function returns the row numbers from that range. By starting the range at A1, this expression generates integer values from 1 to nper, which covers the life of the loan.

For example, here’s an array formula that calculates the total interest cost of the loan model shown in Figure 14-4:

=SUM(IPMT(B2 / 12, ROW(INDIRECT("A1:A" & B3 * 12)), B3 * 12, B4))

Image Caution

The array formula doesn’t work if the loan includes a balloon payment.

Calculating cumulative principal and interest

Knowing how much principal and interest you pay each period is useful, but it’s usually handier to know how much principal or interest you’ve paid in total up to a given period. For example, if you sign up for a mortgage with a five-year term, how much principal will you have paid off by the end of the term? Similarly, a business might need to know the total interest payments a loan requires in the first year so that it can factor the result into its expense budgeting.

You could solve these kinds of problems by building a model that uses the PPMT() and IPMT() functions over the time frame you’re dealing with and then summing the results. However, Excel has two functions that offer a more direct route:

CUMPRINC(rate, nper, pv, start_period, end_period, type)
CUMIPMT(rate, nper, pv, start_period, end_period, type)

rate

The fixed rate of interest over the term of the loan.

nper

The number of payments over the term of the loan.

pv

The loan principal.

start_period

The first period to include in the calculation.

end_period

The last period to include in the calculation.

type

The type of payment. Use 0 for end-of-period payments; use 1 for beginning-of-period payments.

Image Caution

In both CUMPRINC() and CUMIPMT(), all of the arguments are required. If you omit the type argument (which is optional in most other financial functions), Excel returns the #N/A error.

The main difference between CUMPRINC() and CUMIPMT() and PPMT() and IPMT() is the start_period and end_period arguments. For example, to find the cumulative principal or interest in the first year of a loan, you set start_period to 1 and end_period to 12; for the second year, you set start_period to 13 and end_period to 24. Here are a couple of formulas that calculate these values for any year, assuming that the year value (1, 2, and so on) is in cell D2:

start_period: (D2 - 1) * 12 + 1
end_period: D2 * 12

Figure 14-5 shows a worksheet that returns the cumulative principal and interest paid in each year of a loan, as well as the total principal and interest for all five years.

The figure shows an Excel worksheet with cell E2's formula calculating the cumulative principal paid in the first year of a loan using the CUMPRINC() function.
FIGURE 14-5 This worksheet uses the CUMPRINC() and CUMIPMT() functions to return the cumulative principal and interest for each year of a loan.

Image Note

The CUMIPMT() function gives you an easier way to calculate the total interest costs for a loan. Just set start_period to 1 and end_period to the number of periods (the value of nper).

Image Caution

Although the CUMPRINC() function works as advertised if the loan includes a balloon payment, the CUMIPMT() function does not.

Building a loan amortization schedule

A loan amortization schedule is a table that shows a sequence of calculations over the life of a loan. For each period, the schedule shows figures such as the payment, the principal and interest components of the payment, the cumulative principal and interest, and the remaining principal. The next few sections take you through various amortization schedules designed for different scenarios.

Building a fixed-rate amortization schedule

The simplest amortization schedule is just a straightforward application of three of the payment functions you’ve seen so far: PMT(), PPMT(), and IPMT(). Figure 14-6 shows the result, which has the following features:

  • The values for the four main arguments of the payment functions are stored in the range B2:B5.

  • The amortization schedule is shown in A9:G18. Column A contains the period, and subsequent columns calculate the payment (B), principal component (C), interest component (D), cumulative principal (E), and cumulative interest (F). The Remaining Principal column (G) shows the original principal amount (B4) minus the cumulative principal for each period.

  • The cumulative principal and interest values are calculated by adding the running totals of the principal and interest components. You need to do this because the CUMPRINC() and CUMIPMT() functions don’t work with balloon payments. If you never use balloon payments, you can convert the worksheet to use these functions.

  • This schedule uses a yearly time frame, so no adjustments are applied to the rate and nper arguments.

The figure shows an Excel worksheet with the first ten periods of a fixed-rate loan amortization schedule.
FIGURE 14-6 This worksheet shows a basic amortization schedule for a fixed-rate loan.

The amortization schedule in Figure 14-6 assumes that the interest rate remains fixed throughout the life of the loan. To learn how to build an amortization schedule for a variable-rate loan, see “Building a variable-rate mortgage amortization schedule,” later in this chapter.

Building a dynamic amortization schedule

The problem with the amortization schedule in Figure 14-6 is that it’s static. It works well if you change the interest rate or the principal, but it doesn’t handle other types of changes very well:

  • If you want to use a different time basis—for example, monthly instead of annual—you need to edit the initial formulas for payment, principal, interest, cumulative principal, and cumulative interest, and then refill the schedule.

  • If you want to use a different number of periods, you need to either extend the schedule (for a longer term) or shorten the schedule and delete the extraneous periods (for a shorter term).

Both operations are tedious and time-consuming enough that they greatly reduce the value of the amortization schedule. To make the schedule truly useful, you need to reconfigure it so that the schedule formulas and the schedule itself adjust automatically to any change in the time basis or the length of the term.

Figure 14-7 shows a worksheet that implements such a dynamic amortization schedule.

The figure shows an Excel worksheet with the first ten periods of a dynamic loan amortization schedule.
FIGURE 14-7 This worksheet uses a dynamic amortization schedule that adjusts automatically to changing the time basis or the length of the term.

Here’s a summary of the changes you make to create this schedule’s dynamic behavior:

  • To change the time basis, select a value—Annual, Semi-Annual, Quarterly, or Monthly—in the Time Basis drop-down menu. These values come from the text literals in the range G3:G6. The number of the selected list item is stored in cell F2.

  • The time basis determines the time factor, the amount by which you have to adjust the rate and the term. For example, if the time basis is Monthly, the time factor is 12. This means that you divide the annual interest rate (C2) by 12, and you multiply the term (C3) by 12. These new values are stored in the Adjusted Rate (E4) and Total Periods (E5) cells. The Time Factor cell (E3) uses the following formula:

    =CHOOSE(F2, 1, 2, 4, 12)
  • Given the adjusted rate (E4) and the total periods (E5), the schedule formulas can reference these cells directly and always return the correct value for any selected time basis. For example, here’s the formula that calculates the payment:

    =PMT(E4, E5, C4, C5, C6)
  • The schedule adjusts its size automatically, depending on the Total Periods value (E5). If Total Periods is 15, the schedule contains 15 rows (not including the headers); if Total Periods is 180, the schedule contains 180 rows.

  • Dynamically adjusting the size of the schedule is a function of the Total Periods value (E5). The first period (A10) is always 1; each subsequent period checks the previous value to see if it’s less than Total Periods. Here’s the formula in cell A11:

    =IF(A10 < $E$5, A10 + 1, "")

    If the period value of the cell above the current cell is less than Total Periods, the current cell is still within the schedule, so calculate the current period (the value from the cell above plus 1) and display the result; otherwise, you’ve gone past the end of the schedule, so display a blank.

  • The various payment columns check the period value. If it’s not blank, calculate and display the result; otherwise, display a blank. Here’s the formula for the Payment value in B11:

    =IF(A11 <> "", PMT($E$4, $E$5, $C$4, $C$5, $C$6), "")

These changes result in a totally dynamic schedule that adjusts automatically as you change the time basis or the term.

Image Note

The formulas in the amortization schedule have been filled down to row 500, which should be enough room for just about any schedule (up to about 40 years, using the monthly basis). If you require a longer schedule, you have to fill in the schedule formulas past the last row that will appear in your schedule.

Calculating the term of a loan

In some loan scenarios, you need to borrow a certain amount at the current interest rates, but you can spend only so much on each payment. If the other loan factors are fixed, the only way to adjust the payment is to adjust the term of the loan: A longer term means smaller payments; a shorter term means larger payments.

You could figure out the term by adjusting the nper argument of the PMT() function until you get the payment you want. However, Excel offers a more direct solution in the form of the NPER() function, which returns the number of periods of a loan:

NPER(rate, pmt, pv[, fv][, type])

rate

The fixed rate of interest over the term of the loan.

pmt

The periodic payment.

pv

The loan principal.

fv

The future value of the loan. (The default is 0.)

type

The type of payment. Use 0 (the default) for end-of-period payments; use 1 for beginning-of-period payments.

For example, suppose that you want to borrow $10,000 at 6% interest with no balloon payment, and the most you can spend is $750 per month. What term should you get? Figure 14-8 shows a worksheet that uses NPER() to calculate the answer: 13.8 months. Here are some things to note about this model:

  • The interest rate is an annual value, so the NPER() function’s rate argument divides the rate by 12.

  • The payment is already a monthly number, so no adjustment is necessary for the pmt attribute.

  • The payment is negative because it’s money that you pay to the lender.

The figure shows an Excel worksheet with cell B7's formula calculating the term of a loan using the NPER() function.
FIGURE 14-8 This worksheet uses NPER() to determine the number of months that a $10,000 loan should be taken out at 6% interest to ensure a monthly payment of $750.

Of course, in the real world, although it’s not unusual to have a noninteger term, the last payment must occur at the beginning or end of the last loan period. In the example, the bank uses the term 13.8 months to calculate the payment, principal, and interest, but it rightly insists that the last payment be made at either the 13th period or the 14th period. The tables after the NPER() formula in Figure 14-8 investigate both scenarios.

If you elect to end the loan after the 13th period, you’ll still have a bit of principal left over. To see why, the amortization table shows the period (column A) as well as the principal paid each period (column B), as returned by the PPMT() function. The Cumulative Principal column (column C) shows a running total of the principal. As you can see, after 13 months, the total principal paid is only $9,378.07, which leaves $621.93 remaining (cell C24). Therefore, the 13th payment will be $1,371.93 (the usual $750 payment, plus the remaining $621.93 principal).

Image Note

The cumulative principal values are calculated using the SUM() function. You can’t use the CUMPRINC() function in this case because CUMPRINC() truncates the nper argument to an integer value.

If you elect to end the loan after the 14th period instead, you’ll end up overpaying the principal. To see why, the second amortization table shows the Period (column E), Principal (column F), and Cumulative Principal (column G) columns. After 14 months, the total principal paid is $10,124.96, which is $124.96 more than the original $10,000 principal. Therefore, the 14th payment will be $625.04 (the usual $750 payment minus the $124.96 principal overpayment).

Image Note

Another way to calculate the principal that is left over or overpaid is to use the FV() function, which returns the future value of a series of payments. For the 13-month scenario, you run FV() with the nper argument set to 13 (see cell C25 in Figure 14-8); for the 14-month scenario, you run FV() with the nper argument set to 14 (see cell G26). You’ll learn about FV() in detail in Chapter 15.

Calculating the interest rate required for a loan

A slightly less common loan scenario arises when you know the loan term, payment, and principal, and you need to know what interest rate will satisfy these parameters. This is useful in a number of circumstances:

  • You might want to wait until interest rates fall to the value you want.

  • You might regard the calculated interest rate as a maximum rate that you can pay, knowing that anything less will enable you to reduce either the payment or the term.

  • You could use the calculated interest rate as a negotiating tool with your lender by asking for that rate and walking away from the deal if you don’t get it.

To determine the interest rate given the other loan factors, use the RATE() function:

RATE(nper, pmt, pv[, fv][, type][, guess])

nper

The number of payments over the term of the loan.

pmt

The periodic payment.

pv

The loan principal.

fv

The future value of the loan. (The default is 0.)

type

The type of payment. Use 0 (the default) for end-of-period payments; use 1 for beginning-of-period payments.

guess

A percentage value that Excel uses as a starting point for calculating the interest rate. (The default is 10%.)

The RATE() function’s guess argument indicates that this function uses iteration to determine the answer. To learn more about iteration, see “Using iteration and circular references,” in Chapter 2, “Creating advanced formulas.”

For example, suppose you want to borrow $10,000 over five years with no balloon payment and a monthly payout of $200. What rate will satisfy these criteria? The worksheet in Figure 14-9 uses RATE() to derive the result: 7.4%. Here are some notes about this model:

  • The term is in years, so the RATE() function’s nper argument multiplies the term by 12.

  • The payment is already a monthly number, so no adjustment is necessary for the pmt attribute.

  • The payment is negative because it’s money that you pay to the lender.

  • The result of the RATE() function is multiplied by 12 to get the annual interest rate.

The figure shows an Excel worksheet with cell B8's formula calculating the interest rate required for a loan using the RATE() function.
FIGURE 14-9 This worksheet uses RATE() to determine the interest rate required to pay a $10,000 loan over five years at $200 per month.

Calculating how much you can borrow

If you know the current interest rate your bank is offering for loans, when you want to have the loan paid off, and how much you can afford each month for the payments, you might then wonder what is the maximum amount you can borrow under those terms. To figure this out, you need to solve for the principal—that is, present value. You do this in Excel by using the PV() function:

PV(rate, nper, pmt[, fv][, type])

rate

The fixed rate of interest over the term of the loan.

nper

The number of payments over the term of the loan.

pmt

The periodic payment.

fv

The future value of the loan. (The default is 0.)

type

The type of payment. Use 0 (the default) for end-of-period payments; use 1 for beginning-of-period payments.

For example, suppose the current loan rate is 6%, you want the loan paid off in five years, and you can afford payments of $500 per month. Figure 14-10 shows a worksheet that calculates the maximum amount you can borrow—$25,862.78—using the following formula:

=PV(B2 / 12, B3 * 12, B4, B5, B6)
The figure shows an Excel worksheet with cell B7's formula calculating the maximum amount that can be borrowed using the PV() function.
FIGURE 14-10 This worksheet uses PV() to calculate the maximum principal you can borrow, given a fixed interest rate, term, and monthly payment.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.131.72