To build a Gantt chart in Google Sheets, list each task with its start and finish dates, calculate its duration, then chart a start-date offset and duration as a stacked bar chart. Hide the offset series so only the task-duration bars show, and use the task names as the vertical-axis labels.
What a Google Sheets Gantt chart shows
A Gantt chart places project tasks in rows and time along a horizontal axis. Each bar begins on a task’s start date and extends for the task’s duration, making it easier to see what is happening when, which tasks overlap, and where a project has gaps. It is a visual schedule, not a project-management system: it will not automatically resolve resource conflicts or enforce task dependencies.
Google Sheets does not have a dedicated Gantt chart type. The common workaround is a stacked bar chart with two series: an invisible offset that pushes each bar to the right date, and a visible duration that forms the bar. A date-grid made with conditional formatting is another option, particularly when you want a schedule that is easy to edit directly in the sheet.
Prepare the task and date data
Start with a simple table. Put headings in row 1 and one task per row. For example, use columns A through D for Task, Start date, End date, and Duration:
- Draft outline | 3/2/2026 | 3/4/2026
- Write first draft | 3/5/2026 | 3/11/2026
- Review and revise | 3/12/2026 | 3/16/2026
- Publish | 3/17/2026 | 3/17/2026
Enter actual date values, not text that merely looks like a date. If Sheets does not recognize an entry, select the date cells and choose Format > Number > Date. The displayed style can vary by spreadsheet locale, so a date such as March 2 may appear in a different order. Keep the start date earlier than or equal to the end date, and use consistent rules for weekends and non-working days.
With the start dates in B2:B5 and end dates in C2:C5, put this in D2 to count both the first and last day:
=C2-B2+1
For the example, the resulting durations are 3, 7, 5, and 1 days. Fill the formula down the column using the small blue square at the lower-right corner of the selected cell. If your project treats an end date as the moment work finishes rather than a day of work, use the elapsed-day calculation instead; the inclusive formula is usually easier to understand for day-by-day schedules.
Build the chart helper columns
The chart needs a series that represents how far each task begins from the project’s first start date. Add three helper columns, for example E, F, and G, headed Chart task, Offset (days), and Duration (days). Copy the task names into E2:E5 and the duration values into G2:G5. The offset is a number of days, not a date label.
With start dates in B2:B5 and the task’s first start date in B2, enter this in F2:
=B2-MIN($B$2:$B$5)
Fill it down. The earliest task gets an offset of 0; later tasks get the number of days between their start and the earliest start. For the sample schedule, the offsets are 0, 3, 10, and 15. If you add more tasks, extend the ranges in the formula and include the new rows in the chart data. You can also keep the helper columns beside the source table; they can be hidden after the chart works, but leaving them visible makes troubleshooting easier.
Insert and configure the stacked bar chart
- Select the helper table, including its headings, in E1:G5.
- Choose Insert > Chart. In the Chart editor’s Setup tab, open Chart type and choose Stacked bar chart. Check that the task names appear as categories and Offset and Duration appear as series. If Sheets assigns them incorrectly, use the editor’s data-range and row/column settings to correct the chart.
- Open Customize > Series. Select the Offset series and set its color to match the chart background. This makes the offset bars visually disappear while preserving their effect on the stacked bars. If the chart background is not white, use the matching background color. Turn off the legend under Customize > Legend if it is not useful to readers.
- Under Customize > Vertical axis, enable Reverse axis order if you want the first task in the table to appear at the top. Add a chart title and, if helpful, a horizontal-axis title such as “Days from project start.”
The offset series is essential: deleting it would make every duration bar start at zero. Coloring it to match the background is a visual workaround, not a data change. If the chart uses a colored background, the offset may become visible again if the background or series color changes. Check the result after changing the theme, and adjust the offset color if needed.
Make the schedule readable and maintainable
Sort the source rows in the order you want readers to scan them, then check the vertical-axis order in the chart. Long task names may need wider chart space or shorter labels. A chart that spans only a few days can be hard to compare with one covering several months, so adjust the chart’s size and inspect the horizontal scale after changing the project dates. Google Sheets may recalculate the chart when its source cells change, but it will not know whether a new task should be added unless that row is included in the chart’s data range.
For a reusable schedule, reserve extra rows in the helper data range or update the chart range when you add tasks. Keep dates and durations as numbers rather than typing labels such as “one week” into the duration series. Use a separate notes or status column for details like owner, completion, and blockers; adding too many series to the chart can make the schedule harder to read.
- Use a consistent unit: this chart uses calendar days, including weekends.
- Sort tasks by start date when the aim is to show the project timeline, or keep a deliberate workflow order if sequence matters more.
- Use clear, concise task names and avoid relying on color alone to communicate important status.
- Make a copy before experimenting with chart settings if the sheet is a shared project record.
Show dependencies and milestones carefully
A basic stacked-bar Gantt chart shows timing, but it does not draw dependency arrows or automatically move a task when a predecessor slips. Record dependencies in a separate column, such as “Review follows draft,” and update dates deliberately when plans change. For complex dependency logic, a dedicated project-management tool is usually more suitable.
A one-day task can serve as a simple milestone, but it may be represented by a very narrow bar that is difficult to see. You can call out milestones in a separate table or use a distinct marker in a more customized visualization. Avoid changing its duration to make it wider unless the wider bar is clearly explained; otherwise, the picture will imply that the milestone takes longer than it does.
Alternative: make a date-grid Gantt in the sheet
If you would rather see dates as spreadsheet columns, create a timeline header across row 1, with one date per column, and keep task start and end dates in columns B and C. Select the timeline cells for the task rows, then choose Format > Conditional formatting. Under “Format cells if,” select “Custom formula is.” With dates across H1:AZ1, task starts in B2:B20, task ends in C2:C20, and the formatting range H2:AZ20, use:
=AND(H$1>=$B2,H$1<=$C2)
Choose a fill color and select Done. The row-relative references shift for each task, while the column reference to the date header shifts across the timeline. The result is a colored cell for every date between a task’s start and finish, including both endpoints. This version is easy to scan and edit, but a long schedule can require many date columns and horizontal scrolling. It also uses calendar days unless you build a header that excludes weekends.
Google Sheets compared with Excel and project tools
The core idea is similar in Google Sheets and Microsoft Excel: a stacked bar chart uses an offset series and a duration series. Menu names, chart-editor controls, and the exact presentation of date axes differ between the applications, so instructions for Excel should not be followed as if they were Google Sheets steps. Sheets is useful when a team wants a shared, browser-based schedule and already works in Google Drive.
A spreadsheet is a reasonable choice for a small or moderately sized schedule with straightforward dates. Consider a dedicated project-management application when you need automatic dependency scheduling, workload planning, notifications, baselines, or detailed progress tracking. The chart itself does not create those capabilities, and sharing a spreadsheet does not by itself ensure that every collaborator understands who is responsible for updating it.
Common problems and fixes
- Every bar starts at zero: Confirm that the chart is a stacked bar chart and that Offset is the first series. Do not remove the offset data; make its color match the background.
- Bars point the wrong way or tasks appear in reverse order: Check that the chart type is a horizontal stacked bar chart and adjust Reverse axis order under Customize > Vertical axis.
- Dates produce unexpected offsets: Check that the cells contain recognized date values and that the formula’s MIN range covers the intended start dates. Text dates can cause calculations or charting to behave unexpectedly.
- A task is missing: Make sure its helper row is inside the chart’s data range and that its task, offset, and duration cells are populated.
- The offset series is visible: Match its series color to the chart background. Recheck this setting if you change the chart’s background color.
- A task appears one day too short: Decide whether your schedule counts both start and finish dates. For inclusive calendar-day tasks, calculate end minus start plus one.
Frequently Asked Questions
Can Google Sheets make a Gantt chart automatically?
Not as a dedicated chart type. You can create one with a stacked bar chart and helper columns, or use conditional formatting to shade a date grid.
How do I show weekends?
The example counts calendar days, so weekends are included. To show working days only, build a workday-based schedule and matching timeline; do not simply remove weekend columns while leaving calendar-day offsets unchanged, because the bars will no longer line up correctly.
Can the chart update when I change a date?
Yes. When a referenced start date, end date, or duration changes, the chart can reflect the updated cell values. New rows must also be included in the chart’s data range.
Why is the offset series still visible?
It is likely a different color from the chart background. In the Chart editor, open Customize > Series, select Offset, and change its color to match the background.
Can I share the Gantt chart with collaborators?
Yes. Share the Google Sheets file using its sharing controls and choose permissions appropriate to the collaborators. Confirm that people who need to edit the schedule have edit access; viewers can see the chart but cannot change its source data.
Related
- Excel Time Zones: How Date and Time Conversion Works
- Excel Text Across Cells Without Merging
- Excel Time Shortcut: How to Insert the Current Time
Try it: the Percentage Formula Generator: percent of, percent change, increase and decrease, with the formula.
More in Charts & pivot tables
- Excel Pivot Table Row Labels: How to Change the HeaderIn Excel for Microsoft 365 on Windows, click the PivotTable cell that says Row Labels, type the heading…
- Excel Pie Chart: Display Percentages on Your ChartTo create an Excel pie chart that shows percentages, select the category names and values, choose Insert >…
- Excel Pivot Tables: Summarize Dates by MonthYes. In Excel for Microsoft 365 on Windows, put your dates in a PivotTable, right-click a date in…
- Find a Pivot Table in Excel: Locate It Across SheetsTo find an existing PivotTable in Excel, search the workbook for a label or value you know appears…
- How to Make a Graph in Google Sheets on a ComputerTo make a graph in Google Sheets on a computer, arrange your information in labeled rows or columns,…
- How to Add a Trendline in an Excel GraphTo put a trendline in an Excel graph, select the chart, choose Chart Design > Add Chart Element…
Sources: Function behaviour and menu paths: Microsoft Support documentation for Excel. Method & sources
Spotted an error in this guide? Let us know.