To make a Gantt chart in Google Sheets, put each task and its start and end dates in columns, create a row of calendar dates, then use Format > Conditional formatting to color cells where a task is in progress. This creates a practical, updateable timeline directly in a browser; Sheets does not have a dedicated Gantt chart type, but you can also make a stacked bar chart for a more conventional chart view.
What a Gantt chart shows
A Gantt chart places project tasks in rows and time periods in columns. A colored bar marks when each task is scheduled to start and finish. This makes it easier to spot overlapping work, gaps, deadlines, and tasks that may be competing for the same people or resources.
In a spreadsheet, a Gantt chart is usually a visual layer over a task list, not a project-management system that automatically plans the work. If you change a task’s dates, the bars can update, but Sheets will not automatically move dependent tasks, calculate a critical path, or alert you that a resource is overbooked. Those decisions need formulas, additional setup, or a dedicated project tool.
The conditional-formatting method below is a good starting point for small and medium-sized schedules. It keeps the underlying dates visible and makes the colored timeline respond to date changes.
Set up the task table
Start a blank Google Sheet and enter these headings in row 1: Task in A1, Start date in B1, End date in C1, and Duration in D1. Add one task per row, beginning in row 2. For example, a website launch plan might include “Write page copy,” “Build landing page,” and “Review and publish.” Enter actual spreadsheet dates in columns B and C rather than date-like text.
- Use one clear task name per row. Split a large task into smaller, trackable activities if its dates or ownership may change independently.
- Make the start date earlier than or equal to the end date. A one-day task has the same start and end date.
- Decide whether a task’s end date is included in its duration. The examples here use inclusive dates: a task running from May 4 through May 8 occupies five calendar days.
With the start date in B2 and end date in C2, enter this in D2 to calculate inclusive calendar days: =C2-B2+1. For a task starting May 4, 2026 and ending May 8, 2026, the result is 5. Copy the formula down the duration column. If your project uses elapsed time rather than inclusive calendar days, choose and document that convention before entering durations so the table and timeline agree.
Format the start and end columns as dates using Format > Number > Date. If a date appears as a number, that is usually a display-format issue: select the cell and apply a date format. The exact date display can depend on the spreadsheet’s locale.
Create the calendar timeline
Choose a cell to begin the timeline. In this example, the first timeline date goes in G1, and the timeline runs across row 1. With task start dates in B2:B20, enter this in G1: =MIN($B$2:$B$20). It returns the earliest start date in the listed tasks. Format G1 as a date.
In H1, enter =G1+1, which returns the day after the date in G1, then drag the fill handle to the right for as many days as the project needs. You can also copy H1 across the timeline. If the project spans a long period, a daily column for every date may become too wide. Use weekly columns instead: put the first week’s starting date in G1 and use =G1+7 in H1, then fill right. In that view, each column represents a seven-day period beginning on its header date.
Leave enough timeline columns for the latest task end date. You can extend the timeline by filling the date formula farther right. Freeze the task headings or top row, if useful, through View > Freeze; freezing the header helps keep dates visible while scrolling through a longer task list.
Color task bars with conditional formatting
Select the cells where bars should appear, for example G2:AZ20. In Google Sheets, choose Format > Conditional formatting. In the conditional-formatting panel, set “Format cells if” to “Custom formula is.” With dates in row 1, task start dates in column B, end dates in column C, and task names in column A, use this formula for a daily timeline: =AND(G$1>=$B2,G$1<=$C2,$A2<>""). Choose a fill color and select Done.
The rule checks each selected cell’s column-header date against the start and end dates for that row. The dollar signs keep the date and task columns fixed as the rule applies across the range, while the row numbers adjust for each task. The task-name check prevents empty rows from being colored when other cells contain dates. For a task from May 4 through May 8, the rule colors the five matching daily cells, including both endpoints.
For a weekly timeline, select the same kind of grid but use this rule instead: =AND(G$1<=$C2,G$1+6>=$B2,$A2<>""). It colors a week if any part of that seven-day period overlaps the task dates. The header date is treated as the first day of its week. This is useful for a high-level roadmap, but a partially occupied week still appears as a full colored cell; the display does not show the exact day within the week when work begins or ends.
Improve readability and maintenance
Once the bars appear, make the schedule easier to scan. Bold the header row, apply a contrasting fill to weekends if helpful, and use borders sparingly to separate task groups. Keep the task names and dates visible by freezing rows or columns when the schedule is wide. Avoid assigning a different color to every task unless color carries a consistent meaning; too many colors can make the schedule harder to interpret.
- Use a separate column for an owner, status, or workstream instead of squeezing that information into task names.
- Sort or group tasks in a meaningful order, such as project phase, owner, or planned sequence. Keep each task’s details on the same row when sorting.
- Use a status column for “Not started,” “In progress,” or “Done.” The timeline bar represents scheduled dates, not proof that the work has actually happened.
- Review the date range when adding tasks. The MIN formula in G1 updates when a newly added start date is earlier, but the visible timeline still needs enough columns to cover the full schedule.
If you want a visible milestone, represent it as a one-day task with identical start and end dates, and give it a label such as “Approval due.” A zero-day duration will not produce a bar under the inclusive-date rule because there is no date that is simultaneously the start and end of a zero-length interval. A one-day marker is simpler to display, but make clear that it denotes a milestone rather than a day of work.
Build an optional stacked bar chart
A chart can be useful when you want a compact visual for a presentation or a high-level project overview. Make a separate chart table with task names, a start offset, and a duration. The start offset is the number of days between the project’s first date and a task’s start date; the duration is the number of days in the task. Use numeric offsets rather than raw date serial values so the chart’s scale starts near zero.
With the project start date in B1, a task start date in B2, and its inclusive duration in C2, enter =B2-$B$1 in D2 for the offset. If B1 is May 4 and B2 is May 7, the result is 3 days. The bar begins three days after the project start. The duration cell should contain the inclusive duration for that task, such as 5 for May 4 through May 8.
Select the task names, offsets, and durations, then choose Insert > Chart. In the Chart editor, select a Stacked bar chart under Setup. The offset series creates the blank lead-in before each visible duration bar. In Customize, adjust the offset series to blend with the chart background and choose a contrasting color for the duration series. If the chart’s task order or labels are awkward, adjust the source table and chart settings rather than changing the underlying task dates.
This option takes more formatting than conditional formatting and may need attention when the schedule changes. It is useful for an overview, but a daily cell grid is often easier to edit and inspect. A stacked bar chart also does not add dependencies or project-planning logic; it is a different presentation of the same schedule.
Common problems and limitations
If no cells change color, check that the conditional-formatting rule covers the intended grid, the date headers are real dates, and the task start and end values are valid dates. Confirm that the custom formula refers to the first cell of the selected range—in this example, G2—and that its row and column references match your layout. A rule can be syntactically valid but point to the wrong columns after you move the table.
If bars start or end one day too early or late, check the inclusive-date convention and the formula’s comparison signs. The daily rule uses greater-than-or-equal to the start date and less-than-or-equal to the end date, so both endpoint dates are colored. Also check that date and time values have not been mixed; a time component can affect comparisons even when the cell display shows only a date.
Sheets calculations and menus can vary with spreadsheet locale. In some locales, formulas use semicolons instead of commas as argument separators, and date entry formats differ. If a formula produces a parse error, check the file’s locale under File > Settings and use the separator and date format expected there.
Google Sheets works in a browser, so changes generally appear to collaborators as the sheet updates, subject to their sharing permissions and connection. Before sharing a project plan, review access settings and remove information that collaborators should not see. A Gantt chart is a schedule, not a guarantee that work will finish on time; keep dates, ownership, and status current if others rely on it.
When to use Sheets or another tool
Google Sheets is a reasonable choice when the schedule is small, dates are straightforward, several people need to review the same plan, and the team wants to customize the layout. It offers flexibility and makes the underlying data easy to inspect. The trade-off is that the person maintaining the sheet must manage formulas, formatting, date conventions, and changes to the plan.
Consider a dedicated project-management application if you need linked task dependencies, automatic rescheduling, workload views, notifications, baselines, or reporting across multiple projects. Those capabilities are not created just by drawing Gantt bars in Sheets. Excel can also make timeline-style charts and conditional-formatting grids; the main differences are the interface and available chart controls. The steps here describe Google Sheets in a web browser, not Excel’s menus.
Frequently Asked Questions
Does Google Sheets have a built-in Gantt chart?
Sheets does not offer a dedicated Gantt chart type. You can build a date grid with conditional formatting, as shown above, or use a stacked bar chart to create a conventional bar-style view.
Can a Google Sheets Gantt chart update when dates change?
Yes. In the conditional-formatting version, changing a task’s start or end date updates which timeline cells meet the rule. The chart version can also reflect changed source values, though you may need to extend the chart’s data range or adjust its formatting.
How do I show weekends in a Gantt chart?
A daily timeline naturally includes weekends if you fill the headers with consecutive dates. You can use a distinct fill for weekend columns to separate them visually. The basic example counts calendar days, not working days; excluding weekends requires a different schedule convention and formulas.
Can I make a weekly Gantt chart instead of a daily one?
Yes. Put a week-start date in each timeline header, advance each following header by seven days, and use the weekly overlap rule in the conditional-formatting section. Each colored cell means the task overlaps that week, not that it occupies all seven days.
Why is my Gantt chart showing dates as numbers?
Spreadsheet dates are stored as numeric values, so a cell may show a number if it is formatted as a plain number. Select the date cells and choose Format > Number > Date. If the value still looks wrong, check that it was entered as a date and that the spreadsheet locale matches the format you typed.
Related
- Outlook Excel Sheet: Create a Data Entry Form in Excel
- How to Copy an Excel File to Word
- Insert Outlook Email Into Excel: Methods That Work
Try it: the Percentage Formula Generator: percent of, percent change, increase and decrease, with the formula.
More in Charts & pivot tables
- Google Sheets Chart Data Range: Set, Edit, and Fix ItIn Google Sheets, a chart’s data range is the cell range that supplies its labels and values. To…
- Excel Pie Chart Labels on Slices: How to Add ThemTo put labels directly on pie slices in Excel for Microsoft 365 on Windows, select the chart, then…
- Excel Half Circle Chart: How to Create OneTo make a half-circle chart in Excel, create a doughnut chart with two visible values and a third…
- Add a Data Table to an Excel Chart: Steps and TipsTo add a data table beneath a chart in Excel for Microsoft 365 on Windows, select the chart,…
- Excel Gantt Chart by Week: Build a Weekly TimelineTo make an Excel Gantt chart by week, list each task’s start and finish dates, put consecutive Monday…
- Google Sheets Pivot Tables: How to Edit and UpdateTo change a pivot table in Google Sheets, click a cell inside it to open the Pivot table…
Sources: Function behaviour and menu paths: Microsoft Support documentation for Excel. Method & sources
Spotted an error in this guide? Let us know.