在Excel中使用SQL语句对多个数据表进行精确筛选 (查询)

来源:互联网 发布:连云港开创网络 编辑:程序博客网 时间:2024/04/27 23:11


在使用Excel的时候,常常会遇到这样的问题:有2个数据表,数据表1中记录了大量的信息,比如人员的培训的信息,包含姓名、时间、培训内容等,如图1所示

01
另外还有一张表,表2,包含的是单纯的名单信息,如图2
02
现在想统计表2中名单上的人在表1中的培训记录。通常在表内的数据量不大的时候,手工一条条核对数据也是可以的,但遇到数据表非常庞大的时候,手工核对就费时费力还容易出错了。这里给大家介绍一种在Excel中使用简单SQL语句的方法来实现对不同表格间数据的整合和筛选。

我这里的Excel版本是Excel 2010 beta,和Office2007类似。首先,也是最重要的一部是为这两个表命名,方法是选中表格后单击右键选择“定义名称”,如图3所示
03

单击后,出现命名对话框,如图4
04

这里将表1和表2分别命名为Table1和Table2。
05
17

然后选择上方的“数据”选项卡,如图6所示
06
选择“自其他来源”下的“来自Microsoft Query ”选项,如图7所示
07

在弹出的对话框中选择Excel Files*那一项,并且把对话框下面的“使用“查询向导”创建/编辑查询”勾掉,如图8所示
08

然后点击“确定”,便出现“选择工作簿”的对话框,这里选择包含表1和表2的工作表Sample.xlsx
09

点击确定后之后弹出添加表的对话框,如图9所示

10

这里要将Table1和Table2都添加一遍,添加完成后,查询器应当是如图10所示的样子
11

此时,单击图10中输入SQL语句的按钮,弹出输入SQL语句的对话框,如图11所示
12

图11中的代码是这样的

SELECT Table1.姓名, Table1.时间, Table1.培训内容, Table2.姓名
FROM Table1,Table2
WHERE Table1.姓名 = Table2.姓名

复制代码

其基本含义就是将表1中和表2中姓名相符的记录从表1中筛选出来。SELECT语句是SQL语言中最基础也是最重要的语句之一,加上WHERE语句后的限制条件,可以实现大多数的数据查询和筛选工作,其语法也不困难,稍微学习一下就会了。输入完代码,单击确定,就可以看到筛选出来的数据表了,如图12所示
13

接下来的工作就是将筛选出来的数据表再返回至Excel工作表当中,选择菜单中的“文件”——“将数据返回Microsoft Excel”,如图13所示
14

然后单击你想讲返回数据导入的单元格,会弹出对话框,如图14所示
15

选择好位置和显示方式,便可以看到最后筛选的结果,如图15所示
16

至此,就在Excel中使用SQL语句完成了更加复杂的数据筛选工作,SQL语句在查询和筛选数据上更加灵活多变和准确,通过此方法,还可以使用SQL语句达成更多更精确的筛选结果,这里仅仅是抛砖引玉,希望能给大家的工作和学习带来帮助。

转载自: http://343766868.blog.163.com/blog/static/48314056201131035011833/


0 0
原创粉丝点击