如何在 Excel 中创建甘特图?
跟踪和管理项目进度对打造高效工作流至关重要,而甘特图为此提供了清晰直观的可视化呈现。在 Excel 中,甘特图以水平条形图形式展示,各项任务沿时间轴排列,让您一目了然地掌握开始日期、持续时间、任务依赖关系及整体项目进展。这种可视化概览不仅适合经验丰富的项目经理,也适用于任何需要协调多项任务的用户。以下教程为您带来多种在 Excel 中构建甘特图的实用方案——涵盖手动创建、自动化工具、条件格式技巧以及 VBA 自动化方法,全面满足从基础到高级的各类需求。

在 Excel 中创建甘特图
您可以按照以下步骤创建甘特图:
首先,创建您专属的任务数据区域。
1. 请以结构化格式准备您的任务数据,包含任务名称、开始日期和持续时间(天数)等列。这种清晰的设置对准确生成图表至关重要,并能简化后续操作。为获得最佳效果,请确保每个任务名称唯一,且日期格式保持一致。参考下方示例:

其次,插入一个条形图,并添加相应的数据系列。
2. 打开插入选项卡,点击插入柱形图或条形图,然后选择堆积条形图,即可生成一个空白图表,等待您输入数据。
![]() | ![]() | ![]() |
3. 要整合您的项目数据,请右键单击图表,从上下文菜单中选择选择数据,即可将表格中的开始日期列和持续时间列分配给图表。

4. 在选择数据源对话框中,找到系列名称区域,然后单击添加。此操作可让您指定第一个数据系列——即开始日期。

5. 编辑数据系列对话框随即打开:
(1.)对于系列名称,请选择起始日期的标题单元格(例如 B1)。
(2.)对于系列值,请选择所有任务的起始日期单元格(例如 B2 至 B7)。

6. 单击确定,并重复上一步骤,添加与列标题和任务持续时间单元格匹配的持续时间数据系列。添加完两个系列后,您将看到代表每个任务各阶段的彩色条形:

7. 为任务分配正确的标签。在同一个对话框的水平轴标签下,点击编辑,并选择您的任务名称单元格,即可确保每个条形对应特定活动,帮助项目相关方清晰理解。
![]() | ![]() | ![]() |
8. 在两次单击确定后,您的数据系列将显示为蓝色和橙色条形(蓝色代表开始日期,橙色代表持续时间)。此时,图表基础已准备就绪。如有需要,请确认所引用的区域是否正确,并在继续前调整任何错位。

第三,美化您的条形图。
9. 默认情况下,Excel 堆积条形图中的任务顺序是反向的。要将其调整为从上到下排列,请右键单击纵轴(项目名称),然后选择设置坐标轴格式。

10. 在设置坐标轴格式窗格的坐标轴选项下,勾选逆序类别。此调整可实现符合逻辑的从上到下流程,并契合常见的项目管理惯例。

11. 隐藏开始日期条形,打造更简洁的视觉效果:右键单击任意代表开始日期的蓝色条形,然后选择设置数据系列格式。

12. 在设置数据系列格式窗格中,于填充与线条部分下,同时选择无填充和无线条。

13. 通过调整坐标轴日期,最小化图表左侧的空白区域。操作方法如下:
(1.)选择最早的开始日期单元格,右键单击,然后选择设置单元格格式。在数字选项卡下,选择常规,即可看到代表 Excel 日期值的序列号(例如 43933),请记下该数值。

(2.)然后选择图表中条形上方的日期,右键单击并选择“设置坐标轴格式”,在“设置坐标轴格式”窗格中,点击“坐标轴选项”图标:
- 在“最小值”文本框中,输入您刚刚记录的数字;
- 在“主要单位”文本框中,按需指定时间间隔。
![]() | ![]() | ![]() |
(3.)随后关闭窗格,您的甘特图即已创建完成,如下所示:

使用 Excel 条形图手动创建甘特图,可在设计、标签和时间刻度方面提供无与伦比的灵活性。然而,对于需要频繁更新或涉及复杂进度的项目,维护工作往往既耗时又容易出错。请务必仔细核对任务范围,采用清晰明确的任务命名,并尽可能保存模板以供重复使用。
使用一项强大功能创建甘特图
上述过程介绍了手动构建甘特图的方法,但如果您需要定期生成和更新项目时间线,或希望节省时间,Kutools for Excel 的甘特图工具提供了更高效的替代方案——通过简洁界面,即可快速构建专业时间线图。
1. 单击 Kutools > 图表 > 时间点 > 甘特图,参见截图:

