Sensitivity Analysis in Excel — Data Tables + Free Template (2026)

Every plan rests on assumptions — a price, a volume, a cost — and every one of them will turn out to be wrong by some amount. Sensitivity analysis asks the only honest follow-up: how wrong can they be before the plan breaks? In 40 minutes you’ll learn Excel’s complete what-if toolkit: one- and two-variable Data Tables, a colour-coded sensitivity grid, Goal Seek for break-even inputs, Scenario Manager for named cases, and the tornado chart that ranks which assumptions actually matter. Works in Excel 2010 through Microsoft 365.

Dr Waqas Rafique Dr Waqas Rafique · Founder & CTO · PhD, Statistical Machine Learning
· About

TL;DR

Build a model with labelled input cells feeding one output formula. For a one-variable test: list values down a column, put =Output one cell up-and-right, select the block, Data → What-If Analysis → Data Table, set the Column input cell. For a full grid: =Output in the corner, one input down, the other across, then Data Table with both Row and Column input cells. Colour the grid with a 3-colour scale plus a red “< 0” rule to expose the break-even frontier. Goal Seek (Set profit to 0 by changing an input) returns exact break-even values; a sorted bar chart of each input’s low–high swing is your tornado chart.

Contents

  1. What is Sensitivity Analysis?
  2. Before You Start
  3. Step 1 — Model Setup (Inputs → Output)
  4. Step 2 — One-Variable Data Table
  5. Step 3 — Two-Variable Data Table
  6. Step 4 — Conditional Formatting the Grid
  7. Step 5 — Goal Seek for Break-Even
  8. Step 6 — Scenario Manager
  9. Step 7 — Tornado Chart
  10. Step 8 — Interpret & Present
  11. Try It: Live Sensitivity Grid
  12. Advanced Tips
  13. Worked Example
  14. Common Errors & Fixes
  15. FAQ

What is Sensitivity Analysis?

Sensitivity analysis measures how much an output of a model — profit, NPV, cash balance, headcount cost — changes when its inputs change. Instead of presenting one number (“profit will be £180,000”), it presents a landscape: profit at every plausible price, at every plausible volume, and at every combination of the two. A single-point forecast is almost guaranteed to be wrong; a sensitivity analysis tells you where reality can land and still be acceptable.

The technique answers three questions that single numbers cannot. First, which assumptions matter? If a 10% swing in price moves profit by 60% but a 10% swing in fixed costs moves it by 4%, you know where to focus negotiation, research, and monitoring. Second, where is the cliff edge? The break-even frontier — the set of input values where profit crosses zero — tells you exactly how much adverse movement the plan survives. Third, how robust is the decision? If the project stays positive across the entire realistic input range, you can commit with confidence; if it flips sign inside that range, you need contingencies before you start.

Excel is unusually good at this because of a purpose-built but oddly hidden feature: the Data Table (under Data → What-If Analysis). A Data Table re-runs your whole model once per test value — or once per pair of test values — and lays the outputs out in a grid, all without macros, copies of the model, or manual retyping. Around it sit three companions: Goal Seek (solve an input backwards from a target output), Scenario Manager (save and switch named bundles of inputs), and ordinary charts for the famous tornado summary.

Sensitivity analysis is deterministic: you choose the input values to test and get exact outputs back. Its probabilistic sibling, Monte Carlo simulation, draws random inputs from distributions and reports the odds of each outcome. They pair naturally — a Data Table maps the terrain, Monte Carlo estimates how likely you are to land on each part of it — and this guide’s final steps show where one hands off to the other.

Before You Start

Sensitivity tools only work on a model with a particular shape. Get these three things right and everything in this guide is mechanical.

Inputs must live in single, dedicated cells

Each assumption — price, units, unit cost, fixed cost, growth rate — needs its own cell, clearly labelled, ideally grouped in one “Assumptions” block and shaded so everyone knows these are the dials. Hard-coded numbers buried inside formulas (=B5*1.2-4000) cannot be tested; extract every constant into an input cell first.

