Excel之PowerQuery一次性刪除所有空列
粉絲中有人向我反饋因特殊原因看視頻有障礙,希望我加字幕,不好意思,我完全理解您的情況,但是加字幕比寫文章還耗費時間,要根據(jù)時間軸加內(nèi)容,AI字幕暫時并不完美。如果視頻有障礙時,可以考慮看文章,當(dāng)您對具體點擊位置沒明白時可以參考視頻。祝工作順利!
有如下一張表:

將其導(dǎo)入到PowerQuery中:

一、不完美的刪除空列
1、點【轉(zhuǎn)換】~【轉(zhuǎn)置】

2、點【主頁】~【刪除行】~【刪除空行】

3、點【轉(zhuǎn)換】~【轉(zhuǎn)置】

但是這樣做表頭沒了,也不方便再添加回來。
二、我的方法
不適合多行表頭與合并單元格,多行表頭與合并單元格的表請自行研究方法,需要你親自體會,才知道以后應(yīng)該如何做表。
1、將表導(dǎo)入PowerQuery

2、點【主頁】~【將第一行用作標(biāo)題】~【將標(biāo)題做為第一行】

3、點【轉(zhuǎn)換】~【轉(zhuǎn)置】

4、添加步驟,提示下圖紅框之內(nèi)的表頭


注:【1】Table.ColumnNames 返回表中列標(biāo)題(字段名)
? ? ? ?【2】List.Skip 跳過列表中N個元素


5、添加步驟,刪除滿足條件的行
我們現(xiàn)在的目標(biāo)是讓Column2、Column3、Column4這三個列為空的行刪除
那代碼應(yīng)該寫成:

關(guān)于Table.RemoveMatchingRows函數(shù)可以到我們的PowerQuery M函數(shù)總結(jié)中去找

6、修改第5步的代碼
上面是第5步的代碼,其中?{"Column2","Column3","Column4"} 就是第4步表頭那個步驟,所以可以改成
接下來我們寫活 [Column2=null,Column3=null,Column4=null]
我們要使用到?Record.FromList 函數(shù),注意別將Key和Value值寫反

表頭我們有現(xiàn)成的,但是表頭對應(yīng)的null值我們沒有,表頭有幾個,就有幾個null,所以我們會用到List.Repeat和List.Count函數(shù)


好了,現(xiàn)在我們可以將第5步的公式寫成:

7、點【轉(zhuǎn)換】~【轉(zhuǎn)置】

8、點【主頁】~【將第一行用作標(biāo)題】~【將第一行用作標(biāo)題】

我講的代碼是通用的,你可以直接拿來用,為了自己和同事的有更多的休息時間,請不要在非打印或觀賞表中使用多行表頭或合并單元格。

友情提示:只要你學(xué)習(xí)了PowreQuery合集中的所有內(nèi)容,就可以發(fā)揮自己的想象力去創(chuàng)造一切自己想做的事情。只將筆記下載不學(xué)習(xí)是不行的,你至少要先知道有什么功能,當(dāng)你遇到問題時你才能去找。
PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e
PowerQuery答網(wǎng)友問合集:https://www.bilibili.com/video/BV1yM4y1T7oP