-
1 # 辦公幫幫堂
-
2 # Excel到PowerBI
具體是你的sheet裡不同表格的特徵或規律,但主要都是以下2種情況。
在不同位置的明細表
不同位置的格式化表單
無論哪一種,一方面可以考慮寫VBA程式碼來實現,而且目測這個不是在網上能隨便搜到就用的那種程式碼。另一方面,可以考慮使用Excel2016的新功能Power Query(Excel2010或Excel2013可到微軟官方下載相應的外掛)來實現。
相對於VBA,Power Query更加易用一些。下面以不同表中多明細表合併及多格式化表單合併2個例子說明Power Query在資料合併方面的基本用法,對於多表在同一個sheet中的情況,可參考類似的方法根據實際情況應變使用。
一、多工作簿多明細表合併step01-從資料夾獲取資料(如果資料僅在1個工作簿內,選擇“從工作簿”)step02-用函式解析工作簿多表資訊(如果所有表都在1個工作簿裡,此步驟可以省略)step03-展開所有工作簿的所有工作表資訊step04-展開所有工作表的資料明細(如果希望只匯入其中部分表,可以在此步驟進行篩選)透過以上簡單的4個步驟,所有工作簿的所有工作表資料將彙總到一起,如下圖所示:
如果還需要對其中的資料進行其他的操作,那麼可以繼續在Power Query裡完成,這樣,以後在新的資料出現時,可以直接在結果表裡一鍵重新整理,就象以前需要用VBA匯入時點個按鈕一樣方便,完全不需要再重複操作!(或者你可以設定在每次工作簿開啟時重新整理,或者透過簡單的VBA程式碼來控制相關的表自動重新整理,但一般沒有這個必要)如下圖所示:
二、多格式化表單合併Step01-獲取資料到Power Query結果如下:
其中我們可以看出要提取的資訊固定在什麼位置,比如姓名“大海”在“Column2”的第“2”行(索引為1),所以,只要讀取這個表裡的{1}[Column2]就可以得到姓名……
彙總對應關係如下表所示:
Step02-修改生成的程式碼以完成轉換原來的程式碼是這樣的:
修改後程式碼如下:
其中主要修改內容如下:
1、改個名稱:原始碼中生成的名稱太長,為後面寫起來方便,將“VIP登記表_Sheet”修改為“s”(這種修改經常用);
2、構造新的表(table):增加圖中藍色背景程式碼
#table( {"姓名","年齡"},{{"大海","100"},{"小勤","18"}} )就會得到以下內容的表:
step03-進一步修改程式碼達到為多表批次轉換匯總效果《單個格式錶轉換》裡讀資料的程式碼是這樣的:
只要加上自定義函式名和將s用作引數就好了,你看:
Step05-新增自定義列,用自定義函式實現表格的轉換Step06-展開自定義列Step07-刪掉不必要的列以上透過Power Query的方法很好的完成了多個格式化表單的資料轉換、提取和彙總,而只需要學習一些Power Query的基礎知識,相對於VBA的整體程式碼和學習週期來說,更加適合廣大Excel使用者應用。
【60+函式彙總案例】
【資料透視基礎精選10篇】
【Power Query入門到實戰80篇】
【Power Pivot 基礎精選15篇】
回覆列表
資料值是否需要彙總?如資料還需要彙總可以用透視表完成。
1.建立輔助sheet表A,把你需要彙總的資料用=號連線到sheet表格A且資料往下排列。
2.使用透視表功能透視排在一起的資料,結果可以放輔助sheet表A,或新工作表,原資料更改後,sheet表A自動更新且資料透視表也會自動更新。
手機寫的電腦不在身邊沒有圖片。