One formula chain from inputs to output

The output cell (say, Profit) must depend on the input cells through live formulas, with no manual steps, pasted values, or circular references in between. The acid test: change an input by hand and watch the output move instantly. If it does not, fix the chain before going further.

Decide your test ranges up front

Pick the realistic low and high for each input — ±20% around base, or specific values from your team. The analysis is only as honest as these ranges: testing price at ±2% when the market could move 15% produces false comfort. Write the ranges down; you will reuse them in the Data Tables and the tornado chart.

💡 Pro tip: Name your input cells (select the cell, type a name like Price in the Name Box). Formulas become readable — =(Price-UnitCost)*Units-FixedCost — and you will make far fewer wrong-cell mistakes when wiring up Data Tables and Goal Seek.
1
2
3
4
5
6
7
8

1.Step 1 — Set Up the Model (Inputs → Output)

We’ll use a simple, universal profit model that every later step builds on. Lay it out like this:

CellLabelValue / Formula
B2Price per unit (£)10
B3Units sold10,000
B4Unit cost (£)6
B5Fixed costs (£)25,000
B7Profit=(B2-B4)*B3-B5
=(B2-B4)*B3-B5

With the base values, profit is (10−6)×10,000−25,000 = £15,000. Sanity-check the chain now: type 11 into B2 and profit should jump to £25,000 instantly; put it back. The same structure scales to any model — a 50-row cash flow forecast or a full P&L — as long as assumptions are isolated in cells and one output cell summarises the result you care about.

⚠ Important: If your “model” contains pasted values, manual overrides, or steps done by hand each month, sensitivity tools will silently analyse a broken chain. Every link from input to output must be a live formula.

2.Step 2 — One-Variable Data Table

Question: what is profit at each price from £7 to £13? You could type each price into B2 and write down the result seven times — a Data Table does exactly that, automatically.

1. In D3:D9, list the test prices: 7, 8, 9, 10, 11, 12, 13.
2. In E2 — one cell up and to the right of the first test value — link the output:

=B7

3. Select the whole block D2:E9 (test values and the output link).
4. Go to Data → What-If Analysis → Data Table. Leave Row input cell empty; set Column input cell to B2 (because your test values run down a column and they are prices, which live in B2). Click OK.

Excel fills E3:E9 with profit at each price: −£15,000 at £7, £5,000 at £9, £15,000 at £10, up to £45,000 at £13. Behind the scenes it substituted each value into B2, recalculated the workbook, and recorded B7 — seven full what-if runs in one command. The results are live: change the model and the table updates.

The filled cells all show {=TABLE(,B2)} — a special array you cannot edit cell-by-cell. To change a Data Table, select the whole results range and rebuild or delete it together.

3.Step 3 — Two-Variable Data Table

The flagship move: profit at every combination of two inputs — classically price × volume. The layout differs from the one-variable case in one key way: the output link goes in the top-left corner of the grid.

1. In D2, link the output: =B7.
2. Down D3:D9, list prices: 7–13.
3. Across E2:K2, list unit volumes: 4,000 / 6,000 / 8,000 / 10,000 / 12,000 / 14,000 / 16,000.
4. Select D2:K9 — corner, row values, column values, and the empty interior.
5. Data → What-If Analysis → Data Table: Row input cell = B3 (volumes run across the row), Column input cell = B2 (prices run down the column). OK.

Row input cell: B3 (Units)  ·  Column input cell: B2 (Price)

Excel fills the 7×7 interior with 49 profit figures — 49 complete recalculations of your model. At £7 and 4,000 units, profit is −£21,000; at £13 and 16,000 units it is £87,000; and somewhere between, the numbers cross zero. That zero-crossing line is the break-even frontier, and making it visible is the next step. The mapping rule to memorise: values across the top → Row input cell; values down the side → Column input cell — it feels backwards and is the single most common wiring mistake.

