Excel之PowerQuery 表格整形
我也不知道題目應(yīng)該叫什么,只能這樣寫(xiě)了。就算整個(gè)形狀吧。
建議:盡量使用一維數(shù)據(jù),避免后期麻煩,就好比拍照,要提前化妝,不要留給后期。后期再?gòu)?qiáng)大,也不如前期簡(jiǎn)單。
網(wǎng)友提問(wèn):

圖片放大:

聲明:我不懂您的業(yè)務(wù),只是按您的表格要求去做您的需求,如果需求有變,請(qǐng)另行提問(wèn)。每個(gè)人思路不同,方法不同。即便同一個(gè)人,每次的思考方式也不同。我只是隨機(jī)想出一個(gè)方法,并不代表最佳答案。
一、表一變表二

1、數(shù)據(jù)導(dǎo)入PowerQuery
注意:將數(shù)量列的數(shù)據(jù)類(lèi)型改成文本!

2、重命名編碼列
由于您要生成的新表中也有一個(gè)編碼列,字段名不能重復(fù)
這個(gè)不用寫(xiě)代碼,雙擊字段名修改即可

3、將+號(hào)替換成指定內(nèi)容,在末尾加上指定內(nèi)容
替換函數(shù)如下:


4、按分隔符拆分


5、用鼠標(biāo)刪除不需要的列

二、表二變表三
按網(wǎng)友需求,分組,each后面的下劃線(xiàn)代碼數(shù)據(jù)列的每個(gè)Table(現(xiàn)在只有一組,一個(gè)Table)

分三步思考:
1、將編碼兩個(gè)“單元格”變成一個(gè)“單元格”
方法是將編碼列,使用Text.Combine連接成一個(gè)字符串
代碼:Text.Combine([編碼],",")

2、將附件列取星號(hào)前面的字母連接星號(hào)與每個(gè)Table的行數(shù)

3、變成表并展開(kāi)
將上面兩步得到的字符串,外面套上{},變成列表
再通過(guò)Table.FromColumns({列表1,列表2})變成表
最終代碼


結(jié)果:

還是那句話(huà),如果需求變了,方法就變了,比如附件不止一個(gè)字母,那方法就改了,不要在原始公式上改來(lái)改去的,要重新塑造思路。如有新需求,請(qǐng)?jiān)俅谓貓D提問(wèn)。

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