Waterfall charts are commonly used in business to show how a value changes from one state to another through a series of intermediate changes. For example, you can project next year’s profit or cash flow starting with this year’s value, and showing the up and down effects of changing costs, revenues, and other inputs. Waterfall charts are often called bridge charts, because a waterfall chart shows a bridge connecting its endpoints. A simple waterfall chart is shown below:
There is more than one way to create a waterfall chart in Excel. The first approach described below is to create a stacked column chart with up and down columns showing changes and a transparent columns that help the visible columns to float at the appropriate level. Under some circumstances this simple approach breaks down, and another approach is described.
Floating Column Chart Data and Calculations
Here is some sample data showing how to construct a stacked-column waterfall chart. The left table has a column of labels, then a column with just the initial and final values, then columns with increases and decreases in value. This is the almost arrangement needed for making the chart, but I prefer to put these values into a single column as shown at right, and let the formulas sort it all out.
The first approach most people try is to use a floating column chart, that is, a stacked column chart with the bottom column in the stack hidden to make the others float. This range contains the calculations needed to make a floating column waterfall chart. After the two columns of labels and values, as in the top right table, there are calculated columns for the chart endpoints, the blank series that supports the floaters, and up and down values. Here are the formulas; the formulas in D3:F3 are filled down to row 7:
The chart is pretty easy to make. Select A1:A8 (yes, include the blank top cell), hold Ctrl and select C1:F8 so both selected areas are highlighted, and create a stacked column chart.
Finish up with a little formatting. Set the gap width of the columns to 75%: format the series and on the Series Options or Options tab, change the value for gap width. Hide the Blank series by giving it no border and no fill, use colors that invoke positive and negative for the audience (usually green and red, which makes it tough for those with color vision deficiencies), remove the legend.
Data Crossing into Negative Territory: Breakdown with Stacked Columns
That seems just too simple to be true. And in fact, for data like the following, which has negative as well as positive values, the simple floating column chart approach fails.
The green and red bars are the correct length, and as long as they are located completely above the horizontal axis, the chart is cool. But the formula computing the blank values is too simplistic, and Excel prohibits the floating bars from floating across the axis.
You can still use stacked columns, but you need to compute two sets of up bars and two sets of down bars, one set of each that lies above the axis, and one that lies below the axis. You also need to fix the formula for the blank series so it floats each column above or below the axis as necessary, or provides no float if the column spans the axis. Wow, so complicated.
Approach Using Up-Down Bars
There is another approach which takes a bit longer to chart, but the formulas are easier, and the columns in this case are able to float anywhere, even across the axis. This approach is based on line charts and a line chart feature called up-down bars. Up-down bars connect the first line chart value at a category to the last, like the open-close bars in a stock chart. In fact, Excel uses up-down bars as open-close bars in its stock charts. The up bars and down bars can be formatted individually.
The range below contains the calculations needed to make an up-down bar waterfall chart. After the two columns of labels and values, as above, there are calculated columns for the chart endpoints, and the values before and after adding an item to the previous total. Here are the formulas; the formulas in D3:E3 are filled down to row 7:
The chart-making process is a bit longer than for the floating column chart approach. Select A1:A8, hold Ctrl while selecting C1:E8, and create a line chart.
Select the Ends series and convert it to a column chart.
Select one of the line series, and add Up-Down Bars. In Excel 2007 and 2010, go to the Chart Tools > Layout tab, click the Up-Down Bars button, and select Up-Down Bars from the menu. In Excel 2003 and earlier, format the series, and check Up-Down Bars on the Options tab.
Hide the line chart series by formatting them to show no line and no markers, and format the up-down bar colors.
Remove the legend, and change the gap width of the column and the up-down bars to 0.75. This is easy for the column: simply format the series and on the Series Options or Options tab, change the gap width value. For the up-down bars in Excel 2003 and 2010, format one of the line chart series, and on the Options or Series Options tab, change the gap width value.
In Excel 2007 there is no way to change the up-down bar gap width from within the user interface, but you can do it with VBA. Press Alt+F11 to open the Visual Basic Editor. Press Ctrl+G (or go to View menu > Immediate Window) to open the Immediate Window. Type the following line of code into the Immediate Window (capitalization does not matter), then press Enter:
ActiveChart.ChartGroups(2).GapWidth = 75
Indistinguishable from the floating stacked column approach.
Data Crossing into Negative Territory: No Problem with Up-Down Bars
This is the negative trending data set that messed up the floating columns. The up-down formulas work just fine.
Follow the same process. Create a line chart.
Change the Ends series to columns.
Add up-down bars to the lines.
Hide the lines and markers and format your colors.
Change the necessary gap widths, and delete the legend.
Perfect, no problem with spanning the axis with our floating columns.
Stacked Columns for Positive and Negative Data
Earlier I said that it’s possible to use stacked columns for mixed values, and for completeness I’m going to describe the protocol here. If you don’t care to read about it, feel free to skip ahead, or to visit some of the other tutorials on this web site.
Here’s the start of the calculations for the stacked-column-across-the-axis approach. Here are the formulas for blanks above and below zero in D3 and E3:
Since at most only one of these has a non-zero value, we can replace the two formulas by a single formula which adds them together:
Let’s consolidate the Blank column, and compute the other values. Here are the formulas; those in D3:H3 are filled down to row 7:
Select A1:A8, hold Ctrl while selecting C1:H8 so both areas are highlighted, and create a stacked column chart. Format the Blank series to hide it, format both Up series the same and both Down series the same. The result is almost identical to the up-down bar version, except here the horizontal axis is not hidden by the bars that cross the axis.
Waterfall Chart with Intermediate Cumulative Totals
It’s easy to accommodate intermediate totals in a waterfall chart. Adjust your formulas so the Ends series has a cumulative total and no red or green bars at the appropriate category. Construction of the charts is the same as without the intermediate totals.
Here is how the data and charts appear for a stacked column waterfall chart with intermediate totals:
Here is how the data and charts appear for an up-down bar waterfall chart with intermediate totals:
Compound Floating Columns
Sometimes a waterfall chart may have two or more items stacked within a floating column. In the data table below, we see that Items A and B both contribute to the accumulating value. This kind of illustration only makes sense if the Item A and B values are all positive or all negative. Otherwise the chart will be confusing.
This table contains calculated blank data for a stacked (floating) column waterfall:
Select the data in column A, then hold Ctrl while selecting the data in columns C through E, and insert a stacked column chart as before.
Hide the blank series and the chart is complete.
A compound waterfall chart with up to two elements can be made using the up-down bar approach. There can be only one set of up-down bars per axis, so one set is on the primary axis and the other on the secondary axis.
Here is how the data is arranged for up-down bar waterfall. Here are the formulas that generate the table, which are filled down as far as shown:
Select A1:B8, then hold Ctrl while selecting E1:H8 so both regions are highlighted, and insert a line chart.
Move the Before B and After B series to the secondary axis.
Select the secondary vertical axis (right of chart) and press Delete.
Convert the Ends series to a column.
Select either Before A or After A and add Up-Down Bars.
Select either Before B or After B and add Up-Down Bars.
Format the up-down bars and adjust gap widths.
If the endpoints are also split by item, the data looks something like this.
Here the blanks have been calculated for floating columns:
Construction of the chart is the same as before, starting with a stacked column chart, except there is no Ends series.
Here is the finished chart with Blanks made transparent.
Here the Before and After A and B values have been calculated for up-down bars:
Construction of the chart is the same as before, starting with a line chart, except there is no Ends series which must be converted to columns. Before and After A stay on the primary axis, while Before and After B move to the secndary axis.
Add two sets of up-down bars.
Hide the legend, hide the lines and markers, and format the up down bars. The chart looks just like that using stacked columns.
Because there are only primary and secondary axes in an Excel chart, the up-down bar approach can only support a two-item per stack waterfall chart. The stacked column approach can support many more items: the limitation is imposed by the legibility of the resulting chart.
Here is data for a waterfall chart with three items per stack (you could add enough items to make your chart illegible).
The data has a calculated Blank column to float the three columns.
Select the data in column A, and hold Ctrl while selecting the data in columns C through F, and insert a stacked column chart.
Hide the Blank series, and hide the unwanted legend entries (click once to select the legend, and click a second time on the legend entry, and press Delete).
Peltier Tech Chart Utility
This tutorial shows how to create waterfall charts in Excel, including the specialized data layout needed, and the detailed combination of chart series and chart types required. This manual process takes time, can be prone to error, and soon becomes tedious. If you want to add data labels, tedium increases.
I have created the Peltier Tech Chart Utility to create such waterfall charts (and many other custom charts) automatically from raw data. This utility, a standard Excel add-in, lays out data in the required layout, then constructs a chart with the right combination of chart types. This is a commercial product which has been tested on thousands of machines in a wide variety of configurations. Using this utility will save you time and aggravation.
Please visit the Peltier Tech Chart Utility page for more information.