⚠ Important: Both input cells must be on the same worksheet as the Data Table. If your model lives elsewhere, mirror the inputs locally (model references local cells) or build the table on the model sheet.

4.Step 4 — Format the Grid with Conditional Formatting

A 49-number grid is data; a coloured grid is an answer. Two rules turn the table into an instantly readable map.

Rule 1 — the 3-colour scale

Select the interior result cells (E3:K9), then Home → Conditional Formatting → Color Scales → Red–White–Green (lowest red, midpoint white, highest green). Profit now shades smoothly from deep red losses to deep green gains, and the gradient’s direction shows each input’s pull.

Rule 2 — flag the loss region explicitly

With the same cells selected: Conditional Formatting → Highlight Cells Rules → Less Than… → type 0 → choose a strong red fill (or red border). Now every loss-making combination is unmistakable, and the visual edge where red gives way to green is the break-even frontier.

Conditional Formatting → Highlight Cells Rules → Less Than → 0

Finishing touches that cost nothing and read professionally: format the numbers as £#,##0;[Red]-£#,##0 or scale to thousands with £#,##0,"k"; bold the row/column headers; and put a border around the base-case cell (price £10, 10,000 units) so readers can locate “today” on the map. For a deeper treatment of colour-scaled matrices, see the heat map in Excel tutorial — a sensitivity grid is a heat map of what-ifs.

5.Step 5 — Goal Seek for Break-Even Inputs

The grid shows roughly where profit crosses zero; Goal Seek gives the exact value. It works backwards: you fix the output and Excel solves for the input.

Go to Data → What-If Analysis → Goal Seek and fill in:

Set cell: B7  ·  To value: 0  ·  By changing cell: B2

Excel iterates B2 until B7 hits zero and reports: break-even price = £8.50 (at base volume and costs). Click Cancel to keep your original value, or OK to accept the solved one. Repeat with By changing cell = B3 to get break-even volume (6,250 units), or B4 to find the highest unit cost the plan tolerates (£7.50).

For this simple model you can verify algebraically — break-even units = Fixed costs ÷ (Price − Unit cost) = 25,000 ÷ 4 = 6,250 — but Goal Seek’s value is that it works identically on models far too tangled for algebra: 40-row cash flows, tax schedules, tiered pricing. The full economics of break-even (contribution margin, margin of safety, charts) are covered in the dedicated break-even analysis in Excel tutorial.

💡 Pro tip: Goal Seek finds one input at a time. To solve several inputs under constraints simultaneously (“maximise profit subject to capacity ≤ 12,000 units”), enable the free Solver add-in (File → Options → Add-ins) — Goal Seek’s industrial-strength sibling.

6.Step 6 — Scenario Manager

Data Tables vary one or two inputs systematically. Real futures move several inputs at once: in a recession, volume falls and price gets discounted and input costs wobble. Scenario Manager handles these named bundles.

Open Data → What-If Analysis → Scenario Manager → Add. Create three scenarios over changing cells B2:B5:

ScenarioPriceUnitsUnit costFixedProfit
Base case1010,0006.0025,000£15,000
Best case1112,0005.5025,000£41,000
Worst case98,0006.5027,000−£7,000

Click Show on any scenario and Excel writes its values into the input cells, rippling through the whole model — instant switching between futures. Better still, click Summary…, set the Result cell to B7, and Excel generates a Scenario Summary sheet showing every scenario’s inputs and resulting profit side by side — a ready-made exhibit for the board pack.

Note the worst case: it is not apocalyptic — each input moves a plausible 10–20% — yet profit flips to a £7,000 loss. That is the signature insight of scenario analysis: individually survivable movements compound. A plan that looks robust input-by-input can still fail when adversity correlates, which is precisely why you run scenarios as well as single-input sensitivities.

7.Step 7 — Build a Tornado Chart

