有時候我們會遇到這種問題:
很多數據散落在很多工作表或者工作簿中,由于某項工作我們需要將這些數據做個匯總。比方,我們有以下三個工作簿
這三個工作簿含有第一季度各品牌在各個國家的銷售數據,又分為若干不等的工作表。
我們需要將這些銷售數據匯總做個統計,查看總體一季度的銷售情況,或者各個國家一季度的情況,再或者各個品牌的情況。這時候手頭只有Excel,沒有其他軟件。最笨的辦法是挨個打開這些工作簿,手動將數據源串聯起來,然后做數據透視。可是
1.有時候數據源過大,超出單個Excel文件承載范圍,你無法串聯。
2.數據源很多,可能有上百個文件,手動一個個打開復制粘貼不知道什么時候。
第二個辦法是寫SQL語句進行多表透視,可是文件比較復雜的話寫起來很麻煩。
然后有一天我在論壇發現了版主寫的一個神器,可以自動生成SQL語句,實現跨工作簿/工作表進行數據匯總透視。(點擊閱讀原文可以找到工具下載鏈接)下面介紹下該工具的使用方式。
一、界面
界面很簡單,點擊“指定數據源”彈出對話框,可以指定你要匯總的數據源。此處我們需要匯總1-3月的銷售數據,所以全選。
二、字段設定
上一步完成后會彈出以上窗體。可以看到
1.所有工作簿的所有工作表都顯示在了左側的列表里。這個時候我們可以選擇部分工作簿/工作表進行匯總,也可以全選,看需求而定。此處我們全選。
2.右側列出了涉及工作表中的所有字段,你可以只選你需要的字段進行顯示。
3.可以看到有“插入工作簿名”,“插入工作表名”按鈕,這兩個按鈕的意思是是否需要將工作簿/工作表的名稱作為數據透視表的字段,此處我們假設想看各月的匯總情況,因此需要點擊“插入工作簿名”。然后點擊確定,可以看到生成語句。我們不需要理解語句的內容,只需要點“復制”,然后點“退出”。
三、命令文本的粘貼
打開工具中的數據透視表。點擊更改數據源-鏈接屬性,彈出以下對話框
將剛才復制的代碼粘貼到“命令文本“中vba快速合并多個工作表,點“確定“。
我們可以看到這樣多個工作簿/工作表的數據就匯總到一起了,是工作簿名稱字段,我們可以看到各個月的銷售。
這個工具的另外一個好處是,數據源字段格式不一定要一樣vba快速合并多個工作表,比方這個工作表中有銷售數量,銷售額字段,那個工作表中還有“折扣“等字段,對你的結果不會產生影響,只是取你需要的字段即可。