What Most People Miss About One Variable Data Tables in Excel

Why does your spreadsheet break every time you change the interest rate? Why do you have to copy formulas down 20 rows just to test one assumption? Why does Excel show #VALUE! when you try to select the whole table before hitting Ctrl+Shift+Enter?

The answer isn’t ‘you need more formulas’. It’s that you’re treating sensitivity analysis like a copy-paste task — not a structured Excel feature designed for exactly this.

The Problem

You’re analyzing a loan repayment plan for Greenfield Logistics Ltd.. You’ve built a clean model in cells A1:E5:

CellLabelValue
B1Loan Amount$425,000
B2Annual Interest Rate6.25%
B3Term (years)7
B4Monthly Payment=PMT(B2/12,B3*12,-B1)
B5Total Interest Paid=B4*B3*12-B1

Now you want to see how monthly payment changes if interest rates range from 5.0% to 7.5% in 0.25% increments. So you manually type 5.0%, 5.25%, 5.5%… down column G. Then copy B4’s formula into H2, edit it to reference G2 instead of B2, drag down — and get inconsistent results because some cells refer to B2, others to G3, and one cell accidentally references $G$2 instead of G2.

Your table looks like this mess:

Interest RateMonthly PaymentNotes
5.00%$5,923.17Correct
5.25%#REF!Formula broken after insert
5.50%$6,081.24Used $B$2 — no update
5.75%#VALUE!Mixed absolute/relative refs
6.00%$6,242.02Manual re-entry
6.25%$6,405.50Original value — matches B4

This isn’t debugging. It’s fighting Excel instead of using it.

The Solution

A one-variable data table automates this — with zero manual formula editing. It’s not magic. It’s structure.

Do this:

  1. Leave your original model intact (B1:B5).
  2. In cell D2, enter the formula you want to test: =B4. This is the output you care about — monthly payment.
  3. In column D, starting at D3, list your variable values: 5.0%, 5.25%, 5.5%, … up to 7.5%. That’s your input column — 11 values total.
  4. Select the full range: D2:E13. (D2 holds the formula; D3:D13 are inputs; E2:E13 will hold results.)
  5. Go to Data → What-If Analysis → Data Table.
  6. In the dialog box, under Column input cell, enter $B$2. (This tells Excel: ‘replace B2 with each value in column D’.) Leave Row input cell blank.
  7. Click OK.

Excel fills E3:E13 with calculated payments — all referencing the original B4 formula, but swapping in each rate from D3:D13. No dragging. No typos. No #REF! errors.

Here’s what your clean result looks like:

Interest RateMonthly Payment
5.00%$5,923.17
5.25%$6,001.42
5.50%$6,080.34
5.75%$6,159.92
6.00%$6,240.17
6.25%$6,321.09
6.50%$6,402.67
6.75%$6,484.92
7.00%$6,567.83
7.25%$6,651.41
7.50%$6,735.65

Notice: The formula in E2 says =TABLE(,B2) — but you’ll never type that. Excel inserts it automatically. And yes — it’s an array formula, but you don’t press Ctrl+Shift+Enter. Excel handles it.

Counterintuitive tip: If you delete any result cell (say E5), the entire column breaks. Don’t edit individual outputs. To change inputs, overwrite D3:D13. To change the formula, edit D2 — then reselect D2:E13 and run Data Table again.

Going Further

What if you also want to test different loan amounts — say $350K, $400K, $450K — alongside those interest rates? Now you need a two-variable data table.

Set it up like this:

  • Keep D2 = =B4 (the output formula).
  • List interest rates down column D (D3:D13).
  • List loan amounts across row 2 (F2:J2) — e.g., $350,000, $375,000, $400,000, $425,000, $450,000.
  • Select D2:J13 — that’s your full grid (formula + inputs + blank result area).
  • Go to Data → What-If Analysis → Data Table.
  • Enter $B$2 for Column input cell (interest rate).
  • Enter $B$1 for Row input cell (loan amount).
  • Click OK.

Excel populates F3:J13 — each cell showing the monthly payment for that combo of rate and amount.

Two-variable tables only support one output formula. You can’t show both payment AND total interest in the same table. If you need multiple outputs, build separate tables — or switch to Excel’s newer SEQUENCE() and MAKEARRAY() functions (Excel 365 only).

Need more flexibility? Try this variation: Use a one-variable table to feed results into a chart. Select D2:E13 → Insert → Line Chart. Right-click the horizontal axis → Format Axis → set Axis Type to ‘Text axis’ so rates display cleanly. Done.

How to create a two variable data table in excel — quick reality check

People assume two-variable tables are ‘just one more step’. They’re not. You must arrange inputs in strict L-shape: one down the left, one across the top. No gaps. No merged cells. No headers inside the selection. And — here’s the surprise — the formula cell (D2) must be top-left of the selection. If you put it in D1 or E2, Excel won’t accept the range.

Also: Two-variable tables recalculate slower. On large models (10k+ cells), expect 2–3 second lag when changing inputs. One-variable tables? Near-instant.

When NOT to Use This

Don’t reach for a data table when:

  • Your input isn’t numeric. Data tables only accept numbers, dates, or logicals (TRUE/FALSE). Text inputs like “Fixed” or “Variable” will return #VALUE!.
  • You need conditional formatting on results. Data table outputs are static values after calculation — but they’re not stored as values. They’re array results. So CF rules like ‘highlight cells > $6,500’ often fail unless you wrap the table in a helper column with =E3, =E4, etc.
  • You’re sharing with someone using Excel 2007 or earlier. Data tables work, but the interface changed. In Excel 2007, it’s Data → Data Tools → What-If Analysis → Data Table — same logic, deeper menu.
  • Your model uses volatile functions (TODAY(), OFFSET(), INDIRECT()) in the output formula. These force full recalculation — making the table painfully slow. Replace OFFSET(B1,0,0) with B1 first.

One hard limit: Data tables max out at 32,767 rows. If you need 50,000 scenarios, use Power Query or Python — not this tool.

Keyboard Shortcuts

Speed matters. Here are the exact key sequences you’ll use most:

ActionShortcutNotes
Open Data Table dialogAlt + A + W + TFastest path — no mouse needed
Select current region (model area)Ctrl + A (twice)First Ctrl+A selects used range; second extends to full data region
Edit formula in cellF2Critical for checking D2 before running table
Recalculate sheetF9Use after editing inputs — confirms table updated
Toggle formula viewCtrl + `See =TABLE(,B2) in E2 — confirms it’s working
Tom Bradley

Tom Bradley

Tom has 15 years of experience in office management and supply chain optimization. He shares practical tips for running efficient workplaces.