Gantt Chart in Excel: How to Make One Step by Step (Two Methods)
How to make a Gantt chart in Excel two ways — a stacked bar chart and a conditional-formatting timeline — with formulas for working days, dependencies, progress and a today line.
Short answer: Excel has no built-in Gantt chart type, but you can build one in two ways. The stacked bar method plots each task’s start date and duration as a bar chart and hides the first series, leaving floating bars on a timeline. The conditional formatting method colours cells in a date grid wherever a task is active, using a rule such as =AND(G$4>=$C5,G$4<=$D5). The bar chart looks better in reports; the grid is easier to update, shows progress and a today line, and prints cleanly.
Both methods start from the same task table, take about fifteen minutes and work in any recent version of Excel. This guide walks through each one, then adds the formulas that make a Gantt chart genuinely useful: working days, dependencies between tasks, progress and milestones.
Step 1: Build the task table
Every Gantt chart starts with a list of tasks, each with a start date and a duration. Keep it in a table with these columns:
| A Task | B Start | C Duration (days) | D End | E Owner | F Progress |
|---|---|---|---|---|---|
| Plan products and pricing | 1 Dec 2026 | 5 | 5 Dec 2026 | Anna | 100% |
| Take product photos | 6 Dec 2026 | 4 | 9 Dec 2026 | Ben | 50% |
| Write listings | 8 Dec 2026 | 6 | 13 Dec 2026 | Anna | 0% |
| Set up store and payments | 10 Dec 2026 | 5 | 14 Dec 2026 | Ben | 0% |
| Test orders | 15 Dec 2026 | 2 | 16 Dec 2026 | Anna | 0% |
| Launch | 17 Dec 2026 | 1 | 17 Dec 2026 | Team | 0% |
This is an example project; replace it with your own tasks. Calculate the end date rather than typing it, so the chart updates when a duration changes: =B2+C2-1 for calendar days, or =WORKDAY(B2,C2-1) if the task only runs on weekdays (see Step 4).
Method 1: Stacked bar Gantt chart
- Select the Task, Start and Duration columns (A1:C7). Hold Ctrl to skip columns if they are not next to each other.
- Insert the chart: Insert → Charts → Bar → Stacked Bar. Excel draws two coloured segments per task: start date and duration.
- Hide the start segment: click the first series (the one starting at the axis), then Format Data Series → Fill → No fill and Border → No line. The duration bars now float at the right dates.
- Put the first task at the top: click the vertical axis, open Format Axis and tick Categories in reverse order.
- Fix the date range: Excel starts the horizontal axis at zero, which is 1900 in date terms. Click the horizontal axis and set Minimum to your first date as a serial number. To find it, type the date in a cell and change its format to General — 1 Dec 2026 is 46357. Set Maximum the same way, and Major unit to 7 for weekly gridlines.
- Tidy up: reduce Gap Width to around 40% for thicker bars, delete the legend, and add data labels or a chart title if the chart goes into a report.
The chart is linked to the table, so new rows appear if you extend the data range — turning the task list into an Excel table (Ctrl + T) before inserting the chart makes this automatic. The limitation is that progress, today’s date and weekends are awkward to show on a bar chart. That is what the second method does better.
Method 2: Conditional formatting timeline
This method turns the cells to the right of your task table into a calendar and colours them where each task is active.
- Create the date header. Place the task table so its first task is in row 5, leaving row 4 for headers. In the first free column to the right of the table — G4 in this layout — enter the project start:
=MIN($B$5:$B$50). In H4 enter=G4+1and copy it across for as many days as the project needs. For long projects use=G4+7to show one column per week. - Format the header to show the day number (custom format
d) with the month above it in row 3 if you like, and make the columns narrow (around 3 characters wide). - Add the bar rule. Select the grid, for example G5:AL50, then Home → Conditional Formatting → New Rule → Use a formula and enter
=AND(G$4>=$B5,G$4<=$D5). Choose a fill colour. The dollar signs matter: the row of dates is fixed in the header, the start and end columns are fixed in the table. - Add a progress rule above it with a darker shade:
=AND(G$4>=$B5,G$4<$B5+($D5-$B5+1)*$F5). Half of a task with 50% progress is now dark and half light. - Mark today: a rule
=G$4=TODAY()with a red left border draws a today line through the whole chart. - Shade weekends: a rule
=WEEKDAY(G$4,2)>5with light grey, placed last, shows non-working days.
Order matters: in Manage Rules, put progress above the plain bar, and tick Stop If True where needed so the colours do not fight. Because everything is driven by formulas, changing a start date or duration in the table moves the bar instantly.
Which method should you use?
| Stacked bar chart | Conditional formatting grid | |
|---|---|---|
| Looks | Clean chart for slides and reports | Spreadsheet-style, very readable on screen |
| Progress and today line | Possible but fiddly | One rule each |
| Weekends and holidays | Not shown | Easy to shade |
| Printing | One chart object | Prints with the task table, page by page |
| Best for | Presenting a plan | Running a project day to day |
Many people use both: the grid for daily work and a bar chart copied into the monthly update.
Step 4: Make the dates work for you
Working days only
If tasks only run Monday to Friday, calculate the end date with =WORKDAY(B5,C5-1,Holidays), where Holidays is a named range listing public holidays and office closures. To count working days between two dates, use =NETWORKDAYS(B5,D5,Holidays). For a different weekend, such as Friday and Saturday, WORKDAY.INTL lets you choose which days are off.
Dependencies
When one task cannot start until another finishes, link the dates instead of typing them. If “Test orders” in row 9 depends on “Set up store” in row 8, its start date is =WORKDAY(D8,1) — the next working day after the predecessor ends. Add a Depends on column with the predecessor’s task number so the logic is visible to everyone. Now a delay early in the project pushes every dependent task automatically, which is exactly what a Gantt chart is for.
Milestones
Give milestones a duration of 0. With the end date formula =B5+C5-1, the bar rule then ignores them, and one extra rule — =AND($C5=0,G$4=$B5) with a bold colour or a diamond symbol — marks each milestone as a single cell on its date.
Common mistakes
- Typing end dates by hand. They drift out of sync with durations. Always calculate them.
- Dates stored as text. If a date is left-aligned in the cell, Excel is treating it as text and neither method will work. Re-enter it or use Data → Text to Columns to convert.
- Forgetting the axis minimum. A stacked bar chart that starts in 1900 shows your project as a sliver at the far right.
- Too much detail. A Gantt chart with hundreds of one-hour tasks is unreadable. Keep tasks at a level where each lasts from a day to a few weeks, and track smaller steps in a task list.
- No owner. A task without a name next to it tends not to happen. Keep the Owner column even on small projects.
Frequently asked questions
Does Excel have a built-in Gantt chart?
There is no Gantt chart type in the chart menu, which is why the stacked bar method exists. Excel’s template gallery does include Gantt-style project planners: search for “Gantt” under File → New. Building your own, as above, means you understand and control every formula.
Can I make a Gantt chart in Google Sheets?
Yes. The conditional formatting method works the same way in Google Sheets, and the stacked bar method works with the chart editor. Google Sheets also has a built-in timeline view for date ranges, which is quick for simple schedules.
How do I show weeks or months instead of days?
In the grid method, step the header by 7 days (=G4+7) and change the bar rule to test whether the week overlaps the task: =AND(G$4+6>=$B5,G$4<=$D5). In the bar chart, set the axis major unit to 7 or 30.
How do I print a wide Gantt chart?
Use Page Layout → Orientation → Landscape, set the print area to the task table plus the weeks you need, and under Print Titles repeat the task columns on every page so each sheet is readable on its own.
When is Excel not enough for project scheduling?
When many people need to update tasks at the same time, when you manage resources across several projects, or when you need automatic critical-path calculation. For most small teams and single projects, a well-built spreadsheet Gantt chart is plenty.
More guides on planning and running projects are collected in Project Management. If your project is a campaign, the marketing budget template guide shows how to plan and track its spend alongside the timeline.