A tornado chart compresses the whole analysis into one ranked picture: which inputs move profit the most? Build the data first — for each input, hold all others at base, swing it to its low and high, and record profit (a 1-variable Data Table per input, or just type the values in and read B7):

Input (±10%)Profit @ lowProfit @ highSwing
Price (9 / 11)£5,000£25,000£20,000
Unit cost (5.40 / 6.60)£21,000£9,000£12,000
Units (9,000 / 11,000)£11,000£19,000£8,000
Fixed costs (22,500 / 27,500)£17,500£12,500£5,000

To chart it: sort the rows by Swing descending, then insert a Stacked Bar chart of two series — (Low − Base) and (High − Base) — with the category axis crossing at zero so bars extend left and right of the base case. Make the first series’ fill subtle red and the second green. Sorted largest-swing-first, the bars taper downwards in the classic tornado shape.

=ProfitLow-BaseProfit and =ProfitHigh-BaseProfit <- the two bar series

Reading it takes five seconds: price dominates (a ±10% move swings profit by £20,000 — 133% of base profit), unit cost is second, fixed costs barely register. Notice the asymmetry of direction too: cost bars point the opposite way to price bars because they hurt when they rise. That ranking is the management agenda: defend price, negotiate unit cost, and stop agonising over the stationery budget.

8.Step 8 — Interpret and Present the Results

Numbers persuade only when translated. Four habits turn a sensitivity workbook into a decision.

Quote elasticities, not cells. “A 10% price cut costs us two-thirds of profit; a 10% volume gain adds about a quarter” lands harder than any screenshot. Compute each as (% change in output) ÷ (% change in input) from your tornado data — price’s elasticity here is 6.7×, volume’s 2.7×.

Lead with the frontier. The single most decision-relevant fact is the distance from base case to break-even: price can fall 15% (to £8.50) or volume 37.5% (to 6,250 units) before losses begin. That margin of safety, read straight off Goal Seek and the coloured grid, tells leadership how much shock the plan absorbs.

One slide: the tornado. One appendix: the grid. Executives need the ranking; analysts need the map. Present the tornado chart with the break-even quotes on it, and attach the conditional-formatted two-variable grid for anyone who wants to explore combinations.

State your ranges. Every conclusion is conditional on the ± ranges you tested. Write them on the exhibit (“inputs varied ±10% around base; base = £10 / 10,000 units / £6 / £25,000”). It makes the analysis reproducible and pre-empts the inevitable “but what if price falls 20%?” — to which your live Data Table can answer in seconds.

Try It: Live Two-Variable Sensitivity Grid

This is Steps 1–4 running live. The four sliders are the model’s input cells; the grid is a two-variable Data Table of profit at price (rows) × volume (columns), spanning ±30% around your base price and volume, recoloured on every change. Red cells are losses, green are profits — the boundary between them is the break-even frontier. Try dragging unit cost up and watch the red region flood across the grid; the outlined cell is your base case.

Profit Sensitivity Grid

Price × volume matrix, recalculated live — exactly what Data Table fills in with {=TABLE(B3,B2)}.

Loss Near break-even Profit Base case

Advanced Sensitivity Tips

Percentage-of-base grids

Instead of absolute test values, build the row/column headers as multiples of base (=Base*0.8, =Base*0.9…). The grid then re-centres itself automatically whenever the base assumption changes — one less thing to maintain.

Speed: “Automatic except for data tables”

Every Data Table cell triggers a full workbook recalc, so big models with several grids can crawl. Formulas → Calculation Options → Automatic Except for Data Tables defers them; press F9 to refresh on demand. Remember to flip back (or always F9 before reading results) — a stale grid looks exactly like a fresh one.

Sensitivity on NPV and IRR

Nothing changes for financial models: make the discount rate and growth rate input cells, point the corner at the NPV cell, and the same two-variable recipe yields the classic NPV sensitivity matrix (discount rate × terminal growth) used in every valuation deck.

