Excel甘特图怎么做?用日期数据画横道图

用开始日期和持续天数,在Excel里通过堆叠条形图画出横道图(甘特图)的完整方法,包括数据整理、图表设置、坐标调整和做完后的核对要点。

很多人手里有一份项目进度表,列着任务名称、开始日期和需要的天数,想把它变成一张一眼能看出先后和重叠关系的时间线。这种图叫甘特图,也叫横道图。Excel 本身没有单独做甘特图的功能,但只要数据格式对,用堆叠条形图就能画出来,而且日期改了,图会跟着变。

这篇文章写给需要做项目排期、论文实验进度、活动筹备表或工作计划的读者。你会看到怎么把日期整理成适合作图的结构,怎么一步步设置图表,以及画完后哪些地方容易出错。整个方法只用 Excel 自带的图表功能,不需要安装插件或写代码。

怎么用日期数据做甘特图?一句话结论

堆叠条形图的思路是:把每个任务拆成两段,前一段是“空白”,长度等于开始日期距离起点的天数;后一段是“色块”,长度等于持续天数。把空白段隐藏,就只剩下一段段错开的横条,这就是横道图。下表按你的实际情况给出做法。

你的情况推荐做法原因
表里已有开始日期和持续天数直接用这两列作图数据不需要额外计算,步骤较少
表里是开始日期和结束日期先加一列“持续天数”,结束日期减开始日期堆叠条形图需要的是长度,不是终点
日期是文本,比如“2024.3.1”格式不统一先统一转成日期格式,再作图文本日期不能参与计算,图会全部错位
任务很多,要经常更新把数据区域转为表格,并用公式算持续天数新增任务时图表范围可以自动扩展
只想给一个人看,不需要反复修改手动画完即可,重点放在版式和颜色一次性图表没必要花太多时间搭结构

开始之前:先确认这几点

动手前先检查数据,很多“图画不对”的问题都出在这一步。

  • 日期是不是真正的日期。 在单元格里输入日期后,如果它靠右对齐,通常是日期;如果靠左,多半是文本。文本日期在作图时会被当成 0 或被忽略,横条会整体错位。
  • 任务名称是否互不重复,顺序是否清楚。 甘特图的纵轴就是任务名称,名称重复会让人分不清;表格的先后顺序也就是图里从上到下的顺序,建议提前排好。
  • 持续天数的口径是否统一。 有的人把结束当天算在内,有的人不算。定好口径后,所有任务用同一种算法,例如“结束日期减开始日期再加 1”,否则横条长短会不一致。
  • 项目的起止范围。 横坐标要覆盖早开始和晚结束的日期。先找出这两个日期,后面设置刻度时就有了依据。
  • 是否有需要显示的里程碑或完成比例。 普通横道图只显示时间。如果还要标出进度,可以另加一列“已完成天数”,再用颜色区分,但这会让图表设置复杂一些,建议在基础版本做好之后再加。

在 Excel 里用堆叠条形图画横道图的步骤

  1. 整理数据区域。 第一列是任务名称,第二列是开始日期,第三列是持续天数。三列之间不要留空列,并确保表头清楚,例如“任务”“开始日期”“持续天数”。
  2. 计算持续天数(如有需要)。 如果原表只有结束日期,在新列中用结束日期减去开始日期,再视口径决定是否加 1,然后把结果设为数字格式。
  3. 选中数据并插入堆叠条形图。 框选任务、开始日期、持续天数三列的数据,在插入图表的功能里找到条形图类别,再选择其中的堆叠条形图类型。此时图里会出现两种颜色的横条,第一种是开始日期对应的段,第二种是持续天数对应的段。
  4. 隐藏开始日期那一段。 单击图中代表开始日期的那一组横条,将其填充设为无填充,边框也设为无。这样它仍然占据位置,但看不见,只剩下持续天数的色块。
  5. 调整纵轴顺序。 条形图默认把第一行任务放在图的底部。打开纵轴(类别轴)的设置,勾选逆序排列类别的选项,任务顺序就会和表格一致,从上到下排列。
  6. 设置横坐标的起止范围。 横坐标刻度默认是序列号数字,不是日期。在坐标轴设置中,把小值设为项目早开始日期对应的序列号,把大值设为晚结束日期对应的序列号,再把数字格式改为日期,刻度就会显示成“3/1”这样的形式。
  7. 美化与收尾。 删除不需要的图例,给图加上标题,将持续天数的颜色设为统一的主色。如果任务较多,可以适当增加图表高度,让每个横条都有足够空间。

