How to Create a Waterfall Chart in Excel (Step-by-Step)
A waterfall chart is one of the most useful visualizations for showing how individual positive and negative values contribute to a cumulative total. Finance teams use them to break down profit and loss. Project managers use them to track budget variances. Analysts use them to visualize net changes over time. If you've ever needed to show why a number moved from point A to point B, a waterfall chart is the right tool.
Here's how to build one in Excel — including the manual method for older versions and the built-in method for Excel 2016 and later.
What a Waterfall Chart Actually Shows
Before building one, it helps to understand what the chart is doing visually. Each bar "floats" at the level where the previous bar left off. Positive values push the running total up; negative values pull it down. The first and last bars typically sit on the baseline and represent starting and ending totals.
This structure makes it immediately clear which factors drove a number higher or lower — something a standard bar chart or line graph can't communicate as cleanly.
Method 1: Built-In Waterfall Chart (Excel 2016 and Later) 📊
If you're running Excel 2016, 2019, 2021, or Microsoft 365, Excel has a native waterfall chart type built in. This is the fastest path.
Step 1: Set Up Your Data
Organize your data in two columns:
| Category | Value |
|---|---|
| Starting Balance | 50,000 |
| Revenue | 30,000 |
| Operating Costs | -12,000 |
| Tax | -8,000 |
| Net Income | 60,000 |
Keep it simple — one label column, one value column. Don't add a "running total" column yourself; Excel calculates that automatically.
Step 2: Insert the Chart
- Select your data range (both columns, including headers).
- Go to Insert → Charts → Waterfall (it looks like a series of floating bars).
- Excel generates the chart automatically.
Step 3: Mark Totals as Totals
By default, Excel treats every bar as an incremental value. Your "Starting Balance" and "Net Income" bars need to be set as totals so they sit on the baseline instead of floating.
- Click on the bar you want to set as a total.
- Right-click → Format Data Point.
- Check the box labeled "Set as total".
Do this for any subtotal or final total bars. Missing this step is the most common reason waterfall charts look wrong.
Step 4: Format for Clarity
- Color-code positive bars (typically blue or green) and negative bars (red or orange) by selecting each series and changing the fill color.
- Add data labels via Chart Elements (the + icon) so each bar shows its value.
- Edit the chart title to reflect what the visualization actually represents.
Method 2: Manual Waterfall Chart (Excel 2013 and Earlier)
Older versions of Excel don't have a native waterfall type. The workaround uses a stacked bar chart with an invisible "base" series.
Step 1: Build a Helper Table
You need three data series: Base (invisible spacer), Increase, and Decrease.
| Category | Base | Increase | Decrease |
|---|---|---|---|
| Starting Balance | 0 | 50,000 | 0 |
| Revenue | 50,000 | 30,000 | 0 |
| Operating Costs | 68,000 | 0 | 12,000 |
| Tax | 56,000 | 0 | 8,000 |
| Net Income | 0 | 60,000 | 0 |
The Base value is the running total before each change. For increase rows, place the value under Increase. For decrease rows, place the value under Decrease. Totals start at zero.
Step 2: Insert a Stacked Bar Chart
- Select the full helper table.
- Go to Insert → Bar Chart → Stacked Bar.
- You'll see a stacked chart with three colored layers.
Step 3: Make the Base Series Invisible
- Click on the Base series (the bottom section of the stacked bars).
- Format Data Series → Fill → No Fill.
- Set Border → No Line.
This makes the spacer disappear, leaving only the floating increase and decrease segments visible. ✅
Step 4: Color and Label
Follow the same formatting steps as the built-in method — color the increase and decrease series differently and add data labels.
Variables That Affect Your Build
The right approach depends on several factors specific to your setup:
- Excel version — The built-in chart type saves significant time and handles running totals automatically. The manual method requires careful formula work and is more fragile if data changes.
- Data complexity — Simple single-period changes are straightforward in either method. Multi-level subtotals (e.g., gross profit, EBITDA, net income all in one chart) require more careful total-flagging in the native method or additional helper rows in the manual method.
- Dynamic data — If your source data updates frequently, the built-in chart adjusts automatically. A manually built chart using stacked bars can break if rows are added or values change significantly.
- Presentation requirements — Excel's native waterfall is clean but has limited customization. The manual stacked bar approach gives more visual control, which matters in polished client-facing reports.
Common Issues and What Causes Them 🔍
Bars aren't floating — You likely missed the "Set as total" step on your baseline bars, or your Base column values are incorrect in the manual method.
Negative bars go the wrong direction — In the built-in chart, negative values automatically go downward. In the manual method, negative values entered in the Decrease column must always be positive numbers — the stacked chart handles the visual direction.
Running total doesn't add up — Recheck your Base column formula. Each row's base should equal the sum of all previous values, not just the preceding row.
Chart looks fine in Excel but breaks in PowerPoint — When pasting into PowerPoint, use Paste Special → Picture (Enhanced Metafile) to lock the visual, or paste as an embedded object if you need it to remain editable.
The Detail That Changes Everything
A technically correct waterfall chart and a useful waterfall chart aren't always the same thing. Which items you include, how you group subtotals, and how granular your categories are will determine whether the chart communicates clearly or overwhelms the viewer. That judgment depends entirely on your data, your audience, and what story you're trying to tell — and those variables look different for every use case.