使用Excel的新功能Power Query或Power Pivot來解決多表之間的匹配合并問題,對很多人來說可能是一個全新的思路!十分簡單有效!
EXCEL中實現(xiàn)兩個表格之間的數(shù)據(jù)自動匹配、補全、合并成一個表格,通常是將類似于一個主表(比如訂單表)和一個明細表(如訂單項目明細表)之間的匹配、補全和合并。
在以前,這個問題可以用vlookup等函數(shù)來解決,或者如果是需要匹配的列很多,用vlookup會很麻煩或者因為大量的公式計算以致Excel很卡時,也經(jīng)常使用VBA來解決。
但是,現(xiàn)在,隨著Excel2016的超級強大新功能Power Query和Power Pivot(Excel2010或Excel2013可到微軟官方下載相應(yīng)的插件)的推出,這個問題已經(jīng)不需要通過vlookup函數(shù)或VBA來解決了,并且,通過Power Query和Power Pivot的解決方法不僅十分簡單,而且可以隨著數(shù)據(jù)源的更新而一鍵刷新得到最新結(jié)果。
以下分別從Power Query和Power Pivot兩個角度來提供解決方案。
隨著數(shù)據(jù)化時代的來臨,現(xiàn)在公司的數(shù)據(jù)量越來越大,需要整合分析的要求也越來越高。比如現(xiàn)在有訂單表和訂單明細表,經(jīng)常要將訂單表的一些信息讀取到訂單明細表里,給相關(guān)的部門去用,原來只要幾列數(shù)還好,vlookup讀一下就是了,但現(xiàn)在,經(jīng)常要很多數(shù),用vlookup就會很麻煩了。以下這個訂單表還算少的,我在某個項目上的合同表,差不多300列,而且這還不算真正多的。
這種情況,如果還用vlookup的確有點吃力了,雖然vlookup是Excel中極其重要的函數(shù),但是,在大數(shù)據(jù)時代,已經(jīng)很難承起數(shù)據(jù)關(guān)聯(lián)合并的重擔(dān)了,所以微軟才在Excel里加了PowerQuery功能,具體實現(xiàn)方法如下。
Step05-展開要接入表及所需要的列
通過以上簡單的5步,點幾下鼠標(biāo),兩個表的數(shù)據(jù)就全部匹配合并到一起并可以返回Excel里了,如下圖所示:
以上是通過Power Query實現(xiàn)的表間數(shù)據(jù)合并的方法,但是,實際上,在很多數(shù)據(jù)分析中,對于這類本身就有關(guān)系的表,如果數(shù)據(jù)合并到一起的話,會導(dǎo)致大量的數(shù)據(jù)重復(fù)和存儲量增大,而實際分析目的本身只需要可以按相關(guān)的數(shù)據(jù)進行分析即可,因此,Power Pivot提供了更進一步的解決方案——直接構(gòu)建兩表之間的數(shù)據(jù)關(guān)系然后進行分析,不需要再整合數(shù)據(jù),具體方法如下。
仍然使用訂單表和訂單明細表為例。
加載完畢后,Power Pivot中數(shù)據(jù)如下:
點擊“關(guān)系視圖”,看到3個表的內(nèi)容分別顯示在3個不同的框框里,用鼠標(biāo)按住這些框框的頂部名稱區(qū)域就可以按需要拖放到不同位置。
訂單表、訂單明細表、產(chǎn)品表之間的關(guān)系是:訂單表里的每個訂單對應(yīng)訂單明細表里多個訂單(產(chǎn)品)項目,訂單明細里的產(chǎn)品可以從產(chǎn)品表里獲取更詳細的相關(guān)信息。
結(jié)果如下:
按同樣的方法還可以建立訂單明細表和產(chǎn)品表之間的關(guān)系,最后結(jié)果如下:
這樣,3個表之間的關(guān)系就建好了,后續(xù)就可以直接從各個表里拖拽需要的信息進行數(shù)據(jù)透視等分析,如下所示:
比如,要分析各種產(chǎn)品類別的銷量:
以上介紹了Power Query在EXCEL中實現(xiàn)兩個表格之間的數(shù)據(jù)自動匹配、補全、合并成一個表格的方法以及通過Power Pivot通過構(gòu)建多表之間的關(guān)系而直接進行統(tǒng)計分析的解決方案,可按實際需要選擇使用。