王志軍
最近在工作中遇到一個比較尷尬的問題,如圖1所示,這里的樣例數(shù)據(jù)是某品牌的商品在不同區(qū)域的銷售記錄,但數(shù)據(jù)很不規(guī)范,各個工作表中各列的分布順序并不相同,甚至某些列的數(shù)據(jù)與其他工作表完全不同,該如何完成匯總操作呢?由于實際的源數(shù)據(jù)非常大,而且時常會進行更新,手工匯總并不合適。
這里以Excel 2019版本為例,介紹動態(tài)合并的操作步驟:
第1步:新建匯總表
新建一個工作表,重命名為“匯總表”,當然也可以取其他的名稱。
第2步:加載數(shù)據(jù)
選擇任意一個數(shù)據(jù)單元格,切換到“數(shù)據(jù)”選項卡,在“獲取和轉(zhuǎn)換數(shù)據(jù)”功能組中依次選擇“獲取數(shù)據(jù)→來自文件→從工作簿”,建立連接之后會打開“導(dǎo)航器”窗口,單擊左側(cè)的工作簿名稱,然后點擊右下角的“轉(zhuǎn)換數(shù)據(jù)”按鈕,將數(shù)據(jù)加載到數(shù)據(jù)查詢編輯器,此時可以看到如圖2所示的編輯器界面。
需要提醒的是,原來的樣例工作簿只有3個數(shù)據(jù)表和1個新創(chuàng)建的匯總表,但這里會增加幾個名稱怪異的工作表名稱,這是由于在Excel執(zhí)行了篩選、插入超級表或設(shè)置打印區(qū)域的原因。
第3步:篩選多余工作表
單擊“Kind”字段的篩選按鈕,在篩選菜單中選擇“Sheet”的類型。單擊“Name”字段,取消“匯總表”,否則合并之后會導(dǎo)致數(shù)據(jù)成倍增加,增加的主要是重復(fù)的記錄,效果如圖3所示。
第4步:修改字段屬性
從圖1可以發(fā)現(xiàn),各個工作表中的字段分布順序并不相同,個別工作表中的字段是其他工作表中沒有的,因此必須在合并之前進行預(yù)處理。
在右側(cè)窗格的“查詢窗格”區(qū)域單擊“源”,光標跳轉(zhuǎn)到編輯欄,將公式中的“null ”更改為“true”,這樣可以保證系統(tǒng)自動識別出字段名稱并進行自動歸類。
第5步:展示有效數(shù)據(jù)
仍然在查詢窗格選中步驟名稱“篩選的行”,按住Ctrl鍵不放,依次單擊“Name”和“Date”兩個字段的標題選中這兩列,右鍵選擇“刪除其他列”。單擊“Date”字段的展開按鈕,將數(shù)據(jù)展開,現(xiàn)在可以看到圖4所示的展開效果。
完成上述步驟之后,單擊“銷售日期”字段的標題,將數(shù)據(jù)類型設(shè)置為“日期”,最后依次選擇“關(guān)閉并上載→關(guān)閉并上載至”,將數(shù)據(jù)上載到“匯總表”工作表的指定單元格,各工作表中只要是標題相同的列,就會自動歸類到同一列中,各工作表中標題不同的列,也會自動依次排列,效果如圖5所示。
值得特別指出的是,通過上述步驟,即使源數(shù)據(jù)有更新或變化,只要在匯總表的任意單元格單擊鼠標右鍵進行刷新就可以了。