Excel跨工作簿提取數據,如果用函數來處理,需要将工作簿全部打開,否則函數不生效。
使用SQL就沒有這個煩惱了,不需要會VBA,效果也是可以的。
下面以兩個工作簿為例子:
在【數據提取.xlsx】中提取【數據源.xlsx】中的數據。
【數據源.xlsx中表格是這個樣子的:
打開【數據提取.xlsx】工作簿,數據---現有鍊接---浏覽更多,選擇【數據源.xlsx】所在的路徑:
選取文件,打開:
選取工作簿中的目标工作表,确定,建立鍊接:
這樣可以将數據全部提取過來,可以指定在現有活動工作表的某個位置,或者新建一個工作表:
整表提取數據,結果如下:
2、建立條件區域,編寫SQL語句,提取數據。
提取品牌名稱為【豐田】的所有數據:建立條件區域,如下圖紅色方框處:
鼠标右鍵--表格--編輯查詢,輸入SQL語句:
輸入SQL語句:
select * from [C:\Users\Administrator\Desktop\數據源.xlsx].[數據$]
where 品牌名稱=
(select * from [C:\Users\Administrator\Desktop\數據提取.xlsx].[Sheet1$j1:j2])
(select * from [C:\Users\Administrator\Desktop\數據提取.xlsx].[Sheet1$j1:j2])
提取條件區域J1:J2中的品牌名稱,也就是豐田;
select * from [C:\Users\Administrator\Desktop\數據源.xlsx].[數據$] where
根據條件【豐田】來提取【數據提取.xlsx】中的數據;結果如下:
該數據提取是動态的,當【數據源.xlsx】中表格數據發生變化,隻需右鍵刷新表格皆可更新。
關閉所有工作簿,打開數據源.xlsx】更新一條數據:
關閉【數據源.xlsx】,保存更改。打開【數據提取.xlsx】,右鍵刷新。
自動獲取數據:
不同條件的選取數據,需要建立不同的條件區域(或者直接寫SQL語句,不建立條件區域),這涉及到是否會使用SQL。
更多條件的數據提取,這裡不再叙述。
隻要掌握SQL(很簡單),自然可以寫出相應的SQL語句來達到目的。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!