From deterministic to probabilistic

The grid shows what happens if; it cannot say how likely. When stakeholders ask “what’s the chance we lose money?”, graduate to Monte Carlo simulation in Excel — thousands of random scenarios over the same model, summarised as P10/P50/P90 and a loss probability.

Share the analysis without sharing the spreadsheet

Sensitivity workbooks die in inboxes — the version with the coloured grid is never the version people open. Upload the model output to DataHub Pro and share a live, interactive dashboard instead: stakeholders explore the numbers in a browser, and there is exactly one current version.

Worked Example: Pricing a New Product

A small UK manufacturer is launching a product at a planned £10 price, expecting 10,000 units in year one, with a £6 unit cost and £25,000 of fixed launch costs — the exact model from Step 1, base profit £15,000.

The question from the MD: a major retailer will commit to 14,000 units, but only at £8.75. Better or worse than the plan?

The grid answers in one glance. The two-variable table from Step 3 (price 7–13 down, volume 4,000–16,000 across) shows: at £8.75 × 14,000, profit = (8.75−6)×14,000−25,000 = £13,500 — £1,500 worse than base, despite 40% more volume. The colour scale makes the reason visible: at low margins the grid barely greens as you move right; volume cannot rescue a thin price.

Goal Seek sharpens the counter-offer. Setting profit to the £15,000 base by changing price, with units fixed at 14,000: the deal matches the plan at £8.86, and every penny above that is upside. The team counters at £9.00 (profit £17,000), the retailer accepts, and the decision — which had been argued by instinct for a fortnight — closes with a 10-minute spreadsheet exercise.

The tornado seals the lesson. Ranked swings show price’s £20,000 impact dwarfing volume’s £8,000 at equal ±10% moves. The MD’s takeaway, now on a slide: “we are a price-sensitive business; we trade volume for price only above £8.86.” That sentence is the entire sensitivity analysis, operationalised.

Common Errors & Fixes

Every cell in the Data Table shows the same number

Either calculation is set to “Automatic except for data tables” (press F9, or switch to Automatic), or the Row/Column input cell points at a cell the output does not actually depend on. Verify by typing a test value into the input cell manually — the output must move.

“Input cell reference is not valid” / inputs on another sheet

Data Table input cells must live on the same sheet as the table. Mirror the inputs locally or relocate the table to the model sheet.

Cannot edit or delete part of a Data Table

The results are one array — Excel refuses single-cell edits with “Cannot change part of a data table.” Select the entire results range (not the headers) and delete or rebuild it as a block.

Row and column inputs swapped

If the grid looks plausible but wrong (profit falling as price rises), the Row and Column input cells are reversed. Rule: values across the top → Row input cell; values down the side → Column input cell.

Goal Seek “may not have found a solution”

The target may be unreachable in the realistic range (no price makes a loss-making product yield £1m), or the model is discontinuous (IFs, lookups) near the target. Try a starting value closer to the answer, or widen Goal Seek’s iteration limits under File → Options → Formulas.

Conditional formatting colours look random

The colour-scale range probably includes the header row/column or the corner formula, dragging the scale’s min/max. Apply the rules to the interior result cells only.

From What-If Grid to Live Decision Dashboard

DataHub Pro turns your model outputs into interactive dashboards in under 60 seconds — upload the spreadsheet, get charts, scenario views, and forecasts, and share one always-current link instead of versioned email attachments.

Try DataHub Pro free →

Frequently Asked Questions

