
On Firday, we proposed a new chart for showing project plans. I chose an ugly name for it and called it Gantt Box Chart.
Essentially, a gantt box chart is what you get when a gantt chart and box plot go to a bar, get drunk and decide to make out. It shows the project plan like any other gantt chart, and it shows the distribution of activity end dates, like any other box plot.
You can see an example gantt box chart for a fictional software project above.
Today, we will learn how to create a similar chart in Excel. Get a steaming cup of coffee or whatever keeps you going and follow these simple steps to make a gantt box chart.
[Read this post if you want to know what GBC is and how to read it]
1. Set up your data:
Just like any other chart in excel, a gantt box chart too requires well structured data. In our case, we need 5 things.
- Activity name
- Start Date
- Best Case End Date
- Realistic (or Plan) End Date
- Worst Case End Date
Getting all the 3 variations of End dates can be tricky. But if you are managing projects for long, you might already know how to get these dates. Otherwise, here is one approach, proposed by Joel Spolsky, called as Evidence Based Scheduling that can help you.
We will also need 3 additional helper columns where we need to calculate some numbers so that our gantt box chart can be constructed without resorting to magic wands. These are,
- BC: Number of days between Start Date and Best Case End Date
- R: Number of days between Best Case End Date and Realistic Date
- W: Number of days between Realistic Date and Worst Case End Date

2. Create a Stacked Bar Chart
Add a new stacked bar chart. The series to be stacked are,
- Best case end date
- R
- W
Use the “Activity Name” column for category axis labels.
Now, our chart should look like:

3. Say your favorite curse word and Reverse the categories
Ok, time for a minor annoyance. Excel has magically showed the first activity of project at bottom. So, we need to reverse the category axis values before any further.
Just select the category axis, go to format axis (press CTRL+1) and click the little box that says “order reverse in Categories”.
Now, the chart should look like this:

4. Add Error Bars to Best Case Series
Now, add error bars to the best case series of the chart so that it looks like a line is drawn connecting best case date to start date of each activity. To do that, follow these steps:
- Select “best case end date” series.
- Add Error Bars (from format ribbon)
- Specify the type of error bar as “Negative only”
- Select “Custom” for error bar values
- Now, point the error bar values to the helper column “BC”
- Format the error bar in such a way that no cap is shown and it is thick.
At this point, our gantt box chart should look like this:

5. Finally, format the chart
Now, our gantt box chart is almost ready. But it is still ugly. We need not hire a Hollywood grade make-up man to beautify this. We just need a few clicks.
- Remove legend
- Add vertical and horizontal grid lines. Make them subtle.
- Change text colors to soothing ones.
- Remove fills from all series in stacked bar chart.
- Apply borders to 2nd and 3rd series to create a box effect.
- Format the date axis,
- Adjust the starting point (unfortunately you have to enter the number equivalent of date, like 1-May-2010 as 40299)
- Adjust major unit – I used 14 days, you can try something else depending on overall project length.
- Set the axis number formatting to d-mmm or mmm or myy or something else that works for you.
- Add a chart title
That is all. Our Gantt Box Chart is finally ready. Now, go figure why your project is not on track and do something about it.

Displaying Completed Activities:
The easiest way to show completed activities is to change all 3 end dates to the same date: that of the actual end date. This way, you just see a line when an activity is done and a box when there are variations in end dates.
Of course, you can use another helper column to show a vertical line or a symbol of your choice to denote the end point as well. I leave it to you to figure out that portion.
Download the Gantt Box Chart Template:
I have prepared an excel template for creating Gantt Box Charts quickly. Go ahead and download the version that you want.
Excel 2007+ version | Excel 2003 version
Here is a mirror with both files as a zip. Go on, be awesome 🙂
Share your experiences of using Gantt Box Chart:
If you like this chart and implementing it in one of your projects, do tell me how it went. Or just share your thoughts on this implementation and any suggestions. Go ahead and share.
Templates & Tutorials on Project Management:
- Excel Gantt Chart Template
- Project Milestones – Timeline Template
- Project Status Dashboard Template
- More resources on using Excel for Project Management
Project Management Template Set – Get a copy today
I have made a set of 24 templates that take care of various activities in a project right from planning to time sheets to issues to project status reporting thru dashboards. These templates have been bought by more than 500 project managers all over the world and they are saving hours of time every week using these templates.
Go ahead and a get a copy of my project management templates.

















10 Responses to “Multiple Find Replace with Power Query List.Accumulate()”
Note: The text-formula above miss a -1. The video is correct.
😀 sorry, I made the exact same mistake as you did - initially - in the video. {0..3} is one thing, and Table.RowCount(replacements) -->3 items ={0,1,2} is another thing.
1st question : you've created a new column to put the replacements in. how ca we replace in the original column without creating a new one ?
2nd question : how can we replace the value in the entire cell and not only the text (Using ReplaceValue instead of text.Replace) ?
Thanks you in advance
Chandoo, I would be very interested to have your answers in both Yassine's questions!
Thank you for sharing,
Vassilis
Thank you for this! I was just doing an assignment where I was having to replace words with other words in my Excel sheet. We are starting with the basics in my class, so I know I don't have a huge list that I would need to find and replace, but this is something that could be useful down the road for me!
Hi
This is nearly perfect for my needs thank you, however I would like just the "replace" to be the result if possible please, I have tried in vain adjusting the formula without success.
Thank you in advance
Thank you! Awesome tip, and very flexible, too.
My find/replace values were in non-adjacent columns of a table containing a bunch of other data. Worked prefectly and I am now a tiny bit less clueless.
Hi!!!
I have the same question that Yassine did.
I need to replace the values in the same column. I don't want to create a new column e then have to remove the old column.
How could I could that?
That's a real fun article. It inspired me to delve deeper into the topic of List.Accumulate. I can see how the function works, but it takes an additional step to imagine how one can use it for more complex applications.
Your example also made it into my article, together with some other use-cases. Would be great to get your opinion on which other areas you would include in the article.
Let me drop the link to the page so others can too find it for further reading: https://gorilla.bi/power-query/list-accumulate/
Expression.Error: The name 'replacements' wasn't recognized. Make sure it's spelled correctly.