最近我遇到個坑爹的重復(fù)體力勞動活兒:有這么一類(注意不是個)表吕粗,見下圖纺荧,
要把它做成圖表,放到PPT里颅筋,類似于這樣:
總共有17個指標(biāo)宙暇,這意味著至少有17頁P(yáng)PT要做。17個指標(biāo)的維度有多有少议泵,所有圖表類型也要求不一樣占贫。
坑爹之處在于:每周都會收到N份這樣的表格,然后要做N個這樣的PPT先口。目前N》=5型奥,隨著業(yè)務(wù)增長瞳收,這個N會不斷增大;并且當(dāng)老大需要某份表格的PPT時(shí)厢汹,我得在最短時(shí)間內(nèi)拿出來螟深。而這只是我工作內(nèi)容中很小的一部分。
所以烫葬,靠體力活兒肯定不行赔癌。
常規(guī)思路一
我能想到的常規(guī)思路是在PPT中插入數(shù)據(jù)圖表命黔,然后把17個指標(biāo)的數(shù)據(jù)分別復(fù)制到圖表的數(shù)據(jù)源中觅玻。
這樣可以簡單計(jì)算出一個工作量:在PPT中插入17個數(shù)據(jù)透視圖站辉,然后復(fù)制粘貼17次數(shù)據(jù),再對每一個數(shù)據(jù)透視圖進(jìn)行微調(diào)兑巾。再加上文字描述条获,一頁P(yáng)PT至少要花費(fèi)5分鐘。這樣闪朱,做完這個PPT需要90-120分鐘月匣。
常規(guī)思路二
直接在Excel中選擇指標(biāo)生成透視圖,然后再復(fù)制粘貼到PPT中奋姿,粘貼時(shí)選擇“粘貼為鏈接”锄开,這樣,Excel中的圖表更新后称诗,PPT中的圖表會自動更新萍悴。PPT中文字描述部分需要用到的數(shù)據(jù)依然采取復(fù)制Excel數(shù)據(jù)再粘貼為鏈接的辦法。
類似于下面這樣:
采用這種方式癣诱,只是第一次稍微花費(fèi)時(shí)間多一點(diǎn),以后就比較方便了:直接把數(shù)據(jù)粘貼到這個Excel中袜香,刷新一下撕予,這樣數(shù)據(jù)透視圖就更新了;然后打開PPT蜈首,再更新下鏈接即可实抡。
采用這種方式欢策,除了第一次稍微花費(fèi)時(shí)間多一點(diǎn)之外吆寨,以后要做一個PPT,只需要花費(fèi)不到5分鐘踩寇。相比【常規(guī)思路一】90-120分鐘啄清,效率提高了17-23倍。這已經(jīng)是很嚇人的改進(jìn)了俺孙。
但是這種方式有一個弊端:
萬一指標(biāo)及其維度的個數(shù)發(fā)生了變化辣卒,或者給過來的數(shù)據(jù)里掷贾,指標(biāo)的順序發(fā)生了變化,所有的事情都會亂套添寺。
是時(shí)候祭出PowerQuery大法了
使用PowerQuery來處理胯盯,思路和【常規(guī)思路二】類似:在Excel中生成圖表數(shù)據(jù)后復(fù)制到PPT中,粘貼為鏈接來PPT中的數(shù)據(jù)圖表即時(shí)更新计露。
不同之處在于對原始數(shù)據(jù)的處理:
首先,在PowerQuery中引入來自于文件夾(名字叫“原始數(shù)據(jù)”)的數(shù)據(jù)源憎乙,建立一個名叫“原始數(shù)據(jù)”的查詢票罐。目的是避免每次都要修改原始數(shù)據(jù)的文件名。對該查詢進(jìn)行簡單清理泞边,如刪除不必要的列该押,提升標(biāo)題等。
其次是分別建立17個查詢阵谚,都引用(注意不是復(fù)制)“原始數(shù)據(jù)”這個查詢蚕礼。引用的好處是“原始數(shù)據(jù)”發(fā)生變化了,17個查詢會跟著變化梢什;如果用復(fù)制的方式奠蹬,“原始數(shù)據(jù)”發(fā)生變化之后,還得手動修改17個查詢嗡午。
第三步是把這17個查詢加載到表囤躁。之所以不加載到數(shù)據(jù)模型是因?yàn)閷鞵PT的文字描述中還需要表中的數(shù)據(jù)。我順便將數(shù)字處理為百分比了荔睹,這樣看著順眼狸演。
以上三步在PowerQuery的界面中即可完成,而且也沒有復(fù)雜的操作僻他,就是引入數(shù)據(jù)源宵距,引用數(shù)據(jù)源,刪除不必要的列吨拗,改變數(shù)字格式满哪,提升標(biāo)題等。所以丢胚,原始代碼就不給出了翩瓜。
第四步是在17個表中分別生成各自的數(shù)據(jù)透視圖。
接下來的步驟和【常規(guī)思路二】一模一樣了:復(fù)制PPT需要的數(shù)據(jù)圖表携龟,然后在合適位置粘貼為鏈接兔跌。這樣將來可以即時(shí)更新PPT中的數(shù)據(jù)圖表。
如何在新的數(shù)據(jù)來了之后更新PPT呢峡蟋?
第一步坟桅,把原始數(shù)據(jù)丟到“原始數(shù)據(jù)”文件夾华望;
第二步,打開建立好的PowerQuery模板Excel文件仅乓,刷新赖舟;
第三步,打開PPT夸楣,更新鏈接宾抓,完成。
這樣花費(fèi)的時(shí)間也在5分鐘左右豫喧。
這樣做的好處是石洗,即使指標(biāo)及其維度的數(shù)目或位置發(fā)生了變化,都不會造成任何影響紧显,每次生成PPT都只需要5分鐘讲衫。我要生成5個PPT也只需要半小時(shí);如果要生成更多PPT孵班,假設(shè)要生成10個涉兽,那也只需要一個小時(shí)就能完成。
如果要生成幾十個篙程,上百個PPT枷畏,那就得借助VBA的威力了——不過這是我的猜測,還沒有機(jī)會來驗(yàn)證房午。
結(jié)語
所以矿辽,PowerQuery最大的好處是以非常有彈性的方式,把重復(fù)工作封裝起來郭厌,將我們從無休無止的重復(fù)體力活兒中解放出來袋倔,去干其他自己想做的事情。
當(dāng)我們需要在office程序之間共享數(shù)據(jù)時(shí)折柠,粘貼為鏈接是最佳思路——數(shù)據(jù)與圖表會隨著原始數(shù)據(jù)更新而更新宾娜。(不過要注意一點(diǎn),office365最近的升級導(dǎo)致放在onedrive的原始數(shù)據(jù)粘貼為鏈接后更新失斏仁邸)前塔。