How do I do a sensitivity analysis in Excel?
Build a model where inputs (price, volume, costs) feed one output formula (profit). Then use a Data Table: list test values for an input, point the table at your output cell via Data → What-If Analysis → Data Table, and Excel recalculates the output for every test value automatically. A one-variable Data Table tests one input; a two-variable Data Table builds a full grid of two inputs at once. Add a colour scale with conditional formatting and the sensitivity of your result to each assumption becomes visible at a glance.
What is a two-variable Data Table in Excel?
A two-variable Data Table recalculates one output formula for every combination of two inputs. You put =output in the top-left corner cell, one input’s test values down the column below it, the other input’s test values across the row to its right, select the whole block, and choose Data → What-If Analysis → Data Table, filling in both the Row input cell and the Column input cell. Excel substitutes each row/column pair into the model and fills the grid — for example, profit at every price–volume combination.
Why is my Excel Data Table showing the same value everywhere?
Three usual causes. First, calculation is set to “Automatic except for data tables” (Formulas → Calculation Options) — switch to Automatic or press F9. Second, the Row/Column input cells point at the wrong cells — they must be the actual input cells your output formula depends on, on the same sheet as the table. Third, the corner cell does not reference the output — it must contain =YourOutputCell. Fix those and the grid populates with distinct values.
What is the difference between sensitivity analysis and scenario analysis?
Sensitivity analysis changes one or two inputs at a time across a range to see how strongly the output responds — it answers “which assumptions matter most?”. Scenario analysis changes several inputs together to coherent named cases (Base, Best, Worst) — it answers “what does a plausible future look like?”. In Excel, Data Tables are the sensitivity tool and Scenario Manager is the scenario tool; a thorough model review uses both.
How do I find the break-even point with Goal Seek?
Go to Data → What-If Analysis → Goal Seek. Set cell: your profit cell. To value: 0. By changing cell: the input you want solved (price, units, or cost). Click OK and Excel iterates until profit hits zero, leaving the break-even input value in the cell. Run it once per input to get break-even price, break-even volume, and the maximum affordable cost. Goal Seek changes the input cell, so note the original value or press Undo afterwards.
What is a tornado chart and how do I make one in Excel?
A tornado chart ranks inputs by how much each one moves the output. For each input, hold everything else at base case, set the input to its low and high values, and record the two outputs. Compute each input’s swing (high output minus low output), sort descending, and plot the low and high outputs as horizontal stacked bars around the base value. The result looks like a tornado — widest bars (most influential inputs) on top — and is the standard one-slide summary of a sensitivity analysis.
Can a Data Table use inputs on another worksheet?
No — the Row and Column input cells of a Data Table must be on the same worksheet as the table itself. The standard workaround is to keep (or mirror) the input cells on the sheet where you build the table: either move the table to the model sheet, or create local helper input cells that the model references. The output formula can live anywhere; only the input cells are restricted.
Why are Data Tables slow, and how do I speed them up?
Every cell in a Data Table forces a full workbook recalculation, so a 20×20 grid recalculates the whole model 400 times on every change anywhere in the file. For big models, set Formulas → Calculation Options → “Automatic except for data tables” and press F9 when you want the tables refreshed. Also keep the model lean (avoid volatile functions like OFFSET, INDIRECT, TODAY in the calculation chain) and limit grids to the resolution you actually need.
How do I highlight the break-even boundary in a sensitivity grid?
Use two conditional formatting rules on the result cells. First apply a 3-colour scale (red for low, white for middle, green for high) so the gradient of profit is visible. Then add a “Format cells less than 0” rule with a strong red fill so every loss-making combination stands out. The visual edge where red meets green is the break-even frontier — the set of input combinations where profit crosses zero.
When should I use Monte Carlo simulation instead of a Data Table?
Use a Data Table when you want a deterministic map: the exact output at each input combination you choose. Use Monte Carlo simulation when inputs are uncertain and you want a probability distribution of outcomes: it draws thousands of random input combinations from distributions and reports percentiles like P10/P50/P90 and the probability of a loss. Data Tables answer “what if price is £9?”; Monte Carlo answers “how likely is a loss given realistic variation in everything at once?”. They complement each other — most analysts run the Data Table first, then Monte Carlo for risk.

Related Tutorials