做完后逐项核对

图画好后不要急着交付,逐项检查一遍。

检查项怎么看有问题怎么办
横条位置是否正确找一个任务,对照表格里的开始日期看它的左端位置检查开始日期是否为文本格式,转换后重新作图
横条长度是否正确对照持续天数,看横条的右端是否对应正确的结束日期检查持续天数列的公式和口径,是否需要加 1
任务顺序是否与表格一致看上面一行是否是表格第一项打开纵轴设置,确认逆序排列类别的选项已勾选
横坐标范围是否覆盖全部任务看左和右的刻度,是否包含早开始和晚结束调整小值和大值,必要时改为更大的刻度单位
隐藏段是否真的不可见看开始日期那段是否还有颜色或边框单独选中该系列,将填充和边框都设为无
数据修改后图是否同步改一个开始日期,看横条是否移动如果范围没有扩展,检查图表引用的数据区域

📊 核心对比

做横道图常见的三种方式各有侧重,可以根据需要选择。

方式适合场景主要优点主要局限
堆叠条形图任务不多,需要用日期自动生成时间线数据改动后图会更新,不需要手工拖动进度、里程碑等附加信息需要额外设置
单元格填色任务较多,想在表格内直接看到时间分布不用设置图表,用条件格式就能完成格子粒度固定,精细到小时的排期不方便
手动绘制形状只做一次性的展示稿外观自由,可以加箭头和标注日期变化后要手动修改,容易出现误差

❓ 常见问题(FAQ)

1. 横坐标显示的是一串数字,不是日期,怎么办?

这是因为 Excel 日期本质上是序列号。在坐标轴的数字格式里选择日期格式,并确认小值和大值是日期对应的数字,刻度就会正常显示。

2. 任务顺序和表格相反,下面的任务反而在上面?

这是条形图的默认行为。打开纵轴的类别设置,勾选逆序排列类别的选项即可。注意此时横坐标可能会跑到图的上方,需要再把横坐标的位置调整回底部。

3. 我的日期是从网页或 PDF 里复制来的,图画不出来,怎么办?

从网页复制的日期常常带有隐藏格式,粘贴后会变成文本。可以先把日期列统一设为日期格式,再重新输入或使用分列功能转换,然后再作图。如果原始进度表只是 PDF 文件,可以用桌面客户端的 PDF 编辑器导出为 Excel,再按上面的步骤处理。

4. 有没有办法在图上显示今天的位置?

普通堆叠条形图不直接支持这个功能。常见做法是另外添加一个辅助系列,把它做成一条竖线。这需要一定的图表设置经验,如果只是临时查看,可以在表格里单独标注今天的日期,或者每次打开时手动确认。

5. 表格里有英文任务名,想换成中文,图会不会跟着变?

图表会引用单元格的内容,改了任务名称,图中的纵轴标签也会随之更新。如果是把整份表格从英文翻译成中文,可以先用文档翻译功能处理 Excel 文件,再检查任务名称和日期是否保持原样。机器翻译的结果,特别是专业术语,建议逐条核对。

📝 总结

Excel 做甘特图的关键,是把开始日期和持续天数整理成干净的数字和日期格式,再用堆叠条形图把开始段隐藏,只留下持续段。整理数据、设置逆序和横坐标范围这三件事做对,大多数横道图就能正常呈现。之后只要更新日期,图表也会跟着更新,适合需要反复调整排期的场景。

打开 OmniDoc,处理你的表格文件

更新于 2026-11-05