上海疫情数据:得出10项颠覆性结论

网友们越来越神通广大了.......

母子乱伦:和儿子做了,我该怎么办?

2021年推特网黄Top10排行榜

《敦刻尔克》引发的惨案:袁腾飞怼周带鱼被封号

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

比Vlookup更厉害,用这个功能,一分钟自动完成数据查询!(不是PQ)

小爽 秋叶Excel 2022-09-25

点击蓝字【秋叶 Excel】👆

发送【交流】

立即进秋叶 Excel 读者快乐交流群!


本文作者:小爽
本文编辑:竺兰


 文末有抽奖活动,一定要看到最后哦~

作为职场办公人员,我们经常会有查询表的需求。根据指定查询条件查询所需数据,将查询数据结果反馈给对方。

用我们熟悉的 Vlookup 函数查询的话,只能查询到第一条记录。但实际上,我们的查询数据结果,有时不止一条。最常见的需求有一对多(单条件匹配多结果)的精确匹配,模糊匹配。

如下图,使用数据透视表,用切片器进行筛选,我们也能够完成一对多的筛选,但是切片器不是特别灵活,无法做到模糊匹配。


面对一对多的查询,我们通常还会用到高级筛选


但是,「高级筛选」只能实现静态查询,当查询条件发生改变时,还得再重复操作一次,这显然不是我们想要的结果。我们需要的是,马上就能显示对应的查询结果。

然而要做到动态查询,大家第一反应一般就是使用函数公式


如下图,如果你是 Microsoft 365 或者新版 WPS,直接用 Filter 函数就可以完成。


但是如果你是低版本的 Excel,Filter 就不能使用了。传统函数公式做法又比较复杂,所以今天我们来介绍一下 MSQuery 的做法。

PS:Microsoft Query 是 Excel 自带的,是可以从外部数据源检索数据的工具。它可以连接到外部数据源,从这些外部源中选择数据,将数据导入工作表,并根据需要刷新数据,使工作表数据与外部源中的数据保持同步。

下面我来介绍它的做法。操作比较简单,动动鼠标基本就可以完成。

精确匹配


案例:查询门店中的所有数据。


👉 具体步骤:

❶ 打开 MS Query,加载当前所在文件的数据源。

在【数据】选项卡下,单击【获取数据】-【自其他源】-【自 MS Query】。


选择【Excel files】,勾选【查询向导】,单击【确定】按钮。


选择当前文档所在的路径,单击【确定】按钮。(我的文件在桌面)


❷ 将数据表中的所有列导入。

这时我们可以看到当前工作簿路径下的两个工作表。


PS:如果出现【数据源中没有包含可见的表格】的警示弹窗,是因为系统表没有被勾选上。我们只需在【选项】按钮,【表选项】的对话框中勾选系统表就可以了。

如以下动图所示,将数据表中的列导入进去,然后单击【下一页】【下一页】,勾选【在 MSQuery 中查看数据或编辑数据】,单击【完成】按钮。


PS:向导中这里我们可以选择我们所需要的列,还有筛选条件,排序依据,这里看具体需求进行设置即可。

❸ 添加条件。

单击【条件】-【添加条件】。


在添加条件对话框中,

字段:门店
运算符:等于
指定值:[md]

指定值这里的中括号是为了设置参数,除了[md]也可以设置其他的参数名,注意参数不能写表中字段名(如[门店])


输入指定值框[md],【Enter】回车后,弹出输入参数值的弹窗,这里我们可以随便输入一个门店里的筛选条件,如南店,确定后看看效果。


我们可以看到下面筛选出所有南店的数据。

最后单击下图红色边框中的按钮,将数据返回到 Excel 中。


❹ 设置参数,使参数从单元格中获取值。

此时会出现【导入数据】这个窗口,我们单击【属性】按钮,对我们前面的参数进行设置。


单击【定义】,这里面有个【参数】按钮。


如下图,单击【参数】按钮,这里可以看到我们之前设置的 md 参数。

  • 选择【从下列单元格中获取值】,
  • 值的区域为 B2 单元格,
  • 勾选【单元格值更改自动更新】,
  • 单击【确定】按钮,回到导入数据对话框。


将数据放置在 A5 单元格中,【确定】后即可完成。


完成效果如下,当我们在参数链接的单元格上输入筛选数据后,返回的数据自动更新筛选结果。

模糊匹配


案例:模糊查询货品名称。


模糊匹配的操作,跟前面的操作精确匹配基本一样,需要改动的是添加条件的设置。

如下图,
字段:货品名称
运算符:包含
指定值:[hpmc]

指定值的参数名[hpmc]也可以设置其他的名字,但是不能设置字段名。

单击【添加】按钮。


我们可以看到条件中,货品名称的值为 Like ’%[hpmc]%’。


将 Like ’%[hpmc]%’改成 Like ’%’ & [hpmc] & ’%’

然后将数据返回到 Excel 中。


PS:MS Query 查询使用的是 SQL 语句,其中%代表任意字符,_代表单个字符。

同理,导出数据中,属性,定义里,把参数设置成从单元格中获取数值,勾选【单元格更改时自动更新】。最后导出数据到工作表中。


效果如下图所示,我们在 B2 单元格中搜索货品名称的关键字,数据表中自动更新对应的结果。


一对多精确匹配和模糊匹配,动动鼠标一下子就搞定啦,是不是很简单!如果是多条件匹配的话,设置多个参数就可以。

不过需要注意的是!!我的数据源导入的路径是我当前文件所在的路径,如果在你的电脑操作,路径需要改成你电脑该文件所在的路径,不然会出错哦~

总结一下


本文利用 Ms Query,制作一对多动态精确匹配,模糊匹配查询

主要有四个步骤:

❶ 利用 MS Query 将当前数据源中的数据列导入。
❷ 添加条件,设置参数,参数用中括号[]包裹。
❸ 导出数据,设置参数从单元格中获取值,单元格更改时自动刷新。
❹ 导出数据到指定工作表区域中。

做个小调查,大家之前有用过 MS Query 嘛?一般用它来干些什么呢?


A 用过

B 听过,但是没用过
C 完全不知道这个

留言区等你的回答~(案例文件获取方式也在留言区哦)


我们会随机抽取 位小伙伴,一人包邮送一本秋叶家的好书《和秋叶一起学-秒懂 Excel》。


2 分钟,3 步骤,秒懂一个 Excel 新技能~



开奖时间:2022.9.20

抽奖方式:随机(经常互动的小伙伴,中奖概率更高哦!)




↓↓↓



遇到有价值的文章
不放过 !
👇👇👇
动动小手
分享给朋友~
👇👇👇

文章有问题?点此查看未经处理的缓存