2. 在甘特图对话框中指定以下内容:
- 在项目名称框中选择您的任务名称单元格;
- 为开始日期/时间框选择您的开始日期单元格;
- 通过选择对应单元格来指定“持续时间”列。

3. 单击确定后,系统将提示您:将生成一个隐藏工作表用于计算和图表绘制(这不会影响您的主工作表)。

4. 选择是,甘特图将立即直观呈现您各项任务的时间跨度及重叠情况。

使用 VBA 自动创建并格式化甘特图
在 Excel 中管理复杂或频繁更新的项目时间线时,自动化能带来显著价值。借助 VBA(Visual Basic for Applications),您只需极少的手动操作,即可创建宏来自动生成并格式化甘特图。当项目数据经常变动,或需要标准化的可视化输出(尤其是用于团队间共享的报告)时,这种方法尤为高效。
1. 打开您的 Excel 工作表,然后依次点击开发工具 > Visual Basic,进入 VBA 编辑器。在新打开的 Microsoft Visual Basic for Applications 窗口中,单击插入 > 模块,并将以下代码粘贴到模块区域中:
Sub CreateGanttChart()
Dim ws As Worksheet
Dim ch As ChartObject
Dim tNameRng As Range
Dim startRng As Range
Dim durRng As Range
Dim lastRow As Long
Dim chartSheet As Worksheet
Dim xTitleId As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
' Prompt user for task names, start dates, and durations
Set tNameRng = Application.InputBox("Select task names range", xTitleId, Type:=8)
Set startRng = Application.InputBox("Select start dates range", xTitleId, Type:=8)
Set durRng = Application.InputBox("Select durations range", xTitleId, Type:=8)
' Add chart sheet
Set chartSheet = Worksheets.Add
chartSheet.Name = "GanttChartAuto"
' Add stacked bar chart
Set ch = chartSheet.ChartObjects.Add(Left:=100, Width:=500, Top:=100, Height:=400)
ch.Chart.ChartType = xlBarStacked
' Add Start Date series
ch.Chart.SeriesCollection.NewSeries
ch.Chart.SeriesCollection(1).Name = "Start Date"
ch.Chart.SeriesCollection(1).Values = startRng
ch.Chart.SeriesCollection(1).XValues = tNameRng
' Add Duration series
ch.Chart.SeriesCollection.NewSeries
ch.Chart.SeriesCollection(2).Name = "Duration"
ch.Chart.SeriesCollection(2).Values = durRng
ch.Chart.SeriesCollection(2).XValues = tNameRng
' Format categories in reverse order
ch.Chart.Axes(xlCategory).ReversePlotOrder = True
' Hide Start Date series
With ch.Chart.SeriesCollection(1).Format.Fill
.Visible = msoFalse
End With
' Format Duration series with solid color
With ch.Chart.SeriesCollection(2).Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 153, 51) ' Orange
End With
' Adjust axis minimum based on start date
Dim minDate As Double
minDate = Application.WorksheetFunction.Min(startRng)
ch.Chart.Axes(xlValue).MinimumScale = minDate
End Sub 2. 点击
运行按钮或按 F5 即可执行宏。随后按照弹出提示,依次选择项目名称范围、开始日期范围和持续时间范围(通常为前文设置的三个相邻列)。该宏将根据您的选择,自动生成一个包含格式化甘特图的新工作表。
更多相关图表文章:
- 在 Excel 中创建一个条形图覆盖另一个条形图
- 在使用两个数据系列创建簇状条形图或柱状图时,它们的条形会并排显示。但有时,为了更清晰地对比这两个数据系列,我们需要采用叠加或重叠的条形图。本文将为您介绍如何在 Excel 中创建重叠条形图。
- 在 Excel 中创建阶梯图
- 阶梯图用于展示不规则时间间隔内的变化情况,是折线图的一种延伸形式,但 Excel 并未提供直接创建阶梯图的功能。本文将手把手教您如何在 Excel 工作表中一步步打造专业的阶梯图。
- 在图表中突出显示最大值和最小值数据点
- 如果您有一个柱状图,希望用不同颜色突出显示最高值或最低值的数据点,使其像下图所示那样更加醒目,该如何快速识别这些极值并在图表中高亮显示呢?
- 在 Excel 中创建进度条图
- 在 Excel 中,进度条图能直观地帮您追踪目标完成进度,如下方截图所示。那么,如何在 Excel 工作表中创建这样的进度条图呢?
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……
Office Tab 为 Office 带来标签式界面,让您的工作更轻松
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!
所有 Kutools 插件,一个安装程序
Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱






