What Most People Miss About How to Do DCF in Excel

Yes, you can build a DCF model in Excel. But if your terminal value is more than 70% of total equity value and you haven’t stress-tested the WACC input, your model is already misleading stakeholders.

Quick Answer

You do DCF in Excel by forecasting free cash flows (FCF), discounting them using WACC, calculating a terminal value (TV), and summing everything — but the real work happens in assumptions: revenue growth must align with industry benchmarks (e.g., SaaS companies rarely sustain >25% CAGR past Year 5), and WACC inputs need explicit sourcing (not just ‘8.2%’ typed into B12).

All the Methods

Method Steps Best For Limitations
Manual Formula Build Input revenue, margins, capex, NWC → calculate FCF → apply WACC discount → Gordon Growth TV Learning fundamentals, small private deals No sensitivity tools built-in; error-prone with long forecasts
DCF Template + Data Validation Use pre-built structure (A1:E25) with dropdowns for growth rates, locked WACC cell (D5), dynamic TV toggle Mid-market M&A teams, PE analysts Requires setup time; validation rules can break copy-paste workflows
XNPV + XIRR Hybrid List FCFs with exact dates (e.g., 2024-06-30, 2025-06-30) → use XNPV(B2,B4:B12,A4:A12) → add TV separately Deals with irregular cash flow timing (e.g., biannual acquisitions) Terminal value still needs manual date alignment — easy to misalign by 6 months
Power Query + DCF Dashboard Import historicals → generate 5-year forecast table → export to worksheet → apply formulas Teams refreshing models monthly; integrated FP&A workflows Overkill for one-off valuations; steep learning curve for non-technical users

Method 1 Deep Dive

We’ll build a clean, auditable DCF from scratch — no templates, no add-ins. Start with this data in Sheet1:

Year Revenue EBITDA Margin CapEx % Rev NWC Change
2024 $12.4M 24.5% 4.2% $182K
2025 $14.1M 25.1% 4.0% $209K
2026 $15.9M 25.7% 3.8% $221K
2027 $17.6M 26.0% 3.5% $195K
2028 $19.2M 26.2% 3.2% $178K

Now compute FCF row-by-row in column F. In F4, enter: =B4*C4*(1-0.21)-B4*D4-E4 (assuming 21% tax rate). Drag down to F8. That’s unlevered FCF — no debt interest, no financing costs.

Next, set WACC in cell B11: 9.4%. This isn’t arbitrary — it came from CAPM (risk-free = 3.8%, beta = 1.2, market premium = 5.2%). Then in G4, discount each FCF: =F4/(1+$B$11)^1. In G5: =F5/(1+$B$11)^2, and so on. Don’t use NPV() here — it assumes equal periods, and we’re doing year-end discounting.

For terminal value, use Gordon Growth: =F8*(1+0.025)/(0.094-0.025) in H8 (2.5% perpetual growth). Then discount it: =H8/(1+$B$11)^5 in I8. Sum G4:I8 → $127.8M enterprise value. Subtract net debt ($14.2M in B13) → $113.6M equity value.

Here’s the counterintuitive tip: Never hardcode the terminal year multiplier. Instead, reference the last FCF cell dynamically: =F8*(1+B14)/(B11-B14), where B14 holds growth and B11 holds WACC. That way, changing growth updates TV instantly — and you’ll catch it when B14 ≥ B11 (Excel returns #NUM!, not a silent wrong number).

Method 2 Deep Dive

Let’s use XNPV for precision — especially useful when your forecast starts mid-year or includes acquisition timing. Assume your FCFs sit in B4:B9, and their corresponding dates are in A4:A9: 2024-06-30, 2025-06-30, ..., 2029-06-30.

In C4, type: =XNPV(B2,B4:B9,A4:A9) where B2 holds WACC (9.4%). That gives you the present value of years 1–5. Now handle terminal value carefully: its date must match the *end* of Year 5 — so use =XNPV(B2,{TV_value},{A9}) — not A10 or a guessed date. Yes, you’re discounting TV to the same date as Year 5 FCF. That’s correct.

To lock the WACC cell while building: select B2, press Alt + H + P + L (Home → Format → Lock Cell), then protect the sheet (Alt + R + A + P). This stops interns from overwriting your cost of capital.

Sample output for this method (using same numbers): XNPV of FCFs = $89.3M; discounted TV = $38.1M; total EV = $127.4M — $0.4M less than Method 1, because XNPV accounts for exact day counts (183 days vs. 365).

Cheat Sheet

Task Formula / Action Cell Reference Shortcut
Unlevered FCF =Revenue × EBITDA% × (1−Tax%) − CapEx − ΔNWC F4:F8
Discount FCF =FCF / (1+WACC)^Year G4:G8
Terminal Value =Last_FCF × (1+g) / (WACC−g) H8
XNPV of FCFs =XNPV(WACC, FCF_range, date_range) C4 Alt+M+V+X
Lock WACC cell Format Cells → Protection → Locked → Protect Sheet B2 Alt+H+P+L
Check TV sanity TV should be 50–70% of total EV, not 85% H8 vs. sum(G4:I8)
David Park

David Park

David brings deep expertise in office supply evaluation and procurement. He has tested hundreds of products to help teams make informed purchasing decisions.