多语言展示
当前在线:728今日阅读:2今日分享:38

excel如何根据条件提取数据内容?

在工作中我们经常遇到这样的情况:要在一张数据很多的明细表中查找我们需要的的内容并提取出来到一张新的表,如何能快速完成呢?当然,可以通过VBA或者函数实现,但是这两中方法都比较麻烦,VBA没有一定的知识基础是没法写出代码;而函数则需要嵌套,条件一旦多了更是复杂。辣么如何根据条件快捷的提取数据内容呢?下面为大家解答。
工具/原料

2007及以上版本excel

方法/步骤
1

首先声明下本方法主要通过 数据链接 加上SQL中的SELECT和WHERE语句实现的,当然你不需要知道具体的语法意义,只要会写这两个单词以及记住固定的格式就可以提取需要的数据了。下面进入主题

2

第一步当然是打开需要查询的工作表,为了方便大家理解,特别新创建了一张表格(如图一),可以看到里面包含了比较多的信息。

3

然后点击<数据>选项卡下的<现有连接>(如图二)在弹出的<现有连接>对话框中选择<浏览更多>(如图三),

4

然后在弹出的<选择数据源>对话框中找到需要提取数据的那张表所在工作簿的位置并选中,接着点打开(如图四),在弹出的<选择表格>对话框中,同样选择数据所在的工作表,并勾选<数据首行包含列标题>然后点确定。(如图五)

5

出现(如图六)的<导入数据>对话框,这里需要说明下:因为我们是提取明细数据所以最好是选择默认的也就是区域1所表示表(如果对提取的数据还要进行分析统计的话建议选择数据透视表),关于数据的放置位置可以根据自己的需要选择,这里以现有的工作表为例。(注:现有的工作表的放置位置可以通过鼠标点选)。设置好这些后就进入最重要的语句输入了,点击属性按钮(区域3)

6

在弹出的连接属性中点击<定义>选项卡,(如图七 八)在命令文本对话框中输入要提取的条件

7

关于条件的内容下面会举几个例子以供参考这里首先说明下查询语句的格式如下:select * from [要提取数据的工作表名称$] where 条件注:1:由于我们提取的都是整行的数据所以这里直接用*代替所有      2:工作表的名称后面必须要加$

例一:如何提取单价大于25的记录

命令文本中输入select * from [1$] where 单价>25点击确定后回到图六对话框再点击确定,弹出图九,需要的数据一下就提取到了,是不是很方便

例二:如何提取区域为AA的记录

在命令文本中输入select * from [1$] where 区域='AA'点击确定 结果如图十注:字母,中文需要加''(英文状态下的双引号)

例三:如何提取区域为CC且(或)数量大于25且(或)单价大于30的数据
1

在命令文本中输入select * from [1$] where 区域='CC' and 数量>25 and 单价>30点击确定结果如图十一注:多个条件且的关系用and连接

2

如何提取区域为CC或数量大于25或单价大于30的数据在命令文本中输入select * from [1$] where 区域='CC' or 数量>25 or 单价>30注:或的关系用or连接结果如图十二

特别注意:
1

一、语句各个词之间一定要有空格连接

2

二、如果语句都是对的但是系统提示错误,要关闭文件并重新打开按前面的步骤重新操作一遍即可,有可能是系统本身的原因导致的。如图

3

三、查询好后如果需要再次查询需要先关闭文件再打开,不然很可能会出现上面二的错误。

注意事项

本经验为个人原创,如有不足请多多指教

推荐信息