Excel之PowerQuery 對(duì)有合并單元格和多行表頭的表格進(jìn)行合并
網(wǎng)友提問:
在一個(gè)文件夾里有N個(gè)文件

樣子是這樣的



至于一個(gè)工作簿里有一個(gè)表還是多張表,我們在PowerQuery基礎(chǔ)篇就講過方法了
現(xiàn)在的問題不再于合并幾張表,而是怎么處理這類型的表
我們用PowerQuery無法展示合并單元格,我可以給您做成下面的樣子
您自己把表頭和表尾復(fù)制粘貼(用VBA雙劍合璧可以,但是意義很少,寫一堆代碼就實(shí)現(xiàn)一個(gè)復(fù)制粘貼不劃算)

網(wǎng)友每張表的第3行表頭是一樣的,如果不一樣我也講過方法(詳見)
https://www.bilibili.com/read/cv23521093
如果第3行的表頭是一樣的,繼續(xù)往下看
我們把這N個(gè)工作簿放在一個(gè)文件夾里
1、打開一個(gè)新的Excel工作簿,從文件夾導(dǎo)入

2、處理方法代碼如下
代碼如下:其中"C:\Users\sunyihang\Desktop\20230521" 是你自己的文件夾路徑 寫自己的

思路:代碼中的變量a? 我們在這個(gè)視頻里講過原理https://www.bilibili.com/video/BV1xL4y1z7JB
只是這次我們可以寫null 讓每張表沒有表頭? 寫true有表頭也行一會(huì)少跳過1行
代碼中的變量b,遍歷每個(gè)列表,篩選出來的每個(gè)元素就是每個(gè)Table,篩選每個(gè)table中【Column7】不為null的
根據(jù)數(shù)據(jù)庫原則,一個(gè)字段一個(gè)名,合并單元格會(huì)識(shí)別第一個(gè)單元格中的文字,后面的那個(gè)顯示列號(hào)【Column7】

最后輸出合并列表中的每個(gè)Table,向下填充【村莊】列。
在實(shí)際工作中,假設(shè)沒有[Column7]列? 那就找哪個(gè)列為null的不要(因?yàn)槠渌侄蚊L我找個(gè)簡單的),或者判斷序號(hào)列是不是一個(gè)數(shù)字,如果是就篩選不是就不篩選。

PowerQuery教程:https://www.bilibili.com/video/BV1oa4y1j75e