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

本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html

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

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

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

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

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

表1

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

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

单击后,出现命名对话框


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

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


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

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

点击确定后之后弹出添加表的对话框,如下图所示 这里要将Table1和Table2都添加一遍,添加完成后,查询器应当是如下图所示的样子

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

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

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


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

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

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

时间: 2024-11-10 07:02:22

[转]在Excel中使用SQL语句实现精确查询的相关文章

在Excel中使用SQL语句实现精确查询? (2012-08-21 00:00:00)转载▼

在Excel中使用SQL语句实现精确查询 (2012-08-21 00:00:00) 转载▼ 标签: 郑来轶 数据分析 excel sql 数据查询 匹配 分类: 07.MSoffice 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQL语句实现精确查询>,觉得非常受用,分享给大家. 微博上有人回复评论说直接用vlookup.或者导入数据库进行查询处理就好了,岂不是更高效.更灵活:其实给人的第一直观感觉是这样子的,但是我们多想一步,这篇文章的应用场景.使用前提条件

Excel 中使用sql语句查询

将Excel连接Oracle数据库 Excel选项板中"数据"—"自其他来源"下拉菜单中有有个可以连接其它数据库的选项"来自数据连接向导"和"来自Microsoft query". Oracle数据源的配置 在Excel中,不管实现哪种方式的对那种数据库的访问都需要配置数据源ODBC. 步骤1:打开Microsoft ODBC管理器,点击选项"用户DSN"的"添加"按钮 图 11 步骤2

在Excel中使用SQL语句查询和筛选

本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQL语句实现精确查询>,觉得非常受用,分享给大家. 微博上有人回复评论说直接用vlookup.或者导入数据库进行查询处理就好了,岂不是更高效.更灵活:其实给人的第一直观感觉是这样子的,但是我们多想一步,这篇文章的应用场景.使用前提条件是什么?我想到的有以下几个方面:①数据量不是很大的时候:②数据结构导入数

在JDBC中实现SQL语句的模糊查询

在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * from table where tableid like %id%; JDBC中的sql语句: String sql = "select * from table where tableid like \"%\"?\"%\"";//?为占位符 原文

Excel 中使用SQL 语句查询数据

对于Excel中进行数据分析,除了强大的数据透视表之外,还可以利用SQL 语句进行数据分析:当然,前提是你需要熟悉SQL 语句. 首先我们来看下图的员工数据表.也就是数据源 这里我们将使用现有的的连接.以后我们会分享 从其他数据源,可以在一个表中以命名的方式来创建table 点击完之后会出现下图,然后点击browser for more 然后选择数据表.他将sheet变成了数据表 点确定后会出现如下对话框.点击properties 然后在下图就可以输入sql语句了...注意下图的几个选项. 下图

Excel 中使用SQL 语句查询数据(二)

上一篇博文我们在导入外部数据的时候用的是OLE DB的方式(请参考上一篇博文)我们今天分享如何用Microsoft query导入外部数据.大家会有疑问OLE DB 和Microsoftquery 连接外部数据有什么区别的,我这里只说他们是两种不同的标准.具体的区别有机会再解释. 大家体会以下步骤,如图 首先请看数据源.(employee.xlsx中的sheet1) 我们选择要显示导入数据的位置,(比如我这里在employee.xlsx的sheet2显示导入的数据)并选择data菜单,from

Excel 中使用SQL 语句查询数据(三)

上两篇博文和大家分享如何创建数据源连接,接下来我们就用SQL 语句来进行数据分析.我还是比较习惯用microsoft query的连接方式. 请看下图,是数据源.我们要从数据源中找出,位置在New York的并且性别为Male的员工 创建Microsoft query连接的过程我就省略了 点击窗口中的sql后出现sql语句编辑窗口.详细看一下语句 SELECT Employee, Location,Sex FROM Sheet1$ WHERE Location='New York' 注:SELE

Excel 中使用SQL 语句查询数据(八)-----用Group by 进行分组统计

今天要和大家分享用在sql 语句中使用group by来进行分组统计.大家首先来看一下数据源. 用OLE DB 打开数据源,(步骤请参考本系列第一篇博文) 最后一条语句group by Item ,就是以Item 列分组. 结果如下 按照item 分类汇总

Excel 中使用SQL 语句查询数据(四)

今天和大家分享的SQL语句是通过主键和where语句将两个表连接起来, 大家首先来看下两图的数据源 下面我们通过OLE BD创建数据连接,然后输入语句,过程请参考之前博文. 语句如下图,这里将sheet1中的NO 列作为主键. 运行结果如下,当然这里的功能用vlookup也能实现,但是我们从基础语句慢慢来,之后会有意想不到的功能.