公式太難,手動太慢,這纔是NO.1的Excel整理工具!
點擊關注【秋葉 Excel】
發送【6】
領取秋葉 Excel 6 年精選文章合集
作者:小爽
編輯:竺蘭
每年我們公司的行政人事部,都會對公司的活動經費進行規劃,以及預算審覈。
不同部門,在不同月份,活動經費的數額可能不同。
爲了方便登記、查看、以及打印,他們會將表格製作成如下圖的樣子。
這樣看起來比較直觀,部分表哥表姐也喜歡把表格做成這種樣式。
但是如果需要更快速地分析活動經費的分配情況,將其整理爲一維表的格式,然後利用數據透視表分析,可能更加合適。
那如何整理上述數據呢?
如果你用的是Office 365或 WPS 的話,可以直接使用Vstack函數,將不同的數據區域,按照豎直方向進行拼接。
注:對應區域事先做好了區域命名。
如果你不是 Office 365,直接使用傳統 Excel 函數做法,很難做出來。這時,就需要用到數據整理的利器——PoweQuery。
下面我來簡單介紹一下它的做法。
具體操作
我們事先進行預處理操作,導入表,篩選去掉列中的表頭和 null(空)值。
❶ 將數據導入到 PQ 編輯器中。
全選數據區域,在【數據】選項卡中,選擇【來自表格/區域】-創建表-【確定】,進入 PQ 編輯器。
❷ 單擊部門的篩選下三角,取消勾選【部門】和【null】,單擊【確定】按鈕。
對於多區域的表,利用 PowerQuery,我們可以按照多種形式進行合併,下面我介紹的做法是按照每一行的的方式,進行合併。
接下來,我們進行表格轉換處理。
▋第一步:將行轉 List
利用 Table.ToList,將表中的每一行形成 List。
Table.ToList:將表按行方向形成 List
以下圖爲例,公式返回的結果中,列表中的每一行,就是表中每行所對應的數據。
▋第二步:移除每一行中的 null 值
List.RemoveNulls:移除列表中的 null
▋第三步:拆分每一個 list
我們可以看到每一個 List 之間,三個數據爲一組。
所以我們直接利用 List.Split 函數將數據進行拆分處理。
List.Split:列表拆分
Split 是分開的意思,List.Split 的意思就是將列表按照每 N 個拆開,形成單獨的 List。
▋第四步:轉表
將每個 List 按行進行轉表,這裡我們用 Table.FromRows 函數(或 Table.FromList)。
Table.FromRows:將 list 形成的列表轉換爲行方向的表
那我們需要的表標題,可以怎麼樣獲取呢?
獲取標題行,我們可以先用 Table.ColumnNames 獲取標題的 List,然後 List.FirstN 取前三個標題。
Table.ColumnNames:獲取表中的標題
List.FirstN:獲取列表中的前 N 個
我們將寫好的標題函數貼在,Table.FromRows 函數的第二參數上,此時就已經完成拆分後的轉換,最後進行表合併即可。
▋第五步:合併
最後利用 Table.Combine 進行合併,到這裡就完成了。
Table.Combine:將列表中的多個 Table 表進行合併
將處理好的數據上傳到表。
延伸拓展
上面講的是按照每一行進行轉換合併,那麼按照每一列進行合併,這應該怎麼做?
其實跟前面也是一樣的思路,只不過使用的函數稍微有點變化。
如下圖:
❶ 將表中每一列轉換列表(Table.ToColumns),
❷ 移除 null 值(List.Select),
❸ 每 3 列進行拆分(List.Split),
❹ 列表循環(List.Transform),按列轉表(Table.FromColumns),
❺ 最後合併(Table.Combine)
本文講解的是,將間隔相同的多區域表,進行數據合併。
手動複製粘貼的做法也可以,但是數據更改後,無法自動更新。
利用Office 365 或 WPS 中的 Vstack 函數,我們可以將多個區域直接進行豎直方向的拼接。
數據整理,最常用的利器就是 PowerQuery。利用它,基礎的界面操作就可以完成很多整理工作,但是稍微複雜一點點的,就得需要一丟丟 M 函數。
對於沒有 M 函數基礎的小夥伴,本文可能看得有點吃力,但是如果我們的數據規範的話,其實也並不需要搞這些。
所以大家平時最好規範一下數據的記錄,這樣就可以減少很多不必要的工作啦
如果你想學習更多實用的 Excel 乾貨,那麼千萬別錯過這次的《秋葉 Excel 3 天集訓營》!
用 3 大學習模塊,每天 30 分鐘,教你玩轉 Excel!
秋葉 Excel 3 天集訓營
趕緊點擊加入吧 !
報名後,自動彈出班主任微信
掃碼添加,還可領取:
35 個常用函數說明
點擊下方卡片關注【秋葉 Excel】
發送【6】
領取秋葉 Excel 6 年精選文章合集