ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • About
  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Math
  3. How to Build a Simple DCF Model in Excel

How to Build a Simple DCF Model in Excel

By ExcelReady Team·Updated November 3, 2026·6 min read

The short answer

A DCF (discounted cash flow) model values future cash flows in today's money. In Excel, list five years of forecast cash flows, divide each by (1 + discount rate) raised to the year number, and add them with SUM. Then add a terminal value for the years after the forecast, also discounted. The total is the estimated value.

Key takeaways

  • Keep the discount rate and growth rate in input cells and refer to them with $ signs.
  • Each year's present value is cash flow / (1 + rate)^year.
  • The terminal value covers the years after the forecast: last cash flow x (1 + g) / (r - g).
  • =NPV(rate, cash flows) is a quick check on the sum of the yearly present values.
  • The result is very sensitive to the discount rate and growth rate, so always show a range.
On this page+
  1. What a DCF model does
  2. Step 1: put the inputs in their own cells
  3. Step 2: lay out the forecast cash flows
  4. Step 3: discount each year with locked references
  5. Step 4: add the terminal value
  6. Step 5: add it all up with SUM
  7. Step 6: test how sensitive the result is
  8. Common DCF mistakes in Excel
  9. Practise it

A DCF model in Excel estimates what a stream of future cash is worth today. You forecast the cash flows, discount each one back to today with a discount rate, add a terminal value for the years after the forecast, and sum the results. This guide is for students, analysts and job seekers who want to understand how the spreadsheet works. It explains the mechanics only; it is not investment advice, and every figure below is an example, with the arithmetic checked in Python.

What a DCF model does#

DCF stands for discounted cash flow. The idea is simple: 100 received in five years is worth less than 100 today, because money today can be saved or invested in the meantime. The discount rate is the yearly rate used to shrink future amounts to today's value. The shrunk amount is called the present value.

The formula for one cash flow is:

Excel formula
present value = cash flow / (1 + discount rate) ^ year

A DCF model applies that to every year of a forecast and adds the results. If you have used the NPV function, this is the same idea; see how NPV works in Excel and the comparison of NPV and PV.

Step 1: put the inputs in their own cells#

Keep every assumption in a labelled input cell, never typed inside a formula. That way you can change one number and watch the whole model update.

AB
1Discount rate10%
2Terminal growth rate2%

The terminal growth rate is the yearly growth you assume for cash flows after the forecast ends. It should be modest, because it is assumed to last forever.

Step 2: lay out the forecast cash flows#

Put the years across a row and the forecast free cash flow below them. Free cash flow is, roughly, the cash a business generates from its operations after paying for equipment and other investment. In this example, the figures are in thousands:

ABCDEF
4Year12345
5Free cash flow120132145158170
6Discount factor0.90910.82640.75130.68300.6209
7Present value109.09109.09108.94107.92105.56

The cash flows themselves usually come from a separate forecast. The guide to building a cash flow forecast shows how to lay one out, and the CAGR formula helps you check whether the growth you assumed is realistic.

Step 3: discount each year with locked references#

The discount factor is 1 / (1 + rate)^year, and the present value is the cash flow times that factor. In B6 and B7:

Excel formula
B6: =1/(1+$B$1)^B4
B7: =B5*B6

Select B6:B7 and fill right to column F (Windows: Ctrl+R; Mac: ⌘R). The $B$1 reference stays locked on the discount rate, while B4 and B5 move to C4, C5 and so on. Without the $ signs, the rate reference would slide to C1, D1 and E1, which are empty, and the factors would all become 1. To add the $ signs quickly, press F4 after typing B1 (Mac: ⌘T or Fn+F4).

Step 4: add the terminal value#

The terminal value is one number that stands for all the cash flows after year 5. A common method is the growth formula: next year's cash flow divided by (discount rate minus growth rate). In B10:

Excel formula
=F5*(1+B2)/(B1-B2)

That is 170 × 1.02 / 0.08 = 2,167.5. This value is at the end of year 5, so discount it back five years in B11:

Excel formula
=B10/(1+B1)^F4

The result is about 1,345.8. The formula only works when the discount rate is higher than the growth rate. If they are equal, you divide by zero.

Step 5: add it all up with SUM#

The estimated value is the sum of the yearly present values plus the discounted terminal value:

AB
9PV of forecast years=SUM(B7:F7) → 540.6
10Terminal value2,167.5
11PV of terminal value1,345.8
12Estimated value=B9+B11 → 1,886.4

In finance this total is often called enterprise value. To get the value for shareholders, analysts then subtract net debt. The SUM function guide covers the basics of adding ranges.

Notice that the terminal value is about 71% of the total. That is common in DCF models, and it is why the growth and discount rates matter so much.

You can check the first part with one function. =NPV(B1,B5:F5) returns about 540.6, the same as the SUM of row 7, because NPV assumes the first cash flow comes at the end of year 1. If your cash flows arrive on uneven dates, XNPV takes a list of dates as well and discounts each amount by the exact time.

Step 6: test how sensitive the result is#

A DCF result is an estimate built on assumptions, so show how it moves when the assumptions move. Change one input at a time and record the total:

