關於多表或者多工作簿合併,一直以來都是大難題。Excel2013以上有POWER QUERY,高手有VBA,普通人有Ctrl+C和Ctrl+V。無數次的重複操作,吃力不討好,普通人真不容易,累死累活,效率低下。
其實,在Excel中還存在一種比較通俗易懂的語言,SQL語言。
以前微信文章講過幾次SQL,不過因為很多人都是第一次接觸,對這個功能還是非常陌生。今天,盧子再詳細說明SQL語言如何來合併多工作表和多工作簿。
格式相同的三張工作表,現在要將這三張表格合併起來,並統計每個省份的銷售金額。
Step 01 按快捷鍵Alt、D、D、D一個個慢慢按,別心急!找到相應的工作簿,點擊打開。
註:別懷疑快捷鍵,這個是正確的。
Step 02 找到輸入SQL語句的地方:命令文本,詳見動畫。
Step 03 輸入SQL語句。
SELECT * FROM [2015年$]
UNION ALL
SELECT * FROM [2016年$]
UNION ALL
SELECT * FROM [2017年$]
這個語句的意思,就是將2015年、2016年和2017年三個表合併在一起,UNION ALL就是合併起來的意思。
SELECT語法:
SELECT 標題名稱 FROM [工作表名稱$]
用*就是代表所有標題名稱,如果只需要省份和銷售額,也可以這樣寫。
SELECT 省份,銷售金額 FROM [2015年$]
UNION ALL
SELECT 省份,銷售金額 FROM [2016年$]
UNION ALL
SELECT 省份,銷售金額 FROM [2017年$]
直接寫2個標題名稱,在生成的數據透視表就只有2個標題,其他都不顯示。
Step 04 再藉助數據透視表拖動兩下就完成統計。
現在假設原來是多個工作簿,並且存在桌面的多工作簿文件夾內,同樣要統計每個省份的銷售金額。
Step 01 新建一個空白工作簿,按快捷鍵Alt、D、D、D一個個慢慢按,找到文件夾內任意一個工作簿打開。
Step 02 輸入SQL語句。
SELECT 省份,銷售金額 FROM [C:\Users\chenxilu\Desktop\多工作簿\2015年.xlsx].[Sheet1$]
UNION ALL
SELECT 省份,銷售金額 FROM [C:\Users\chenxilu\Desktop\多工作簿\2016年.xlsx].[Sheet1$]
UNION ALL
SELECT 省份,銷售金額 FROM [C:\Users\chenxilu\Desktop\多工作簿\2017年.xlsx].[Sheet1$]
看到長長的一段語句,被嚇到了吧。其實,SQL只是外表嚇人,其實很簡單的,很多內容都不需要自己輸入。
WIN10有一個直接複製路逕到Excel的功能,這個前幾天的文章也講到了。
一下子就將所有工作簿包含路徑複製出來,非常簡單。
如果你使用的系統找不到這個功能,直接右鍵屬性也可以找到。
多工作簿SQL語句的用法:
SELECT 欄位標題 FROM [路徑\工作簿名稱.後綴].[工作表名稱$]
不管多表還是多工作簿,用法其實差不多。
Step 03 數據透視表統計。
作者:盧子,清華暢銷書作者,《Excel效率手冊 早做完,不加班》系列叢書創始人,個人公眾號:Excel不加班(ID:Excelbujiaban)