如何整合Excel表格?
網(wǎng)友解答: 剛看了前面幾個(gè)答案,除了說用vlookup的方法基本答對(duì)之外,人氣最高的答案貌似不是提問者所需要的,因?yàn)檫@個(gè)答案是指多個(gè)工作表的匯總,而不是提問者所需要的橫向的合并。如前面的
剛看了前面幾個(gè)答案,除了說用vlookup的方法基本答對(duì)之外,人氣最高的答案貌似不是提問者所需要的,因?yàn)檫@個(gè)答案是指多個(gè)工作表的匯總,而不是提問者所需要的橫向的合并。
如前面的答案,vlookup是方法之一,但是,用vlookup有一個(gè)問題,就是只能從一個(gè)表讀取數(shù)據(jù)到另一個(gè)表,而不能實(shí)現(xiàn)兩個(gè)表的完全整合,比如如果A表上有姓名和地址而B表上沒有數(shù)據(jù)的,從B表讀取A表的數(shù)據(jù)就讀不出來,相反也是一樣。
因此,個(gè)人認(rèn)為最好的辦法是用Excel2016的新功能Power Query(如果是Excel2010或2013可以到微軟官方下載插件)。具體實(shí)現(xiàn)方法如下:
vlookup雖好,然難承大數(shù)據(jù)之重【PQ關(guān)聯(lián)表合并】原創(chuàng) 大海 Excel到PowerBI小勤:大海,現(xiàn)在公司的數(shù)據(jù)量越來越大,現(xiàn)在有訂單表和訂單明細(xì)表,經(jīng)常要將訂單表的一些信息讀取到訂單明細(xì)表里,給相關(guān)的部門去用,原來只要幾列數(shù)還好,vlookup讀一下就是了,但現(xiàn)在,經(jīng)常要很多數(shù),用vlookup要累屎了。這個(gè)訂單表還算少的,還很多其他的一張表里都好幾十列了。
大海:呵呵,大數(shù)據(jù)時(shí)代嘛。幾十列算少的啦,我上次一個(gè)項(xiàng)目上的合同表,有差不多300列,而且這還不算真正多的。
小勤:那怎么辦??!有時(shí)候按列順序讀還好,很多時(shí)候還不是按順序的,簡直就沒法整啊。而且,滿篇公式的時(shí)候,工作表都要跑不起來了。
大海:這個(gè)時(shí)候用vlookup的確有點(diǎn)吃力了,雖然vlookup是Excel中極其重要的函數(shù),但是,在大數(shù)據(jù)時(shí)代,已經(jīng)很難承起數(shù)據(jù)關(guān)聯(lián)合并的重?fù)?dān)了,所以微軟才在Excel里加了PowerQuery的功能嘛,點(diǎn)點(diǎn)點(diǎn),你想要哪些列就哪些列。
小勤:這么神奇?
大海:這段時(shí)間PowerQuery的神奇你也不少見了,不用驚訝。現(xiàn)在就告訴你怎么弄。
Step-1:獲取訂單表數(shù)據(jù)并僅創(chuàng)建表連接上載
Step-2:獲取訂單明細(xì)表數(shù)據(jù)并僅創(chuàng)建表連接上載(需要直接上傳結(jié)果的可以選擇表)
Step-3:回到PowerQuery界面(當(dāng)然,前面一個(gè)步驟如果沒有關(guān)閉并上載的話,不需要這一步)
Step-4:選擇要接入外部數(shù)據(jù)的查詢,單擊【開始】-【合并查詢】
Step-5:選擇要接入的外部表、選擇兩表之間用于匹配的列(可以是多列匹配,文末以另一個(gè)例子該步驟的附圖方式說明)
Step-6:展開要接入表的列信息,選擇要接入的列以及列名顯示方式(是否加前綴)
Step-7:查看接入的結(jié)果,上載數(shù)據(jù)
Step-8:改變數(shù)據(jù)的加載方式(由“僅創(chuàng)建連接”方式改為“表”,若前面訂單明細(xì)不是以“僅創(chuàng)建連接”的方式創(chuàng)建,該步驟不需要)
小勤:這樣真是太方便了,只要選一下匹配要用的列,選擇一下要接入哪些列就搞定了!對(duì)了,剛才你不是說可以多列匹配嗎?原來用vlookup的時(shí)候可麻煩了,還得增加輔助列先將那些列連接起來,然后再用輔助列來匹配。
大海:是的。在PowerQuery里也不需要了,只要在選擇匹配列時(shí)按住ctrl鍵就可以選擇多列了。只是要注意兩個(gè)表選擇匹配列的順序要一致。如下圖所示:
小勤:太好了,以后數(shù)據(jù)列多的時(shí)候匹配取數(shù)就太簡單了。
以上是使用Power Query代替vlookup實(shí)現(xiàn)的兩表合并的基本用法(雖然步驟看起來很多,實(shí)際關(guān)鍵步驟就2個(gè),都是鼠標(biāo)點(diǎn)點(diǎn)點(diǎn)就瞬間完成的事情)。
那么,前面提到的,如果兩個(gè)表間存在的差異數(shù)據(jù)都要顯示,怎么辦呢?只要對(duì)其中的表間連接類型按以下情況進(jìn)行適當(dāng)?shù)倪x擇即可:
左外部:只要訂單表(左表)里有的數(shù)據(jù),結(jié)果表里都會(huì)有,但有些因?yàn)槊骷?xì)表(右表)里沒有,所以匹配過來后會(huì)成為null(空值)
右外部:和左外部相反,即明細(xì)表(右表)里有的數(shù)據(jù),結(jié)果表里都會(huì)有,但因?yàn)橛唵伪恚ㄗ蟊恚├镉胁糠謹(jǐn)?shù)據(jù)沒有,所以合并后用null值表示。
完全外部:不管哪個(gè)表里的數(shù)據(jù),全都進(jìn)結(jié)果表,對(duì)于雙方都有一些對(duì)方?jīng)]有的,合并后顯示為null值。
內(nèi)部:跟完全外部相反,只有兩個(gè)表都有的數(shù)據(jù),才進(jìn)結(jié)果表。
左反:只有訂單表(左表)有而明細(xì)表(右表)沒有的數(shù)據(jù),才進(jìn)結(jié)果表。這種用法經(jīng)常用于檢查如哪些訂單缺了明細(xì)表等。
右反:和左反相反,只有明細(xì)表(右表)有而訂單表(左表)沒有的數(shù)據(jù),才進(jìn)結(jié)果表。
歡迎關(guān)注【Excel到PowerBI】我是大海,微軟認(rèn)證Excel專家,企業(yè)簽約Power BI顧問讓我們一起學(xué)習(xí),共同進(jìn)步! 網(wǎng)友解答:月末了,各部門報(bào)過來的數(shù)據(jù),如何合并到一個(gè)文件里?
過去,我們只能使用VBA或編寫SQL語句。
現(xiàn)在,我們只需點(diǎn)擊幾次鼠標(biāo),書寫一個(gè)公式。
6個(gè)工作簿,數(shù)據(jù)結(jié)構(gòu)都是一致的,我們需要把她們合并到一個(gè)工作簿里。
【數(shù)據(jù)新建查詢從文件從文件夾】。
【瀏覽】,找到需要合并的文件夾。
文件夾下每一個(gè)工作簿都被合并在一起。首列“內(nèi)容”顯示【Binary】,是二進(jìn)制數(shù)據(jù)的意思。
最后一列顯示這些工作簿的地址。中間幾列分別表示工作簿名稱、后綴名、訪問時(shí)間、修改時(shí)間、創(chuàng)建時(shí)間和文件屬性。
點(diǎn)擊【編輯】,進(jìn)入【查詢編輯器】,中間那幾列無用,所以右鍵單擊【列標(biāo)簽刪除列】。
如果此時(shí)直接點(diǎn)擊二進(jìn)制首列的"展開按鈕",會(huì)出現(xiàn)錯(cuò)誤提示。
這是因?yàn)?,二進(jìn)制數(shù)據(jù)無法直接提取。我們需要書寫一條公式。
在【查詢編輯器】點(diǎn)擊【添加列添加自定義列】。
在【添加自定義列】對(duì)話框,保留默認(rèn)的【新列名】,在【自定義公式】列表框錄入公式:
=Exel.Workbook([Content],true)
注意,公式函數(shù)嚴(yán)格區(qū)分大小寫(首字母大寫)。
函數(shù)的第一個(gè)參數(shù)是需要轉(zhuǎn)換的二進(jìn)制字段,這個(gè)字段可以在右側(cè)列表框雙擊選擇,不必手工錄入。
函數(shù)的第二個(gè)參數(shù)是邏輯值,如果原數(shù)據(jù)有標(biāo)題行,這里應(yīng)該添寫true。
點(diǎn)擊【確定】后,【查詢編輯器】新增一列,數(shù)據(jù)類型顯示為【Table】,右側(cè)的【應(yīng)用步驟】列表顯示了剛剛進(jìn)行的步驟。
隨便選擇【Table】數(shù)據(jù)的一個(gè)單元格,下方預(yù)覽區(qū)會(huì)顯示這個(gè)表的結(jié)構(gòu)。
點(diǎn)擊新增列標(biāo)簽右側(cè)“展開按鈕”,選擇【擴(kuò)展】。
每一個(gè)【Table】表會(huì)按列方向展開。其中Data數(shù)據(jù)類型仍然顯示【Table】。
我們?cè)俅吸c(diǎn)擊【Table】數(shù)據(jù)列標(biāo)簽右側(cè)的“展開按鈕”。
展開的數(shù)據(jù)已經(jīng)將文件夾下所有工作簿合并在一起。
刪除一些不需要的列。
只留有效數(shù)據(jù)列,點(diǎn)擊【開始關(guān)閉并上載】返回Excel。
所有數(shù)據(jù)都已經(jīng)合并到一個(gè)工作簿中。
得到的合并數(shù)據(jù)實(shí)際上是一個(gè)【查詢】,右鍵單擊可以【刷新】數(shù)據(jù)。
當(dāng)文件夾下原工作簿內(nèi)容變更,合并工作簿只要【刷新】一次,即可更新數(shù)據(jù)。
展開【Table】數(shù)據(jù)時(shí),如果選擇【聚合】,得到的數(shù)據(jù)會(huì)將同類項(xiàng)求和或計(jì)數(shù)。
怎么樣,是不是比VBA要簡單的多啊。