在Excel中使用SQL语句实现精确查询

转载 2013年12月04日 09:38:11

今天在微博上看到@数据分析精选 分享的一篇文章,是关于《在Excel中使用SQL语句实现精确查询》,觉得非常受用,分享给大家。

微博上有人回复评论说直接用vlookup、或者导入数据库进行查询处理就好了,岂不是更高效、更灵活;其实给人的第一直观感觉是这样子的,但是我们多想一步,这篇文章的应用场景、使用前提条件是什么?我想到的有以下几个方面:①数据量不是很大的时候;②数据结构导入数据库不是很合适、或要转换,反而显得麻烦;③使用Vlookup比较多的同学,相信明白匹配不是那么精确的,而且会返回“#N/A错误值”,另外vlookup每次返回的是一列值;④在Excel环境里面,可以很好的和表格、图表进行结合,使用数据刷新功能一劳永逸的完成了常规图表的自作。在我想到的这几个前提环境下,相信使用这种方式会比较高效。另外一点,这篇文章提到的这个功能点和技巧告诉大家一个信息,其实在Excel里面也是可以进行数据查询和数据库查询的(在这个功能区下还有数据库查询哦,自己去研究)。

言归正传,整理自原文以例子的方式来分享下这个功能模块的使用。

温馨提示:据了解Excel2007及以上版本才有这个功能,2003版本的要么路过学习一下、要么去升级下自己的版本。

有如下的2张表,表1里面包含姓名、时间、培训内容字段的数据,表2包括姓名、职务、年薪字段的数据,我们可以看到2张表都有姓名字段。

表1

在Excel中使用SQL语句实现精确查询

表2
在Excel中使用SQL语句实现精确查询

现在想统计表2中名单上的人在表1中的培训记录。人肉实现或者Vlookup的方式当然这个简单的Case可以实现,但是要学会举一反三,学习方然是以简单的例子给你讲解(还纠结的回到文章开头去想前提条件和你能想到能运用的场景)。这里给大家介绍在Excel中使用简单SQL语句的方法来实现对不同表格间数据的整合和筛选。

首先,也是最重要的一部是为这两个表命名,方法是选中表格后单击右键选择“定义名称”,如下所示

在Excel中使用SQL语句实现精确查询

单击后,出现命名对话框

在Excel中使用SQL语句实现精确查询

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

然后选择上方的“数据”选项卡,选择“自其他来源”下的“来自Microsoft Query ”选项

在Excel中使用SQL语句实现精确查询

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

在Excel中使用SQL语句实现精确查询
然后点击“确定”,便出现“选择工作簿”的对话框,这里选择包含表1和表2的工作表Sample.xlsx

在Excel中使用SQL语句实现精确查询
点击确定后之后弹出添加表的对话框,如下图所示
在Excel中使用SQL语句实现精确查询
这里要将Table1和Table2都添加一遍,添加完成后,查询器应当是如下图所示的样子

在Excel中使用SQL语句实现精确查询
此时,单击图10中输入SQL语句的按钮,弹出输入SQL语句的对话框,如下图所示
在Excel中使用SQL语句实现精确查询
上图中的代码是这样的,偷懒的同学可以直接CTRL+C/CTRL+V:
SELECT Table1.姓名, Table1.时间, Table1.培训内容, Table2.姓名
FROM Table1,Table2
WHERE Table1.姓名 = Table2.姓名

 

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

在Excel中使用SQL语句实现精确查询
接下来的工作就是将筛选出来的数据表再返回至Excel工作表当中,选择菜单中的“文件”——“将数据返回Microsoft Excel”,如下图所示

在Excel中使用SQL语句实现精确查询

接下来的步骤该干嘛就不罗嗦了。

至此,该教程就讲解完成了。在Excel中使用SQL语句可以实现更灵活、准确、高效的数据筛选和匹配、汇总、计算等,文章提到的例子只是最简单的Case,大家可以去结合自己的工作场景玩出更多花样,相信会有所收获的。

感谢原文作者:Durward,原文:http://www.yingzheng.com/forum.php?mod=viewthread&tid=2084402


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

在使用Excel的时候,常常会遇到这样的问题:有2个数据表,数据表1中记录了大量的信息,比如人员的培训的信息,包含姓名、时间、培训内容等,如图1所示 另外还有一张表,表2,包含的是单纯的名单信息,如...
  • wangcunhuazi
  • wangcunhuazi
  • 2014年11月27日 13:17
  • 4055

在Excel中使用SQL语句实现精确查询

今天在微博上看到@数据分析精选分享的一篇文章,是关于《在Excel中使用SQL语句实现精确查询》,觉得非常受用,分享给大家。 微博上有人回复评论说直接用vlookup、或者导入数据库进行查询处理就好...
  • kezhen
  • kezhen
  • 2013年10月07日 14:27
  • 2308

sql拼接实现自由多条件查询及内容分页总结

上周接受了一个新任务,实现cms新内容管理模块的多条件查询及内容分页 首先,我先实现了html页面的隐藏与显示条件输入框。 网上一般的方法就是用js显示或隐藏层实现 htmlz中:  JS代码...
  • leepne
  • leepne
  • 2013年12月23日 19:18
  • 1801

在Excel中使用SQL语句实现精确查询

今天在微博上看到@数据分析精选分享的一篇文章,是关于《在Excel中使用SQL语句实现精确查询》,觉得非常受用,分享给大家。 微博上有人回复评论说直接用vlookup、或者导入数据库进行查询处理就好...
  • kezhen
  • kezhen
  • 2013年10月07日 14:27
  • 2308

在Excel中使用SQL语句实现精确查询

来自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html今天在微博上看到@数据分析精选 分享的一篇文章,是关于《在Excel中使用SQL语句实现精...
  • u011981242
  • u011981242
  • 2015年09月22日 10:57
  • 265

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

在使用Excel的时候,常常会遇到这样的问题:有2个数据表,数据表1中记录了大量的信息,比如人员的培训的信息,包含姓名、时间、培训内容等,如图1所示 另外还有一张表,表2,包含的是单纯的名单信息,如...
  • wangcunhuazi
  • wangcunhuazi
  • 2014年11月27日 13:17
  • 4055

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

博主地址:点击打开链接 在使用Excel的时候,常常会遇到这样的问题:有2个数据表,数据表1中记录了大量的信息,比如人员的培训的信息,包含姓名、时间、培训内容等,如图1所示 ...
  • u011613321
  • u011613321
  • 2014年03月09日 21:01
  • 678

Sql常见问题总结二(Sql语句怎么样查询IP,游标去重复,各种函数使用,各种取时间格式,字符串精确排序,超时锁问题)

请稳步我的博客查阅并下载所有资源以及源代码 http://www.cckan.net 文章导航  SQL Server 2005  学习笔记系列文章导航(存储过程,视频,索引,Clr,各种工具...
  • sufei1013
  • sufei1013
  • 2012年05月22日 09:03
  • 1515

全国各地最新邮政编码数据库,精确到乡镇 sql语句包

  • 2015年02月26日 16:45
  • 1.71MB
  • 下载

在excel中如何使用sql语句

  • 2011年09月01日 12:00
  • 35KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Excel中使用SQL语句实现精确查询
举报原因:
原因补充:

(最多只允许输入30个字)