平淡
比如圖1是某公司一個(gè)項(xiàng)目的進(jìn)度計(jì)劃表,按圖示先在B2單元格中輸入任務(wù)的開(kāi)始時(shí)間,在C2到C7單元格中依次輸入每個(gè)子項(xiàng)目的預(yù)計(jì)耗時(shí)。接著在B3單元格中輸入公式“=B2+C2”(表示下個(gè)項(xiàng)目的開(kāi)始時(shí)間是“上個(gè)項(xiàng)目的開(kāi)始時(shí)間+預(yù)計(jì)耗時(shí)”),
然后下拉填充到B7單元格,這樣便可以將每個(gè)子項(xiàng)目的開(kāi)始時(shí)間自動(dòng)地計(jì)算出來(lái)了(圖2)。
為了方便查看,我們先在A13單元格中隨意輸入一個(gè)日期,接著在D2單元格中輸入公式“=IFS(B2>$A$13,0,(B2+C2)<$A$13,C2,B2<=$A$13,$A$13-B2)”,然后下拉填充到D7單元格。再定位到E2單元格并輸入公式“=C2-D2”,下拉填充到E7單元格(圖3)。
公式解釋:
在D列通過(guò)I FS函數(shù)將B列中的日期(開(kāi)始時(shí)間)和A13單元格中的日期進(jìn)行對(duì)比并顯示對(duì)應(yīng)的值。
1如果B列中的日期比A13單元格中的大,那么“已完成”就顯示為0,因?yàn)轫?xiàng)目尚未開(kāi)始。
2如果“B2+C2”比A13單元格中的日期小,那么“已完成”就顯示為C2單元格中的數(shù)值,即已過(guò)去的天數(shù)。
3如果B列中的日期小于等于A13單元格中的日期,則“已完成”就顯示為“A13-對(duì)應(yīng)B列單元格”的數(shù)值,表示任務(wù)只完成其中的一部分。
最后在F2單元格中輸入公式“=SUM($C$2:C2)”,然后下拉填充到F7單元格(圖4)。該公式表示從C2單元格開(kāi)始對(duì)數(shù)值進(jìn)行累加,目的是為了在下個(gè)任務(wù)的甘特圖的前方疊加上個(gè)任務(wù)已完成的數(shù)值占位符,這樣前后任務(wù)的甘特圖才能像圖1所示那樣無(wú)縫地銜接排列。
構(gòu)建完數(shù)據(jù)后,我們就可以制作甘特圖了。在H2單元格中輸入公式“=REPT("█",D2)&REPT( " ? " , E 2 ) ”,H 3 單元格中輸入公式“ = R E P T ( " " , F 2 * 4 )&REPT( " █ ", D3)&REPT ( "?",E3)”并下拉填充到H7單元格,同時(shí)將H2:H7區(qū)域的字體設(shè)置為“等線”、加粗顯示(圖5)。
公式解釋
使用REPT函數(shù)根據(jù)D列和E列中的數(shù)值,分別重復(fù)填充“█”和“?”字符作為“已完成”和“未完成”的圖標(biāo)(這兩個(gè)字符通過(guò)點(diǎn)擊“插入→符號(hào)”進(jìn)行選擇)。H2單元格作為初始單元格直接填充字符,從H3單元格開(kāi)始添加函數(shù)“=REPT(" ",F(xiàn)2*4)”(使用空格填充)并和原來(lái)的公式進(jìn)行連接,因?yàn)橐_(dá)到圖1所示的前后銜接排列效果,在H3單元格中的字符圖標(biāo)之前要增加H2單元格中數(shù)值的占位空格。比如在圖1中H 2單元格對(duì)應(yīng)的數(shù)值是“5”,因此要增加“5*4=20”個(gè)空格字符(正好對(duì)應(yīng)5個(gè)“█”字符,一個(gè)字符對(duì)應(yīng)4個(gè)半角空格字符)。
接下來(lái)選中H2: H 7區(qū)域,依次點(diǎn)擊“開(kāi)始→ 條件格式→ 新建規(guī)則→只為包含以下內(nèi)容的單元格設(shè)置格式”,設(shè)置一個(gè)包含“█”字符的單元格,將其字體顏色設(shè)置為“綠色”(表示項(xiàng)目全部完成)。同上,設(shè)置一個(gè)包含“?”字符的單元格,字體顏色設(shè)置為“紅色”(表示項(xiàng)目未完成)。再設(shè)置一個(gè)包含“█”和“?”字符的單元格,字體顏色設(shè)置為“藍(lán)色”(表示項(xiàng)目正在進(jìn)行中),這樣每個(gè)項(xiàng)目都可以通過(guò)對(duì)應(yīng)的圖標(biāo)和顏色進(jìn)行區(qū)分了(圖6)。
然后定位到H1單元格并輸入公式“=IFS(B2>A13,"任務(wù)尚未開(kāi)始",B2<=A13,TEX T(A13,"y y y/mm/dd")&"工作進(jìn)度圖")”,最后在G9:G12區(qū)域中添加圖標(biāo)備注文字。
完成上述的操作后,我們只需更改A13單元格中的日期,那么甘特圖中的圖標(biāo)就會(huì)自動(dòng)發(fā)生變化了。比如在A1 3 單元格中輸入2021/4/27,因?yàn)轫?xiàng)目尚未開(kāi)始,此時(shí)甘特圖中的圖標(biāo)全部顯示為“?”(表示項(xiàng)目均未完成),同時(shí)它的標(biāo)題顯示為“任務(wù)尚未開(kāi)始”。如果在A13單元格中輸入2021/5/18,這時(shí)已經(jīng)超過(guò)所有任務(wù)的日期,此時(shí)甘特圖中的圖標(biāo)全部顯示為綠色的“█”(表示項(xiàng)目已經(jīng)全部完成),同時(shí)它的標(biāo)題顯示為“2021/5/18工作進(jìn)度圖”(圖7)。
當(dāng)然,在實(shí)際使用時(shí)A13單元格是要和當(dāng)天日期相對(duì)應(yīng)的,在A 1 3 單元格中輸入公式“=TODAY()”,再將不需要的D、E、F列隱藏。以后我們每天打開(kāi)工作表后就可以看到甘特圖中的內(nèi)容和標(biāo)題都會(huì)發(fā)生不同的變化,這樣查看工作進(jìn)度是不是更方便了(圖8)?