分享

Excel SQL方法跨工作簿提取数据,自定义条件

 猪小呱 2018-08-09

Excel跨工作簿提取数据,如果用函数来处理,需要将工作簿全部打开,否则函数不生效。

使用SQL就没有这个烦恼了,不需要会VBA,效果也是可以的。

下面以两个工作簿为例子:

Excel SQL方法跨工作簿提取数据,自定义条件

在【数据提取.xlsx】中提取【数据源.xlsx】中的数据。

【数据源.xlsx中表格是这个样子的:

Excel SQL方法跨工作簿提取数据,自定义条件


1、首先,建立两个工作簿之间的链接。

打开【数据提取.xlsx】工作簿,数据---现有链接---浏览更多,选择【数据源.xlsx】所在的路径:

Excel SQL方法跨工作簿提取数据,自定义条件

选取文件,打开:

Excel SQL方法跨工作簿提取数据,自定义条件

选取工作簿中的目标工作表,确定,建立链接:

Excel SQL方法跨工作簿提取数据,自定义条件

这样可以将数据全部提取过来,可以指定在现有活动工作表的某个位置,或者新建一个工作表:

Excel SQL方法跨工作簿提取数据,自定义条件

整表提取数据,结果如下:

Excel SQL方法跨工作簿提取数据,自定义条件

2、建立条件区域,编写SQL语句,提取数据。

提取品牌名称为【丰田】的所有数据:建立条件区域,如下图红色方框处:

Excel SQL方法跨工作簿提取数据,自定义条件

鼠标右键--表格--编辑查询,输入SQL语句:

Excel SQL方法跨工作簿提取数据,自定义条件

输入SQL语句:

select * from [C:\Users\Administrator\Desktop\数据源.xlsx].[数据$]

where 品牌名称=

(select * from [C:\Users\Administrator\Desktop\数据提取.xlsx].[Sheet1$j1:j2])

Excel SQL方法跨工作簿提取数据,自定义条件

(select * from [C:\Users\Administrator\Desktop\数据提取.xlsx].[Sheet1$j1:j2])

提取条件区域J1:J2中的品牌名称,也就是丰田;

select * from [C:\Users\Administrator\Desktop\数据源.xlsx].[数据$] +where

根据条件【丰田】来提取【数据提取.xlsx】中的数据;结果如下:

Excel SQL方法跨工作簿提取数据,自定义条件

该数据提取是动态的,当【数据源.xlsx】中表格数据发生变化,只需右键刷新表格皆可更新。

关闭所有工作簿,打开数据源.xlsx】更新一条数据:

Excel SQL方法跨工作簿提取数据,自定义条件

关闭【数据源.xlsx】,保存更改。打开【数据提取.xlsx】,右键刷新。

Excel SQL方法跨工作簿提取数据,自定义条件

自动获取数据:

Excel SQL方法跨工作簿提取数据,自定义条件

不同条件的选取数据,需要建立不同的条件区域(或者直接写SQL语句,不建立条件区域),这涉及到是否会使用SQL。

更多条件的数据提取,这里不再叙述。

只要掌握SQL(很简单),自然可以写出相应的SQL语句来达到目的。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多