KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中创建甘特图?

作者小杨修改日期

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

在 Excel 中创建的用于可视化项目时间线的甘特图示例


在 Excel 中创建甘特图

您可以按照以下步骤创建甘特图:

首先,创建您专属的任务数据区域。

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

Excel 截图,包含任务名称、开始日期和持续时间列的任务数据

其次,插入一个条形图,并添加相应的数据系列。

2. 打开插入选项卡,点击插入柱形图或条形图,然后选择堆积条形图,即可生成一个空白图表,等待您输入数据。

Excel“插入”菜单截图,其中条形图选项被高亮显示箭头在 Excel 中插入的空白堆积条形图截图

3. 要整合您的项目数据,请右键单击图表,从上下文菜单中选择选择数据,即可将表格中的开始日期列和持续时间列分配给图表。

Excel 上下文菜单中“选择数据”选项的截图

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

“选择数据源”对话框截图

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

用于选择开始日期单元格的“编辑系列”对话框截图

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

Excel 图表截图,已添加开始日期和持续时间数据系列

7. 为任务分配正确的标签。在同一个对话框的水平轴标签下,点击编辑,并选择您的任务名称单元格,即可确保每个条形对应特定活动,帮助项目相关方清晰理解。

“选择数据源”对话框截图,其中轴标签的“编辑”按钮可见箭头用于甘特图的轴标签选择对话框截图

8. 在两次单击确定后,您的数据系列将显示为蓝色和橙色条形(蓝色代表开始日期,橙色代表持续时间)。此时,图表基础已准备就绪。如有需要,请确认所引用的区域是否正确,并在继续前调整任何错位。

Excel 甘特图截图,开始日期和持续时间以蓝色和橙色条形显示

第三,美化您的条形图。

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

Excel 图表上下文菜单中“设置坐标轴格式”选项的截图

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

Excel“设置坐标轴格式”窗格中“逆序类别”选项被勾选的截图

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

用于在 Excel 甘特图中隐藏开始日期条形的“设置数据系列格式”选项截图

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

隐藏开始日期条形后的 Excel 甘特图截图

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

“设置单元格格式”对话框截图,显示应用于 Excel 开始日期单元格的常规数字格式

(2.)然后选择图表中条形上方的日期,右键单击并选择“设置坐标轴格式”,在“设置坐标轴格式”窗格中,点击“坐标轴选项”图标:

  • 在“最小值”文本框中,输入您刚刚记录的数字;
  • 在“主要单位”文本框中,按需指定时间间隔。
Excel 图表上下文菜单中“设置坐标轴格式”选项的截图箭头Excel“设置坐标轴格式”窗格截图,用于设置最小值和主要刻度单位

(3.)随后关闭窗格,您的甘特图即已创建完成,如下所示:

Excel 中完成的甘特图最终截图

使用 Excel 条形图手动创建甘特图,可在设计、标签和时间刻度方面提供无与伦比的灵活性。然而,对于需要频繁更新或涉及复杂进度的项目,维护工作往往既耗时又容易出错。请务必仔细核对任务范围,采用清晰明确的任务命名,并尽可能保存模板以供重复使用。


使用一项强大功能创建甘特图

上述过程介绍了手动构建甘特图的方法,但如果您需要定期生成和更新项目时间线,或希望节省时间,Kutools for Excel甘特图工具提供了更高效的替代方案——通过简洁界面,即可快速构建专业时间线图。

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

1. 单击 Kutools > 图表 > 时间点 > 甘特图,参见截图:

Kutools 菜单截图,在 Excel 中显示甘特图选项

2. 在甘特图对话框中指定以下内容:

  • 项目名称框中选择您的任务名称单元格;
  • 开始日期/时间框选择您的开始日期单元格;
  • 通过选择对应单元格来指定“持续时间”列。

Kutools 甘特图对话框截图,用于选择任务名称、开始日期和持续时间

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

Kutools 提示创建隐藏工作表以生成甘特图的截图

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

使用 Kutools 在 Excel 中创建的甘特图截图

Kutools for Excel:超过 300 款实用工具触手可及!畅享 AI 驱动的功能,让工作更智能、更高效!立即下载!

使用 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 – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 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 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