In this article, learn all about the XLOOKUP Excel function, it’s syntax, parameters and how to use it with real-world xlookup examples.

What is XLOOKUP?
Using XLOOKUP, we can search for an item in a list using the lookup value and return a matching item. For example, you can lookup for salesperson “Jackie” and return their sales amount from the data below using the XLOOKUP function, as depicted above.
It is the newest member of Excel’s lookup function family. You may already know the other members of this group – VLOOKUP, LOOKUP, HLOOKUP, INDEX+MATCH.
How to use XLOOKUP – step by step instructions
Let’s say you have data for salespeople like above and you want to find the Net Sales for “Jackie”. Follow below steps to create the XLOOKUP function in Excel.
- Write =XLOOKUP( in a cell
- For the lookup_value, Type the name of the salesperson in double quotes (ex: “Jackie”)
- Tip: If you have the name of the person in a cell (like G4), you can point to the cell instead of typing the name
- Now for the lookup_array, select the names column of your data.
- and for the return_array, select the net sales column of your data.
- Close the brackets and hit enter.
- Congratulations, you’ve just created your first XLOOKUP formula in Excel.
Here is how the formula and result look in my data:

What if the lookup value is not in the lookup array?

One of the most common scenarios of lookups in Excel is not finding the value you are looking for. Imagine, you are looking for the salesperson “Chandoo”, but he doesn’t exist in the dataset. In this case, XLOOKUP will return #N/A error.
But we can use the 4th parameter of XLOOKUP – if_not_found to set an optional value to display when there is an error.
Here is an example formula with that:
=XLOOKUP("Chandoo", B4:B21, D4:D21, "Not found")
How to lookup in the middle with XLOOKUP (INDEX MATCH replacement)?

Let’s say you want to lookup the sales amount of $726 and return the name of the person (in this case, Jessy). Previously, you needed to use the INDEX+MATCH combination for this. But XLOOKUP let’s us specify any range or column for lookup_array portion. so, no more INDEX+MATCH… Yay!

To perform the “net sales” lookup and return the name of the person, we can use the below formula:
=XLOOKUP(G4, G4:G21, G4:G21, "Not found")
The above XLOOKUP example assumes that G4 contains the net sales value you want to lookup.
How to lookup higher than / lower than using XLOOKUP? (approximate match)

Say, you want to find out the closest person with the net sales of $1300. In this case, we don’t have anyone with that value in the data. You can still use XLOOKUP to get the approximate matching value, either next higher or lower in the data.
For this we can use the 5th parameter of the XLOOKUP function – match mode.
There are 4 match modes in XLOOKUP.
- 0 or Exact match. This is the default value for XLOOKUP.
- 1 or next larger match. This looks up for the exact or next highest value in the lookup array.
- -1 or next smaller match. This looks up for the exact or next lowest value in the lookup array.
- 2 or wildcard match. This looks up based on a pattern you have mentioned in the lookup value. More on this further down in the article.
To get the next highest matching value:
=XLOOKUP(G4,D4:D21,B4:B21,,1)
Note: 1 refers to next higher value for match mode.
The above formula returns “Jonathan” in the sample data, as he has the next highest amount – $1316.
To get the next lowest matching value:
=XLOOKUP(G4,D4:D21,B4:B21,,-1)
Note: 11 refers to next lower value for match mode.
This formula returns “John” as he has the next lower value – $1088.
Getting Partial Matches with XLOOKUP (Wildcard / Pattern Matching)
XLOOKUP also allows for a powerful and elegant pattern matching in your data. Let’s say you want to find the net sales for the person whose name begins with the letters Jam. In this case, we can use the match mode 2 (wild card) along with the wildcard operators * (asterisk) and ? (question mark) to create our XLOOKUP.

To find the net sales of the person whose name begins with Jam,
- Use the formula =XLOOKUP(H4&”*”,B4:B21,D4:D21,”No such person”,2)
- Here H4 contains the first few letters of the name, i.e. Jam
- The lookup value is H4 & “*”. This tells XLOOKUP that we want the name to begin with the value of H4 (Jam) and then there can be any number of characters.
- Rest of the XLOOKUP parameters are as per usual.
- Don’t forget the match mode operator as 2. We need this for Wild card – pattern matching.
Refer to above illustration for more on the pattern matching xlookup.
Additional Pattern Matching Tricks with XLOOKUP
Refer to below handy table for some extra tips on using the partial matching feature of XLOOKUP.
| Situation | Formula | Explanation | Sample Result |
|---|---|---|---|
| Name ends with ved | =XLOOKUP(“*ved”, B4:B21,D4:D21,”No such person”,2) | To find a word ending with, we use * (asterisk) at the beginning of the pattern | Javed, $2277 |
| Name contains ack | =XLOOKUP(“*ack*”, B4:B21,D4:D21,”No such person”,2) | We can use two * symbols – one at the beginning of the pattern and one at the end. | Jackie, $1610 |
| Name has 5 letters and begins with Je | =XLOOKUP(“Je???”,B4:B21,D4:D21,,2) | In this case, we can use the ? (question mark) symbol to indicate that we can have any one character. So the pattern is Je??? | Jessy, $726 |
| Name begins with J and ends with d | =XLOOKUP(“J*d”, B4:B21, D4:D21,”No such person”, 2) | J*d means the lookup value begins with J, contains any number of letters and ends with d | Javed, $2277 |
What if there are two matching values?

If you have more than one matching item for the lookup value in your data, XLOOKUP, just like all other lookup functions in Excel, will always return the first matching item’s corresponding value.
As you can see in the above illustration, we have two sales persons with the name Johnson in our data.
When using =XLOOKUP(“Johnson”, B4:B21, D4:D21) we are going to get the net sales of the first Johnson ie $1540.
But what if I need to get the second or third or all the matching values?
In this case, you can use the new FILTER() function in Excel to get the second or all matching items.
Here is the formula.
=FILTER(D4:D21,B4:B21="Johnson")
For more information on FILTER function, refer to this article.
Horizontal Lookup with XLOOKUP (HLOOKUP replacement):

XLOOKUP works just as good with horizontal data too, thus replacing any need for HLOOKUP function.
In the above example, I have monthly budget table and I want to lookup the budget value for April 2024.
We can use this XLOOKUP formula to do just that.
=XLOOKUP(C10,C3:N3,C4:N4)
Returning entire row of information with XLOOKUP:
Another powerful feature of XLOOKUP is that it can return multiple values all corresponding to the same lookup value. For example, I want to see the budget, actual and balance information for the month of April 2024, from my budget spreadsheet below. We can use XLOOKUP for that easily.
=XLOOKUP(C10,C3:N3,C4:N6)
In the above formula, by using multiple rows (C4:N6) as the return array, we can return all corresponding values for the lookup value in C10 – ie April 2024. Excel will automatically spill these values into separate cells on the worksheet.

XLOOKUP – things to keep in mind:
When using XLOOKUP, you must keep these points in mind:
- XLOOKUP needs Excel 365 or Excel on the web or Excel 2021: This function is not available in all the versions of Excel. So check your version of Excel before you start using xlookup. If you notice #NAME errors when working with XLOOKUP, that means your version of Excel does not support this function. Instead, use INDEX+MATCH formula.
- Use the If not found option to fix errors: To avoid any lookup errors (#N/As), use the fourth argument of the XLOOKUP function – if_not_found.
- Lock cell references when creating lookups: If you are writing multiple XLOOKUPs in a range, don’t forget to lock your cell references to absolute mode (change B4:B21 to $B$4:$B$21) so that when you drag or fill the formula down, your lookup and return array ranges don’t change. This is a common mistake and you will end up with wrong results. (absolute vs. relative references)
- Or better yet, convert your lookup data to a table: A simple fix to the relative reference issue is to use tables on your data. This way, you can write simple XLOOKUP formulas like this: =XLOOKUP(“Jackie”,sales[Sales Person],sales[Net Sales])
- In case of multiple matches, XLOOKUP always returns the first (or last matching item, if you used search mode option) value. This is why it is important to also learn how to use the FILTER function in Excel.
How is XLOOKUP better?
- XLOOKUP makes the most used formula in Excel straight forward and less error prone. You just write =XLOOKUP(what you want to find, the list, the result list) and boom, you get the answer (or #N/A error if the value is not found)
- Looks up exact match by default: One of the annoyances of VLOOKUP is that you must mention FALSE as last parameter to get correct result. XLOOKUP fixes that by doing exact matches by default. You can use match mode parameter to change the lookup behavior if you want.
- 4th parameter to support value not found scenario In most business situations, we are forced to wrap our lookup formulas with IFERROR or IFNA formulas to suppress errors. XLOOKUP offers 4th parameter (read more about it below) so you can tell what default output you want if your value is not found.
- XLOOKUP offers optional parameters to search for special situations. You can search from top or bottom, you can do wildcard searches and faster options to search sorted lists.
- It returns reference as output, not the value. While this may not mean much for normal users, pro Excel user’s eyes light up when they discover a formula that can return refs. That means, you can combine XLOOKUP outputs in innovative ways with other formulas. For example: XLOOKUP to create dependant drop down in Excel.
- It is so much cooler to type, you just type =XL. I am not sure if this is a happy coincidence but saying =XL to get this formula is just awesome.
XLOOKUP Syntax
Simple case:
=XLOOKUP(what you want to look, lookup list, result list)
=XLOOKUP("Jackie", sales[Sales Person], sales[Net Sales])
returns Jackie’s [Net Sales] if the name can be found in [Sales Person]
Optional parameters:
By default, you just need 3 parameters for XLOOKUP, as shown above. But you can also use 4th, 5th and 6th parameter to specify how you want the lookup to be done.
4th parameter for XLOOKUP: IF not found (no more IFERROR!!!)
The newly introduced XLOOKUP has an even newer feature. It now supports if not found option. This is the 4th parameter.
For example, use:
=XLOOKUP(“Chandoo”, sales[Sales Person], sales[Net Sales],”Value not found”) to return “Value not found” if the lookup value is not available in the search column – sales[Sales Person].
5th parameter for XLOOKUP: Match mode or type:
Use this to tell Excel how you want your MATCH to happen. The default is 0 (exact match) but you can also use these other options, shown below.

6th parameter for XLOOKUP: Search mode
Try this if you want to search from bottom to top. The default direction is top down (1).

XLOOKUP with two sheets

If you have data in two seperate sheets (or files), you can use XLOOKUP to quickly combine the data and get what you want.
Refer to my XLOOKUP with two sheets article for detailed instructions and formula examples.
XLOOKUP – Video Tutorial:
Here is a simple but effective video tutorial on how to use XLOOKUP function and how it can replace VLOOKUP and INDEX+MATCH functions. You can also watch the xlookup tutorial on my channel.
Download XLOOKUP examples – workbook
Click here to download the 13 XLOOKUP examples file.
And one more example file, this with INDEX+MATCH replacements.
Final thoughts on XLOOKUP
In my opinion, XLOOKUP is a terrific function and a must have for any data professional. It is part of my essential Excel formulas list for data analysts.
When we nest XLOOKUP formulas, we can also perform more complex lookups like 2-WAY lookups or search across different worksheets. I discuss some of these advanced scenarios in a recent video on my YouTube channel. Please watch it here.
The only downside of XLOOKUP is the compatibility. It doesn’t work in all versions of Excel. For this reason, I still think there is value in learning how to use VLOOKUP and INDEX MATCH functions.
Do let me know what you think about XLOOKUP and if you have any questions about it using the comments section.
Learn more about Data Analysis with Excel:
This post is part of my data analysis with Excel series. Please learn other topics too and improve your data skills with Excel.
- How to use Excel Tables – 13 time saving tips
- How to use Dynamic Array functions in Excel such as Filter, Unique, Sort etc.
- Working with Power Query in Excel to save time and shine at work
- Know more about XLOOKUP with my course
















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