经常关注Excel的朋友应该会对甘特图有所耳闻,但是甘特图究竟能干什么?如何去做一个甘特图?其实甘特图就是一个表示时间日程的进度图,比如我们的复习计划、项目进展、工程进度等,都可以用甘特图来呈现一个比较直观的效果。
下面图中就是半天学习时间制作了一个甘特图。右面是利用函数制作,下面是利用图表制作。用图表制作的甘特图不仅能显示每一项任务的时间长短和进展情况,还可以看到任意时间点在执行哪项任务。本文就一起来看看如何用图表和函数制作甘特图吧。
01:图表型甘特图
步骤一:
选择图表区域,插入图表——条形图——堆积条形图。
步骤二:
1:选择图表,在设计选项卡中打开选择数据。
2:选择数据源对话框:
图例项中:选择结束时间——删除。选择开始时间——编辑,确认系列名称是$B$1,系列值是$B$2:$B$15。选择时间(分钟)——编辑,确认系列名称是$D$1。系列值是$D$2:$D$15。
水平(分类)轴标签中:确认选择的是任务一列的单元格。
步骤三:
1:拖动图表,使图表中的数据完全显示出来。
2:选中所有的时间区域,在开始选项卡中,把数字格式改为常规,可以看到开始时间可结束时间的最小值、最大值分别是0.25和0.520833。(时间、日期均是特殊的数值)
3:双击横坐标轴数据,打开设置坐标轴格式设置框——坐标轴选项中最后一个,在边界的最小值设置为0.25,最大值设置为0.53。
4:然后再把刚才设置为常规的区域重新设置为时间。
步骤四:
1:全部选中蓝色的数据条,在格式——形状填充中选择无填充。
2:双击纵坐标轴标签,在打开的设置坐标轴格式中选择逆序类别。
3:选择灰色条形,填充颜色选择橙色。
步骤五:
1:双击任意条形,在d出的设置数据点格式中,间隙宽度改为50%。
2:把时间(分钟)一列的数据更改下单元格格式,在单元格格式——自定义中改为mm:ss类型。
3:选择图表,在设计选项卡——添加图表元素中选择——数据标签——轴内侧。
4:更改图表标题,删除开始时间的图例,这时图表型的甘特图就做好了。
02:函数型甘特图。
函数制作甘特图就比较简洁了,在E2单元格中输入函数公式=REPT(" ",(B2*150-MIN($B$2:$B$15)*150))&REPT("|",D2*1000),向下填充。字体改为playball,字体颜色改为红色就可以了。
公式=REPT(" ",(B2*150-MIN($B$2:$B$15)*150))&REPT("|",D2*1000)是什么意思呢?
公式中的两个乘以150,一个乘以1000只是为了调整图形到合适的比例,可以根据需要换成其他数字。
MIN($B$2:$B$15)表示B2到B15单元格的最小值,这个数是固定的,即6:00:00,数值为0.25(时间是一种特殊形式的数字)。
REPT(" ",(B2*150-MIN($B$2:$B$15)*150)),rept函数有两个参数=rept(重复的值,重复次数),此处第一个参数表示空值,第二个参数B2是相对引用,向下拖动填充时会变化,而MIN($B$2:$B$15)是一个固定数,所以这个函数表示把空值根据当前时间和第一个时间的差的值作为次数进行重复。
REPT("|",D2*1000)表示“|”按时间(分钟)的次数重复。
最后,把上述两个函数连接起来。连接符“&”前面的函数形成了图形前面的空值,连接符后面的函数形成了条形图。这样一个函数型甘特图就做好了。
这就是两种制作甘特图的方法,你学会了吗?
要制作动态的,可以进行计划与实际对比的甘特图,关键要解决两个问题:
1、计划时间与实际时间分成两行显示,这样才能够让甘特图的进度条也分成两行显示出来,实现计划与实际的对比;
2、使用数据透视表来查询,但是要解决透视表作为图表数据源时,如果发生变化,则图表也会错乱的问题。
下面是制作这种图表的步骤:
第一步、制作一个录入界面,同时用VBA将其保存到另一个作为数据库的表格中:
1、录入界面如下图所示:(注:录入界面中,计划时间与实际时间可以在同一行中。)
2、作为数据库的表格如下图所示:(注:本表需要做成可以方便地生成数据透视表的二维表格,并且,这一步是关键步骤,要在这一步通过VBA把录入界面的数据在此时把计划时间、实际时间分成两行显示。)
第二步、根据数据库生成几个数据透视表,其结构略有不同,自己根据需要进行调整(注:此处要使用OFFSET函数定义好上面数据库表中有效数据的范围。):
数据范围=OFFSET(项目进度数据库!$A$1,,,COUNTA(项目进度数据库!$A:$A),COUNTA(项目进度数据库!$1:$1))
1、单项目查询:
2、多项目查询:
3、各项目汇总查询:(只显示每个工程项目的总时间,不显示明细时间)
第三步、制作一个辅助表,用简单的公式把上述几个数据透视表对应起来,所谓简单,即本sheet中某一格=透视表中某一格,但要注意如果透视表中的空白格,可能会显示为0,所以用IF函数作些调整,如
IF(C1<>"空白",单项目查询!$A$1,""):
到了这一步,制作甘特图所需的数据表格已经基本完成了。接下来要准备好制作甘特图所需的数据源。
第四步、用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)
第五步、用普通制作甘特图的方法制作出甘特图:
首先,创建图表大概样式。
在图表向导中,选条形图当中的堆积条形图,并按步骤逐步 *** 作,相关需要选定数据范围的地方,输入上面定义好的名称:
至此,进度图的大体样子已经完成如下,
接下来进行调整:
第1步,把坐标日期调整到所需月份,更改字体及数字格式:
右键点X轴坐标,选“坐标轴格式”,作如下 *** 作:
右键点Y轴,选“坐标轴格式”,更改字体,如果勾选“分类次序反转”,可以把日期坐标调到顶部,否则是在底部。
修改后的图如下:
第2步,分别双击图中“计划开始时间”和“实际开始时间”的图形,在d出来的对话框中,把【边框】和【内部】都选为无。
第3步,右键点击右边的图例说明,选“图例格式”,更改字体及放置位置:
再把多余的“计划开始时间”、“实际开始时间”删除。
第4步,在图表区空白地方右键点击,选“图表选项”,在网格线中,把X轴、Y轴的主要网格线都勾上。
至此,一个有计划与实际对比,并且可以根据需要由数据透视表进行筛选的动态的甘特图就完成了。
亿图甘特图的连接任务不能用是你连接两个或者多个任务的时候,默认的连接是“开始-结束”型的。亿图思维导图MindMaster是一款国人自主研发的免费思维导图软件,即便是零基础的使用者也能快速上手使用,并绘制出专业的思维导图作品。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)