A while back I developed a solution to a Chandoo.org Forum question, where the user wanted a 4 level doughnut chart where each doughnut was made up of 12 segments and each segment was to be colored based on a value within a range.
You can read the original post here: http://forum.chandoo.org/threads/hourly-goals-chart.30621/
This post will examine the techniques I used for the solution.
Data
Download the sample file: Download Hourly Goals Chart File
The first thing to note is that there are 4 column of data, one for each measure of Safety, Quality, Delivery and Cost.
Secondly is that each measurement has 12 values representing the times from 4:30 am to 3:30 pm.
We need to setup a Doughnut Chart with 4 layers of 12 segments each
The easiest way to do this is to replicate the data area, but fill it with the same value in all cells,
I choose 1, but as long as all values are the same value, it can be any value
Add a Doughnut Chart
Select the Range A16:E28
Goto the Insert, Chart and select the Pie/Doughnut menu
We have a bit of work to do yet to get the charts format correct
First select the chart then select the Chart’s Legend and press Delete
Next with the chart still selected, Right Click on any Doughnut and select Format Data Series
Set the Doughnut Hole Size to 25%
Do not change the angle of the first slice
Right click on the Outer Doughnut and select Add Data Labels, Data Labels
Right Click on any Data Label and Select Format Data Labels
Tick Value From Cells, Select a range A17:A28
Untick Value
Untick Leader Lines
Now manually click and drag each data label outwards to its final location
Finally set the Border Color for the doughnuts
Right Click on each Doughnut in turn
Set the Doughnut’s Border Line to a Grey Color and a 2 Pt line size
We can now add a text box for the Doughnut Labels
With the chart selected, goto the Insert, Text Box menu
Drag a Text Box inside the chart
Right click on the Text Box and edit Text and type in the value Cost
Now repeat this for the other 3 Doughnuts
Connect the Doughnut Segments to the Data Area
We now have a basic Doughnut chart with all the facilities we require.
Unfortunately, Excel doesn’t have a built-in Conditional Formatting option for charts.
So we will need to develop a system using some simple VBA.
Understand the Doughnut Chart
To write a piece of code we will need to loop through each segment of each doughnut and reference it back to the source data area
Then use some code to set the fill color
then repeat for each segment
To do this we need to understand which doughnut is which column of data and which segment in the doughnut is which time period
First select the inner Doughnut, Note that when you select it, Excel highlights the Safety Series as well as showing the Series Number in the Formula Bar
Repeat with the outer Series and you will see that Doughnut 4 is connected to the Cost Data and is series 4.
To determine which segment is which goto cell E17 and change the value from 1 to 2
So we understand that the series go from Value 1 to 4, Inner to Outer Doughnuts and that the segments go from value 1 to 12 clockwise, starting to the right of 12 O’Clock.
Finally select the Chart and make note of it’s name.
The Charts Name is shown in the Name Dialog above cell A1
Now for some VBA
Lets start by first manually recording a macro in VBA and we will then edit and add to the macro to get our final result
Start the macro Recorder by Pressing the Macro Button in the lower left corner of the Excel Window
Note the Macro Name, which is most likely Macro1 and press Ok
Now everything that you do is being recorded by the Visual Basic Editor (VBE)
Select the Outer Doughnut, then select Segment one, then Right Click on Segment one, Format Data Point
Select the Fill & Line menu
Set the Fill to a Solid Fill and Select a Color Red
You can now stop macro recording by pressing the Macro button again
Lets look at our code
To change to VBA press the Alt+F11 button
You should have a screen similar to this:
Take note of the above.
We can see that we have a Macro1 subroutine, located in Module 1 of our Excel file.
If you can’t see a Properties or Immediate window, don’t worry.
Looking at the VBA Code we can see
- That the chart is called Chart 1
- We selected Doughnut 4, the outer doughnut
- We selected the first segment in Doughnut 4
- We set the Fill Color of Segment 1 to Red = RGB(255, 0, 0)
So this little bit of code will form the basis of our macro
What we need to do next is to place that within 2 loops, one loop for the Doughnut and one loop for the Segment
So lets do that:
You can see above that we have initialised two variables Doughnut and Segment as Integers
We have setup two loops, one for the Doughnut which will loop from 1 to 4 and a second loop for the Segment, which will loop from 1 to 12.
We can now use these variables within the code to reference each Doughnut / Segment as relevent
The next thing is to add lines to lookup the value of the measure in the original data table.
We can use our variables to assist us with this:
I have added a new variable declaration myVal and declared it an Integer as it is only storing the values from, 0 to 3.
Then we retrieve the value from the data area by using a Range(“”).Offset(Row,Column) combination.
We know that the segment loops from 1 to 12 and this is the Row Offset in each Doughnut.
The Doughnut loops from 1 to 4 and this is the Column Offset from the cell A1
Next we need to allow for each fill color remembering that the data area has a legend
We could loop from a value of 0 to 3 and check the new variable myVal against each value and set the color.
But VBA has a Select Case function which is ideally suited to this task
A also took the opportunity to streamline the Chart selection process in the previous step
That allowed the use of the With Object construct, allowing the Select case to use the myVal to apply different colors to the fill property of each segment
At this stage we can run the code, by simply pressing F5 in VBA
We can change the code to allow it to update automatically when Data range changes
To do this we need to shift the code to a Sheet1 Code Module associated with Worksheet Sheet 1
Note above that the code is now located in a Private Sub Worksheet_Change event. This means that the code runs whenever worksheet1 chnages.
The next line If Intersect(ActiveCell, Range(“B2:E13”)) Is Nothing Or Target.Count > 1 Then Exit Sub
Checks whether the cell that changed was not part of our Data Area or that multiple cells were selected.
If either are are true the macro ends
Then finally I removed the MyVal calculation and made it part of the Select Case function.
because we aren’t using myVal I removed the Dim myVal statement
We can now also remove Module 1, right click on it and Remove Module.
Save the file and return to Excel with Alt+F11
You can now change any cells in the data area and the macro updates the chart accordingly
Can we tidy up the layout of the worksheet?
Although we now have a fully functional model, we are stuck with an ugly worksheet layout because our template of 1’s is being used to support the framework of the 4 Doughnuts in the chart.
What if there was another way to achieve that?
Well there is.
Firstly, we could simply shift the range A18:ER30 well away from the Chart and data area or even move it to another worksheet.
This will work, but risks a person adding data, rows or columns and messing up the layout
But there is a better way
I am going to add 4 Named Formula to the worksheet, one for each Doughnut
Goto the Formula, Name Manager Tab and add 4 Names as listed below:
_Safety =1+(ROW(OFFSET(Sheet1!$A$1,,,12,1))-1)*0
_Cost =_Safety
_Delivery =_Safety
_Quality =_Safety
The 4 Names now contain an array of 12 x 1 each with a value 1.
We can use that to link the Doughnuts to instead of the Physical Range
Right click on the chart and Select Data
Select each Doughnut in term and Edit
Change the Series Name to Row 1 and insert the Names into the Series values dialog.
Note that the formula must include the Worksheet name =Sheet1!_Safety etc
Repeat this for the 4 Series
You can now select the framework range: A18:E30 and press Delete
The chart remains intact and is now supported by the Named Formula
Change some values in the Data range at the top and the Chart updates as it should.
You can download the final version of the file here: Download Completed File
Final Thoughts
The technique applied to the doughnut chart above can fairly easily be modified to any chart type or in fact any other shapes.
Let me know what you think in the comments below:
ps: This has been one of my hardest posts to write, simply because Microsoft has misspelt Doughnut. In my native Australian English it is Donut.

















































