php和mysql做甘特图_[转载]手把手教你用EXCEL制作可以计划与实际对比的动态甘特图...

本文详细介绍了如何使用Excel制作可以进行计划与实际对比的动态甘特图,包括数据录入、数据透视表创建、VBA辅助、图表调整等步骤,通过计划时间与实际时间分开显示,实现对比效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要制作动态的,可以进行计划与实际对比的甘特图,关键要解决两个问题:

1、计划时间与实际时间分成两行显示,这样才能够让甘特图的进度条也分成两行显示出来,实现计划与实际的对比;

2、使用数据透视表来查询,但是要解决透视表作为图表数据源时,如果发生变化,则图表也会错乱的问题。

下面是制作这种图表的步骤:

第一步、制作一个录入界面,同时用VBA将其保存到另一个作为数据库的表格中:

1、录入界面如下图所示:(注:录入界面中,计划时间与实际时间可以在同一行中。)

a4c26d1e5885305701be709a3d33442f.png

2、作为数据库的表格如下图所示:(注:本表需要做成可以方便地生成数据透视表的二维表格,并且,这一步是关键步骤,要在这一步通过VBA把录入界面的数据在此时把计划时间、实际时间分成两行显示。)

a4c26d1e5885305701be709a3d33442f.png

第二步、根据数据库生成几个数据透视表,其结构略有不同,自己根据需要进行调整(注:此处要使用OFFSET函数定义好上面数据库表中有效数据的范围。):

数据范围=OFFSET(项目进度数据库!$A$1,,,COUNTA(项目进度数据库!$A:$A),COUNTA(项目进度数据库!$1:$1))

1、单项目查询:

a4c26d1e5885305701be709a3d33442f.png

2、多项目查询:

a4c26d1e5885305701be709a3d33442f.png

3、各项目汇总查询:(只显示每个工程项目的总时间,不显示明细时间)

a4c26d1e5885305701be709a3d33442f.png

第三步、制作一个辅助表,用简单的公式把上述几个数据透视表对应起来,所谓简单,即本sheet中某一格=透视表中某一格,但要注意如果透视表中的空白格,可能会显示为0,所以用IF函数作些调整,如

IF(C1<>"空白",单项目查询!$A$1,""):

a4c26d1e5885305701be709a3d33442f.png

到了这一步,制作甘特图所需的数据表格已经基本完成了。接下来要准备好制作甘特图所需的数据源。

第四步、用OFFSET函数把甘特图所需的进度条1、2、3、4,Y座标轴名称(就是在图上显示的工作内容),甘特图的总数据范围定义好:

图表_进度条1 =OFFSET(制图辅助!$C$1,1,1,COUNTA(制图辅助!$C:$C)-COUNTIF(制图辅助!$C:$C,"空白")-1)

图表_进度条2 =OFFSET(制图辅助!$C$1,1,2,COUNTA(制图辅助!$C:$C)-COUNTIF(制图辅助!$C:$C,"空白")-1)

图表_进度条3 =OFFSET(制图辅助!$C$1,1,3,COUNTA(制图辅助!$C:$C)-COUNTIF(制图辅助!$C:$C,"空白")-1)

图表_进度条4 =OFFSET(制图辅助!$C$1,1,4,COUNTA(制图辅助!$C:$C)-COUNTIF(制图辅助!$C:$C,"空白")-1)

图表_进度图Y轴名称 =OFFSET(制图辅助!$C$1,1,-1,COUNTA(制图辅助!$C:$C)-COUNTIF(制图辅助!$C:$C,"空白")-1)

图表_制图辅助范围 =OFFSET(制图辅助!$B$1,,,COUNTA(制图辅助!$C:$C)-COUNTIF(制图辅助!$C:$C,"空白"),6)

第五步、用普通制作甘特图的方法制作出甘特图:

首先,创建图表大概样式。

在图表向导中,选条形图当中的堆积条形图,并按步骤逐步操作,相关需要选定数据范围的地方,输入上面定义好的名称:

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

至此,进度图的大体样子已经完成如下,

a4c26d1e5885305701be709a3d33442f.png

接下来进行调整:

第1步,把坐标日期调整到所需月份,更改字体及数字格式:

右键点X轴坐标,选“坐标轴格式”,作如下操作:

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

右键点Y轴,选“坐标轴格式”,更改字体,如果勾选“分类次序反转”,可以把日期坐标调到顶部,否则是在底部。

a4c26d1e5885305701be709a3d33442f.png

修改后的图如下:

a4c26d1e5885305701be709a3d33442f.png

第2步,分别双击图中“计划开始时间”和“实际开始时间”的图形,在弹出来的对话框中,把【边框】和【内部】都选为无。

a4c26d1e5885305701be709a3d33442f.png

第3步,右键点击右边的图例说明,选“图例格式”,更改字体及放置位置:

a4c26d1e5885305701be709a3d33442f.png

再把多余的“计划开始时间”、“实际开始时间”删除。

a4c26d1e5885305701be709a3d33442f.png

第4步,在图表区空白地方右键点击,选“图表选项”,在网格线中,把X轴、Y轴的主要网格线都勾上。

a4c26d1e5885305701be709a3d33442f.png

至此,一个有计划与实际对比,并且可以根据需要由数据透视表进行筛选的动态的甘特图就完成了。

a4c26d1e5885305701be709a3d33442f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值