ChangeEstimated value
Base case (10% rate, 2% growth)1,886.4
Discount rate 9%2,165.6
Discount rate 11%1,669.6
Growth rate 1%1,725.2
Growth rate 3%2,093.8

One percentage point on either input moves the result by roughly 8 to 15%. That is why a single DCF number should never be read as exact. Excel's What-If Analysis > Data Table can build this grid automatically. To work out the rate at which a set of cash flows breaks even instead, see the IRR function.

Common DCF mistakes in Excel#

Most errors in a simple DCF are reference and timing slips. Check these:

  1. The rate isn't locked. Missing $ signs make later years use an empty cell as the rate.
  2. Year 0 inside NPV. NPV discounts its first value by one year. A cash flow that happens today should be added outside NPV.
  3. Terminal value not discounted. Adding 2,167.5 straight to the total overstates the value.
  4. Growth rate at or above the discount rate. The terminal formula then breaks or gives a negative number.
  5. Rates typed as whole numbers. Use 10% or 0.1, not 10.

Practise it#

A DCF is a chain of simple arithmetic and locked references, and those are exactly the skills a finance Excel test checks. Practise arithmetic formulas on a department budget, then practise absolute references with $ signs: you type each formula and ExcelReady checks it instantly. Then try the NPV exercise on this page, or test yourself with the finance Excel mock test.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

Find the present value of the five forecast cash flows at the discount rate in E1. Click E3, use NPV, and press Enter.

fx
ABCDEF
1
Year
Cash flow
Discount rate
0.1
2
1
120
3
2
132
PV of cash flows
4
3
145
5
4
158
6
5
170
7
8
9

Tip: NPV takes the rate first, then the range of cash flows: E1, then B2:B6. The result should be about 540.6.

Practise this in a lesson

LessonPractice: department budgetCombine SUM, AVERAGE, ROUND and absolute references in a realistic budget sheet.LessonRelative vs absolute references ($)Lock a cell with $ so it doesn't move when you copy a formula, one of the most-tested Excel skills.Function guideSUMAdd up columns, rows and separate ranges with Excel's SUM function. Clear examples, common mistakes and a live practice exercise.

Frequently asked questions

What is a DCF model in simple terms?

+

It is a way to estimate what a stream of future cash is worth today. Money in the future is worth less than money now, so each future amount is shrunk by a discount rate before everything is added up.

Can I use the NPV function for a DCF in Excel?

+

Yes, for the forecast years. =NPV(rate, cash flows) discounts each cash flow as if it arrives at the end of years 1, 2, 3 and so on. Add the discounted terminal value separately.

What is the terminal value in a DCF?

+

It is a single number for all the cash flows after the forecast period. A common way is the growth formula: last year's cash flow x (1 + growth) / (discount rate - growth). It must be discounted back to today too.

When should I use XNPV instead of NPV?

+

Use XNPV when cash flows arrive on specific dates that are not evenly spaced. It takes a rate, the cash flows and their dates, and discounts each one by the exact time from the first date.

Sources

  • NPV function - Microsoft Support
  • PV function - Microsoft Support
  • Switch between relative, absolute, and mixed references - Microsoft Support

Written and checked by the ExcelReady Team. First published November 3, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. What a DCF model does
  2. Step 1: put the inputs in their own cells
  3. Step 2: lay out the forecast cash flows
  4. Step 3: discount each year with locked references
  5. Step 4: add the terminal value
  6. Step 5: add it all up with SUM
  7. Step 6: test how sensitive the result is
  8. Common DCF mistakes in Excel
  9. Practise it

Keep reading

Math· 6 min read

NPV Function in Excel: Net Present Value Explained

NPV returns the net present value of future cash flows at a given discount rate. Write =NPV(rate, values) for the cash flows from year 1 onward, then add the upfront cost separately: =NPV(8%,B3:B7)+B2. NPV assumes every value arrives at the end of a period, so putting the year-0 cost inside the function discounts it by mistake.

Math· 7 min read

IRR in Excel: Internal Rate of Return in Plain English

IRR, the internal rate of return, is the yearly rate at which an investment's cash flows break even in today's money: the rate that makes net present value zero. In Excel, list the cash flows in order, with the money you pay out as a negative number first, and use =IRR(B2:B5). For dated, irregular cash flows, use XIRR.

Math· 6 min read

CAGR Formula in Excel: Compound Annual Growth Rate

To calculate CAGR in Excel, divide the ending value by the starting value, raise the result to the power of one over the number of years, and subtract 1: =(B6/B2)^(1/4)-1. Growth from 50,000 to 80,000 over four years gives 12.47%. The number of years is the number of periods between the values, not the number of rows.

More on math

  • Calculate Depreciation in Excel: Straight-Line, DB and DDB
  • Descriptive Statistics in Excel for Any Column of Numbers
  • Economic Order Quantity (EOQ) Formula in Excel
  • Financial Ratios in Excel: Liquidity, Margin and Debt
  • Forecast Accuracy in Excel: MAPE, MAE and Bias
  • FV Function in Excel: Future Value of Savings
All math articles →

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free