106 Responses to “Waterfall Charts using Excel”
First of all, great post. Second, an extra thought on the usefulness of waterfall charts in general:
Waterfall charts are best employed when a stacked bar (or, as I cringe, a pie chart) won't suffice because some of the "contributors" contribute negatively. This example is very helpful to get the basic technique down, but some extra math and series would need to be added to accommodate common waterfall chart applications (cash flow analyses, marketing mix, etc.).
Jon's add-in does this, I think (at least, based on the screenshots). It can be done without an add-in, but it takes a moment to get the math down on what you're referring to as 'Base Values' in this example (the transparent spacer series).
This is an incredibly useful program. In my job, I have found several uses for it already!
Thanks Aaron for taking th time to educate us!
Hi, nice tutorial, thanks Aaron and Chandoo. This also works in 2003, although some of the stages are very slightly different.
One possible improvement - some of the connecter lines may look as if they are slightly out of step with the blocks - in the final chart the one between "north" and "east" looks slightly too high. I also got this when I followed the tutorial. You can play around with borders for the element series - either turn them off completely, or make them the same colour as the fill colour, and play around with the line weight. If that doesn't work, consider adding in a small number to the connector values to offset them slightly.
Hi, That's a nice way to draw waterfalls. For a different take on waterfall charts, you might look at my post on how to draw them using scatter charts at;
http://www.edferrero.com/Blog/tabid/106/EntryID/16/Default.aspx
Thanks for the post. We use them all the time. As noted in an earlier comment, it would be great to adjust this so it can handle negative values, and color-code the negatives in red and positives in green.
For easier math and handling negative values:
Three colums of data, labels then the start and end points
In the chart wizard choose Line Chart and the 1st option - upper left hand corner of the dialog
Double Click on one of the Lines - select Format Data Series Select Options: Up Down Bars
Select each line; Patterns, Line, None
And Bob's your uncle.
This approach does not have Chandoo's nice connector lines - but it is easy to implement.
Great add, Bob. Two more things:
1) The up/down bars are based on the first and last series provided. You can add the line connectors like Aaron's chart has by adding a series for each line segment to the middle of the data table. Could be an easier way to do this, but hey... this worked.
2) I didn't like that the first datapoint (2008 in my example) and last (2009) were the same color as up bars. I see those as absolutes, and the up/down bars should be for the changes (Chg1-4). So, I added an absolute volume series (named Vol) and changed its chart type to Bar.
3) Using the same trick that Aaron explains, you can also add data labels. I didn't.
Bob's (in rows instead of columns):
Label 2008 Chg1 Chg2 Chg3 Chg4 2009
Start 0 100 110 100 55 0
End 100 110 100 55 125 125
Mine:
Label 2008 Chg1 Chg2 Chg3 Chg4 2009 Note
Start 100 110 100 55 UpDown
Vol 100 125 Type=Bar
Line 100 100 Type=Line
Line 110 110 Type=Line
Line 100 100 Type=Line
Line 55 55 Type=Line
Line 125 125 Type=Line
End 110 100 55 125 UpDown
Obviously, more cumbersome to set up but...
Grrr... attempt #2...
Bob's (in rows instead of columns):
_Label __2008 __Chg1 __Chg2 __Chg3 __Chg4 __2009
_Start _____0 ___100 ___110 ___100 ____55 _____0
___End ___100 ___110 ___100 ____55 ___125 ___125
Mine:
_Label __2008 __Chg1 __Chg2 __Chg3 __Chg4 __2009 Note
_Start ______ ___100 ___110 ___100 ____55 ______ UpDown
___Vol ___100 ______ ______ ______ ______ ___125 Type=Bar
__Line ___100 ___100 ______ ______ ______ ______ Type=Line
__Line ______ ___110 ___110 ______ ______ ______ Type=Line
__Line ______ ______ ___100 ___100 ______ ______ Type=Line
__Line ______ ______ ______ ____55 ____55 ______ Type=Line
__Line ______ ______ ______ ______ ___125 ___125 Type=Line
___End ______ ___110 ___100 ____55 ___125 ______ UpDown
OK, guys: I didn't get it at all, but God knows I've tried to !!
I can't download the sample @the office, but I'm wondering if you can lead me thru this example: I have a list of countries on col C, values for each Line Of Business on clos D and E, and total in col F.
I'd like to create the waterfall chart to show how each country contributes to the total.
How do I do thaT??
thanks !!
PLease disregard my previous post, I think i hadn't enough caffeine on me.....i totally did it !!
@Martin: Cool. Here is to Coffee and passionate users like you. Cheers!
thanks master !!
I've actually gone a step further, and combined the chart with a data validation filter, and the result was really impressive, a dynamic waterfall chart, without a single macro line !!!
Commenting this with a colleague form Finance, he mentioned that in this case (showing info from offices and getting to a region total), waterfall might induce to a confusion, as one might be tempted to understand that a certain office's numbers is based on the previous shown, and reluctantly, i had to agree with that vision.
Still, I love the results !!!
Rgds,
Martin
Outstanding tips. I never experiment that much. Thanks for this nice tutorial. Next time I definitely teach my younger brother about it. Again thanks.
I wish I could use waterfall charts with pivot tables and Dynamic number of data elements (which is why I use pivot tables). My main issue is related to data elements. I have charts I update every month for every project. So each project has its own set of charts (same charts with each project). However, each project might have 0 to 12 data elements. And every month the number of data element can change for each project. I do not see how I could do waterfall charts without a lot of work when I change the number of data points.
@Brian... One idea: you can take the above tutorial and create waterfall chart with 12 bands and then save it as template. Then next time you need to use a waterfall chart, just use it and set the blank elements as NA().
Another option is to try Jon's utility. It is a pretty good tool and takes care of most of this work automatically.
[...] please welcome Aaron Henckler as the Member of Month. Aaron has contributed a beautiful tutorial on creating waterfall charts using excel during the last month. He taught me few cool charting tricks through that. Thank you [...]
on http://www.hichert.com/de/software/exceldiagramme/55
there are some examples for waterfall charts.
Diagramm 675 (Rätsel 3)
Diagramm 657, 656, 655
if you mouse-click on the chart you can download the corresponding xls-file.
have also a look on the new poster HI-SUCCESS-Rules for information design.
brochure in english
http://www.hichert.com/downloads/media/broschueren/brochure_2008_en.pdf
poster preview
http://www.hichert.com/de/shop/poster/203
[...] to Aaron, who guest posted about excel waterfall charts in August. In august, I have turned my attention towards the pivot tables and wrote Excel Pivot [...]
This is the best tutorial on Waterfall Charts!
@Chrisham.. no arguments there, Aaron really did a splendid job on this one.
Hi Chandoo,
Another firsts of its kind though there are many who claim to have prepared the first free version of waterfall charts and want their name to be entered in Guinness World Records but I've seen none.
My request is please update this note as you best know waterfall charts (WC)are best employed when a stacked bar or a pie chart won’t suffice because some of the “contributors” contribute negatively but above chart did not cover this aspect and also add some more templates of revised watefall charts
Thanks and best regards
Fakhar
PS: Thanks again for always taking time out from your very busy schedule for quick/timely response to our queries
To add another wrinkle, any thoughts on how to go from negative to less negative to positive numbers? We have a quarterly loss, trying to go from the GAAP to non-GAAP adjusted, which goes from a loss of 500 to loss of 100 to profit of 400 for example.
@Jeff... I am not sure, but waterfalls are not ideal for showing negative bars. But I have a weird suggestion. Try changing the axis settings so that horizontal axis crosses vertical axis at -600 instead of 0.
Jeff:
See my comment from August 11, 2009 and Seth's followup the same date. Nice simple approach that accomplishes your objective. An excellent alternative is to get Jon Peltier's Waterfall add-in - it does everything.
Great thanks Aaron,
This works really well for constantly incrementing series (ie. when you are always moving up as you move right)
It can be pretty easily adapted for changes which involve declining values by altering the base to always be the lowest number in the two connector series and using the absolute value for the Element Value.
I've come up with an improved template that handles negative values just fine. I'll see if I can figure out how to post it.
Hmm, can't find an easy way to share the file. If anyone's interested, let me know. Basically, you paste in three columns: labels, before, and after. THe excel I made up witll produce a waterfall chart with a starting and ending total, and provide green/red step bars, with dotted line connectors, for positive and negative deltas, respectively.
Todd, coul you please mail me your template? i would appreciate it: martin.tobon at gmail
Thanks
@Todd
Have a look here
http://chandoo.org/forums/topic/posting-a-sample-workbook
Thanks! So, the link is: http://rapidshare.com/files/416227351/Cheese_Waterfall_Template.xlsx
The filds highlighted in gray are all formulas, so don't need to be touched. It's not the cleanest (I should be able to condense it a bit), but it works for now.
Thanx! This is really helpfull and it works great in 2003. I was adjusting my graphs in Illustrator to get the message right :$ This is much more convenient and looks the way it should look.
Hi Todd,
The link is gone ; can you please re load, thanks!
Thanks
Have been using waterfalls for a long time.. this is very useful
For animated waterfall charts you can try http://www.fusioncharts.com/powercharts/charts/waterfall/ (This is one of the best product created by an Indian guy when he was 17 year old). I also checked his latest speech at Nasscom Emergeout Kolkata on 28th, 2011. They have clients like Google, Facebook, US Gov etc.
Thought of mentioning it here :), great work!
GREAT tutorial. Was able quickly replicate and then adapt for my uses.
Hello Aaron,
The post is Nice & useful.
But only for ascending data.
If any fall will come into account then this template would not support.
So if possible then Guide for Any fall between the raising Data.
Hi
Great post this and thanks for that. However I'm stuck in the last step and cannot link the label value to the element value. I'm using Excel 2010. Any help ?
Spoke too soon ! I was typing in the label box instead of the address box ! Works perfectly now !
Please please explain how to display negative values that contribute to the total
tnx in advance
Can this be done in Excel 2002 (what my company has). It seems to fall down for me in step 3, as there doesn't appear to be an option in Excel to convert the series to a line.
This just made my life a whole lot easier today. Thanks so much for sharing. Some of us have NO talent for this type of thing and when someone like me can make this work...all I can write is: May Many Good Blessings Fall Upon You!
Thank you so much for putting on web these easy to follow and clear instructions on creating waterfall charts. I have just done two and it was quite simple process.
Will come back for more tutorials!
Hi Todd, could you please re-upload your waterfall chart to deal with negative value?
Thank you a lot!
Hi Todd - Can you re update your waterfall chart? I am attempting to chart negative values in the midst of positive values and am having a hair raising experience.
Thanks so much!
Hi Todd
Could you please repost oyour waterfall chart. I am attempting to chart some negative values in the midst of postivie values. It is truly a hair raising experience.
Thanks much
Tina - please see comments 6 and 7 above.
This is cool! Thank you so much for sharing. Of all the approaches I explored, Aaron's is the easiest to understand.
GREAT post! I used to be a consultant and had this macro automatically built into my powerpoint program. I'm in a new job now and was so happy to find this tutorial to be able to show this kind of analysis again. Thanks!!
Can you post an example excel file of this tutorial with waterfall ups and downs showing the connector lines? How do you lay it out I cannot get it to work and keep connector lines despite a 3 columns attempt and a few cups of coffee
Cheers Chandoo and Co!
@Callan
Did you download the file in the section above
Download the Waterfall Chart Template:
Please download the waterfall chart template from here [.zip version here]
One extra hack I did on this feature was add a mechanism to arrange the columns in order from greatest to least without using vba. I used a combination of a unique_id, the max() function and the vlookup() function. I also set the series label dummy to be 20% of the biggest bar height or a minimum of n. I am using this as part of a display for an input page--the chart reorganizes and relabels with all sorts of different scales. I uploaded a file here: http://www.kaahlsfiles.com/excel/
This was very useful and well explained. I followed the steps and did it all myself.
Thanks heaps.
Chandoo - I am using Excel 2010. Was able to navigate the tutorial without a hitch until the end. I cannot get Step 9 to work. Any advice?
@Chrs
"Click a third time on the edge of the box that appears and then type the equals sign “=”. Now go back to your data table and click on the cell of the Element Value that you want appear in the label. Then press enter."
What this should say is Select the labels for the series, then select an individual label by selecting it again. With just an individual label selected, type a formula in the Formula Bar =$A$10 (Change to suit)
Press enter.
there is not any critical plus and minus data for water fall chart so if its possible then plz add some increasing and decreasing value typ chrat....and thanks for ur tutorial..
Superb stuff. Always wanted to know how to do this. very much appreciated.
I used to to these kind of charts by myself before, but it took me a lot of time... My company has just installed an excel add-in, which allows you to make a rather nice and very easy to make waterfall chart; it's called Upslide (www.upslide.net), and it's rather great!
Great tutorial. Had to fiddle about to display negatives properly (subtracting them from the base)- but looks good. Thanks for taking the time to post this.
I don't know why companies never really teach you how to use the basic software you are provided with; I always feel like an XL dummy, but this waterfall diagram trick is pretty nice and worked for me. I have seen business development folks reduced to drawing them in powerpoint, which takes ages and if you need to make a change that causes some sweat and tears. Now I, a mere R&D guy, can get nice value proposition waterfalls for projects and change them painlessly too. Thanks for the post!
Hi chandoo,
I have a two row and 7 column data and i have followed the steps as per the tutorial.
But i am not able to implement 3rd step while doing it my one of the data vanish. I tried it with all colors, and ultimately my chart got blank.
Thanks
I've been running charts like this for a couple of years in Excel 2002. I have it set up as a template for others in my prior department to use in their presentations. It's quite versatile and works for them well...but the labels all fail in Excel 2007. I've got labels that are not manually linked as described above, but rather I've created addtional series to hold the labels. The Y value is the Y value of the series I'm labeling, and the x-value is the TEXT version of the gap number I want to label. Then I set the label to show the x-value. Since the x values are text, they align with the other series' x axis and it has been working flawlessly. Any way to automate labeling like this in Excel 2007? Shy of an add-in?
Try this site, http://www.waterfall-chart.com/
You enter your data, and receive a waterfall as an Excel file.
Besides, the labels are nicely handled.
Great explanation.
You may want to try, too if you have to create many waterfalls or create perfect waterfalls fast including negatives.
http://lacs.xtreemhost.com
Wow, this was the most helpful and easy to follow set of directions I have ever found! Thank you so much!!
I wanted to automate this process so wrote a little sub to take care of it. However it won't handle negative values or a falling waterfall chart (only rising). They are on my todo list.
[code]Sub WaterfallChart()
Dim i As Integer
Dim sum As Double
Dim base As Double
On Error GoTo Err1:
Dim x
x = Selection.Value
ThisWorkbook.Sheets.Add
Range("a1").Activate
Range("A1").Value = "Axis Labels"
Range("b1").Value = "Base Values"
Range("c1").Value = "Element Values"
Range("d1").Value = "Label Spaces"
For i = 1 To UBound(x)
ActiveCell.Offset(0, 3 + i).Value = "Connector " & i
Next i
Range("a2").Activate
base = 0
For i = LBound(x) To UBound(x)
ActiveCell.Value = x(i, 1)
If i LBound(x) Then
ActiveCell.Offset(0, 1).Value = base
End If
ActiveCell.Offset(0, 2).Value = x(i, 2)
If i = 1 Then
ActiveCell.Offset(0, 4).Value = x(i, 2)
Else
ActiveCell.Offset(0, 2 + i).Value = base
ActiveCell.Offset(0, 3 + i).Value = x(i, 2) + base
End If
ActiveCell.Offset(0, 3).Value = 20
base = base + x(i, 2)
ActiveCell.Offset(1, 0).Select
Next i
ActiveCell.Value = "Total"
ActiveCell.Offset(0, 2).Value = base
ActiveCell.Offset(0, 3).Value = 20
ActiveCell.Offset(0, 3 + UBound(x)).Value = base
'Creating the Chart
Columns("A:A").Select
Range(Selection, Selection.End(xlToRight)).Select
Columns("A:H").EntireColumn.AutoFit
Range("a2", Range("a2").End(xlDown).Offset(0, 3 + UBound(x))).Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnStacked
ActiveChart.SetSourceData Source:=Range("a2", Range("a2").End(xlDown).Offset(0, 3 + UBound(x)))
ActiveChart.PlotBy = xlColumns
ActiveChart.Axes(xlValue).MajorGridlines.Select
Selection.Delete
'Create Connectors
For i = 4 To UBound(x) + 3
ActiveChart.SeriesCollection(i).Select
ActiveChart.SeriesCollection(i).ChartType = xlLine
With ActiveChart.SeriesCollection(i).Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
End With
With ActiveChart.SeriesCollection(i).Format.Line
.Visible = msoTrue
.Weight = 0.25
End With
With ActiveChart.SeriesCollection(i).Format.Line
.Visible = msoTrue
.DashStyle = msoLineSysDash
End With
Next i
'remove legend and hide data series
ActiveChart.Legend.Select
Selection.Delete
ActiveChart.SeriesCollection(1).Select
Selection.Format.Fill.Visible = msoFalse
Selection.Format.Line.Visible = msoFalse
ActiveChart.SeriesCollection(3).Select
Selection.Format.Fill.Visible = msoFalse
Selection.Format.Line.Visible = msoFalse
'Apply Data Labels
ActiveChart.SeriesCollection(3).ApplyDataLabels
For i = 1 To UBound(x) + 1
ActiveChart.SeriesCollection(3).Points(i).DataLabel.Select
Selection.Formula = "=" & ActiveSheet.Name & "!R" & i + 1 & "C3"
Next i
Exit Sub
Err1:
MsgBox ("An error has occurred")
Exit Sub
Err2:
MsgBox ("Non-numeric data")
End Sub[/code]
I should have noted that data is entered in the following fashion:
North 20
South 10
East 40
West 30
Then select the data and run the Sub.
great article!
Seen a pre build waterfall chart builder that is really handy
http://www.excelwithcharts.com/topic7.html
go check it out!
this is AWESOME ... simply AWESOME
tx,
//andie
....and here we have some extreme waterfalls...like Iguaçu, Niagara, Victoria...lol...
http://www.hichert.com/en/consulting/exhibits/65
BOOM!
2012 Budget Bridge in picture form. Thanks Man!!!!
Brilliant! I really liked the waterfall chart! Will be coming back for more!
Thanks a bunch!
Thank you, Thank you. I spent hours trying to figure out how to fix my data labels for a waterfall I had cloned. Finally, I found this article and the part that says...
"Click a third time on the edge of the box that appears and then type the equals sign “=”. Now go back to your data table and click on the cell..."
There's no way anyone could discover that on their own!!
Wow.. never thought there's a tool to make me easier to analyze the growth of my company..
thanks a lot!! you're such a great help!
Check out this video:
http://www.youtube.com/watch?v=m2_wxkv2djg
Thank you so much! This is a wonderful tutorial and very clear even for an excel-challenged person such as myself!
It's really helpful! It helps me to answer my boss' question :p
THankss a lott
Thanks a lot.. Extremely useful post..saved me a lot of time and trouble.
How could I show more visually the third component of the waterfall chart is heavily dependent on the first and second?
I am trying to 'build a story' that the starting point (jump off point) for this year to next (final number) is dependent on three main components A, B and C. But C is dependent on success of A and B. So while the waterfall chart shows that A, B and C are component of from getting from this year to the next but it does not show the relationship between A and B with C.
Any idea how to do this more visually and powerfully?
Thanks!
[...] I just G**gled, Excel Waterfall Chart.... http://peltiertech.com/WordPress/exc...bridge-charts/ Excel Waterfall Chart - Tutorial and Template - Learn how to make waterfall charts using MS Excel | ... Create an Excel Waterfall Chart - YouTube Create Excel Waterfall Chart I hope that helps. [...]
How to you get the waterfall chart to work when the variable goes below the x axis? Lets say you are looking at how sales have translated into negative profits. You have the main sales bar and progressively with expense categories it goes below the line. The series that goes below the line will be part of the same series that you are removing in previous items e.g cost of sales to create the floating effect. Therefore I am left with nothing below the line as that series is artifically removed. Hopefully that makes sense.
@Ian
You have to add extra series just to cater for the negatives
Hey Chandoo,
This is a great example of using the classic set up for the waterfall chart while adding the connectors. This is actually the first time I have seen connectors used in the waterfall.
Thanks for sharing.
Hi, thanks for the post it's helped me create something more meaningful than what I was using previously. I'm stuck on something though, I'm using Excel 2007 and trying to add the horizontal lines between certain points on the stacks that show up as dotted on your chart. Can anyone advise how I can go about adding these using the options in Excel?
Cheers
Andrew
Feel free to use the waterfall chart template I created and let me know your feedbacks:
http://www.alainblattmann.com/index.php/excel/waterfall-chart-bridge-chart
Regards,
Alain
Thanks, Chandoo. Very useful article. Now I better understand how it works. But I found add-in. I made several templates with different configuration of charts and use it. Look at this http://fincontrollex.com/?page=products&lang=en
[…] - Thanks to Aaron Henckler at Chandoo.org for creating an excellent tutorial on waterfall chartsii - Thanks to Rob Bovey at AppsPro for creating a very useful add-in for labeling […]
If you have Excel 2013, try this one out
http://office.microsoft.com/en-nz/store/waterfall-chart-WA104068937.aspx?queryid=7ecf1b58-1265-4fef-be37-17dacbafd66f&css=excel&CTT=1
It's free and seems to handle all the weird cases.
Thanks guys, this really helped me in understanding and creating a good waterfall graph.
I'm just dropping by to let you know, that I've visited this post numerous times to help me with with my waterfall charts.
Thank you so much!
[…] Excel Waterfall Chart - Tutorial and Template - Learn how to make waterfall charts using MS Excel | … http://www.contextures.com/excelwaterfallchart.html Excel Waterfall Charts (Bridge Charts) - Peltier Tech Blog If you insert columns for the extra periods (rather than add them to the end) your charts will update automatically to the new columns. […]
Hi,
It was really helpful data. alothough it was difficult to implement on mulitple data but managed to do that.
Thanx>>>>>>
saurabh gupta
thanks! this helped me a lot
Thanks guys 🙂 its 2nd July, 2014 and this article is still very relevant and helpful!
Took a little reading up but I managed to edit it and expand it to cover more range, awesome!
Great help, my boss ask me to prepare and it was easy.
Phenomenal tutorial, worked perfectly and looks great!! It's sad that it takes so many steps to make this work in Excel, but the steps you laid out make such a better waterfall than the other tips I've seen elsewhere...
Thanx a lot aaron
I was struggling with some data and was not satisfied with the presentation, made it in waterfall today.
Wil b able to sleep tonite 😉
thanx again
Thank you for the post. Everything works great with the tutorial but when I decide to insert another row into the table (e.g., if I was to add another region to the above table) the corresponding chart breaks in that the connector with the new bar is not visible and I can't seem to find a way to create it. I end up recreating the chart from scratch. Any help would be greatly appreciated.
Excellent post. I have used waterfall chart many times in the past but automatic update of connectors was really useful. Thanks
A really nice step by step way of producing a waterfall chart. It all went well when I had positive values , however, once I had a negative value, the relative bar was shown below the X axis. Any solution for this ?
Hi Chandoo,
This waterfall chart doesn't work for negative values. How do you show a negative value?
Matt.
@Matt
That is a basic waterfall chart.
Negative values must be handled using a separate series just for the negative components
I'd suggest that you either:
1. Have a look at:
http://peltiertech.com/excel-waterfall-charts-bridge-charts/
or
http://www.contextures.com/excelwaterfallchart.html
2. Use Excel 2016 which has waterfall charts built in.
@Matt. Please see my comment from Aug 11, 2009 (6th comment from the top above). Nice simple way to handle waterfalls including negative values. The following comments from Seth adds some nice enhancements. Of course, Jon Peltier's utility is the best.
Many thanks. Excellent post. It was really useful for me.
Thank you!! This is very well explained and visually useful 🙂 helped me a lot! Thanks again!!
Great Explanation. Keep it up
Also see More robust waterfall chart taking care of Negative Values and diff color for negative values at
https://eduqfa.com/ultimate-waterfall-chart-excel/
Dear Chandoo
Could you kindly send me the waterfall chart in pdf format by email please.
Would be of great help
Best regards
Srinivasan H, Mumbai