Excel之PowerQuery 合并單元格及多行表頭轉(zhuǎn)動態(tài)一維表
網(wǎng)友提問:


放大圖片:


個人建議:原表是一張打印表(或展示表),這種表不要再拿來加工了。這種原表是給外行看的,我們做這件事情的人應該保留原始數(shù)據(jù)。
因為您的需求不一樣,所以直接套用PowerQuery 107集合集中的這節(jié)課,是不行的。

只要需求變了,我們的思路就要跟著變。計算機里不能強行記憶。
第1步:導入數(shù)據(jù)
原始的合并單元格就都變成了如下情況

第2步:降標題
這里有些人會說,直接鼠標操作就好了,小心哈羅雷球白夕尚*會提“性能”問題,不信你用鼠標操作看看會不會多出一步,這一步是多余的,你還要刪除。因為所有列的數(shù)據(jù)類型暫時都無法確定。

第3步:我們只需要紅框之內(nèi)表

方法:篩選"降標題"這張表Column1這列不為null的,然后對篩選后的表除了Column1、Column2以外所有列刪除。最后轉(zhuǎn)置。
得到結(jié)果:這一步做完先放在這里,我們一會有用。

第4步:我們需要“降標題”那樣表紅框之內(nèi)的表,再轉(zhuǎn)置

首先對“降標題”這張表刪除Column1與Column2這兩列,對結(jié)果表轉(zhuǎn)置,會得到下表

接下來我們再對這張表,Column1這列判斷,當以“列”開頭時,就讓他為null

第4步完整代碼:
第5步:現(xiàn)在可以使用Table.Group第五參數(shù)分組了

現(xiàn)在我們需要讓Column2、3、4? 變成? Column1、2、3 好與我們第3步做好的表拼接

所以,我們需要將分組each后面的下劃線(代表數(shù)據(jù)列每個Table)
我們先將每個Table按列轉(zhuǎn)成列表,跳過第一行,再轉(zhuǎn)回表

然后我們就可以用第三步的結(jié)果表與每個Table相連接

對每個Table做轉(zhuǎn)置

提升每個Table的標題

第5步的完整代碼如下:
第6步:動態(tài)表頭
取第5步的【數(shù)據(jù)】列,把它們合并成一張表,取表頭

第7步:展開

第8步:使用鼠標修改表頭
雙擊Column1

修改成:部門

第9步:使用鼠標拖拽排序字段

第10步:使用鼠標排序字段


返回結(jié)果:

本文章配套課件已上傳評論區(qū)。所有公式均在PowerQuery 107集課程中有講解。且能實現(xiàn)添加部門、月份、倉庫、SKU等數(shù)據(jù)后動態(tài)刷新。

PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e
更多教程:https://www.bilibili.com/read/cv10222110