Excel表格怎么用 SQ跨工作簿提取数据
Excel跨工作簿提取数据,如果用函数来处理,需要将工作簿全部打开,否则函数不生效。
使用SQL就没有这个烦恼了,不需要会VBA,效果也是可以的。
下面以两个工作簿为例子:
在【数据提取.xlsx】中提取【数据源.xlsx】中的数据。
【数据源.xlsx中表格是这个样子的:
1、首先,建立两个工作簿之间的链接。
打开【数据提取.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语句来达到目的。