本文的管理小工具是本人一手一脚弄的,学艺不精,欢迎高手指正。
EXCEL实在是一个很强大的工具,可惜几乎所有教这玩意的书都面目可憎,几乎下决心不让人有兴趣读下去。最近想做一个工作项目的管理工具,埋头翻了下书,按自己的想法搭个框,再一条一条百度想要的函数,以及效果,一个一个去试效果。居然好象能用了。不过,好些百度回————来的公式,经我山寨之后虽然能用,却仍然对算法半懂不懂,留待请教高手了。如有兴趣想用的朋友,只管动手试试。
我做的这个东西叫“工作项目管理表”,工作簿分两页:一页是工作记录表,一页是由工作记录表透视过去的工作项目汇总表,日期进度表就在汇总表的基础上进行加工。
首先是做工作记录表,这个表用于记录每个工作项目,字段有“执行人”、“项目”、“要求完成时间”、“工作进度”、“备注”。如下图。
输入一定数量记录后,就可以做透视表了。如下图。这里有个技巧,2007版以上,在工作进度的筛选处,剔除“取消”和“已完成”的项目,就可以在透视表中显示得更清爽了。
在透视表区域旁边,手工在31个单元格上标示从1到31的数字,代表一个月的1——31日。在这一行的上面,每个数字对应的上方单元格,用公式显示当月的1号到31号。这个公式是:显示当月1号,IF(DAY(TODAY())=1,TODAY(),TODAY()+1-DAY(TODAY()));如果是显示2号,则是IF(DAY(TODAY())=2,TODAY(),TODAY()+2-DAY(TODAY()));显示3号,则是IF(DAY(TODAY())=3,TODAY(),TODAY()+3-DAY(TODAY())),发现规律了吧,依此类推。把这些公式输入后,将单元格格式选为日期,并点选显示为中文的短星期几的格式,就成了现在看到的样子。
我把这些短星期的单元格再添加一个条件格式,如果它的日期是星期六或者星期天,则显示底色为浅蓝色。这个判断日期是星期几的条件公式是:“WEEKDAY(K4,2)=6”和“WEEKDAY(K4,2)=7”,这是设置了两个显示条件,一个是星期六,一个是星期天。这样一来,星期六和星期天就被显示了浅蓝色,清楚多了。公式里的K4,是这一行里表示要显示这种格式的首个单元格的位置。
每个项目对应的1——31号单元格,看似空白,其实都是输入了公式的,这个公式是显示当月1号到31号,这个公式是:1号DATE(YEAR(TODAY()),MONTH(TODAY()),1);2号则是DATE(YEAR(TODAY()),MONTH(TODAY()),2);依此类推。
这个公式和上面显示星期那个有什么区别?我请教了部门里的EXCEL小神女,说是一样的结果,不同的运算方式。好了,设置了公式之后,要将字体设为白色,这样,上面看起来就是空白的,其实是有料的喔。
在这些单元格上,我设置了两个条件格式:1、当单元格数值=要求完成时间,显示浅橙色底色;2、当单元格数值=系统日期(也就是当天日期),显示浅绿色底色。当然,字体也要相应设置成底色,这样看起来仍然是没有字的。于是,这些单元格就会在表示当天那格显示浅绿色,在项目要求完成时间标示浅橙色。
在工作记录表和项目汇总表上的“要求完成时间”那一列,我设置了两个条件格式:1、本周内,显示粉红色,条件公式是AND(TODAY()-ROUNDDOWN(C5,0)<=WEEKDAY(TODAY())-1,ROUNDDOWN(C5,0)-TODAY()<=7-WEEKDAY(TODAY()));2、15天内,显示浅黄色,公式是AND(ROUNDDOWN(C5,0)-TODAY()>(7-WEEKDAY(TODAY())),ROUNDDOWN(C5,0)-TODAY()<(15-WEEKDAY(TODAY())));以表示不同紧急度,这两个公式我并不太懂,C5是单元所在的位置标号。
成表是这样的:
以上项目汇总表上的显示,只要在工作记录表上做了更改,项目汇总表上点右键刷新数据之后,上面的显示会自动更新。
我做的工作记录表上,还为一些常规工作设置了自动显示日期,主要针对在每月固定日期都要完成的常规工作,它们会在每个新月份自动更新为新的工作项目完成时间。
比如:每月第1天,公式是DATE(YEAR(TODAY()),MONTH(TODAY()),1);
每个下周一,公式是IF(WEEKDAY(TODAY(),2)=1,TODAY(),TODAY()+8-WEEKDAY(TODAY(),2));
每月12号,公式是IF(DAY(TODAY())=12,TODAY(),TODAY()+12-DAY(TODAY()));
每月最后一个周一,公式是INT(DATE(YEAR(I2),MONTH(I2)+1,-7)/7)*7+2;
每月倒数第二个周一,公式是INT(DATE(YEAR(I2),MONTH(I2)+1,-12)/7)*7+2。
之所以用两个表,是基于这样的原因:一个表用来登记,同时保存所有已做项目,当然为了方便看,可以将取消或者已完成的项目隐藏;另一个其实是透视表,它可以将相同执行人的项目汇总在一起,方便管理,另外日期进度条我只设置了三十行,我想:一个部门同时执行三十项工作已经很忙了吧?如果你在工作记录表上做这些显示设置,那工作量,可是要死人的。
补充:如果想到那种成条状的进度条,如下图
这种效果,只要把条件格式中的“单元格数值=要求完成时间”修改成“单元格数据小于或等于要求未完成时间”,即可。