今天要和大家分享一个实用的数据查询技巧。要根据指定的关键字,从文件夹中动态提取出全部记录。

先来看数据源,在快递寄送信息表的文件夹中,存放了多个结构一致的工作簿:

excel按条件提取数据(excel指定条件提取行列数据)(1)

打开一个工作簿看看,里面就是每一年度的详细记录了:

excel按条件提取数据(excel指定条件提取行列数据)(2)

再来看看汇总表,这里使用数据验证(数据有效性)功能制作了一个下拉菜单,在下拉菜单中可以选择不同快速公司的关键字:

excel按条件提取数据(excel指定条件提取行列数据)(3)

接下来就以Excel 2019为例,来看看如何按照咱们所选的关键字,从文件夹中获取信息。

步骤1

单击汇总表A2单元格,将数据加载到数据查询编辑器中,并且选择仅创建连接。

excel按条件提取数据(excel指定条件提取行列数据)(4)


步骤2

依次单击【数据】→【获取数据】→【自文件】→【从文件夹】,找到存放数据源文件夹的位置,在导航器界面中单击【转换数据】,将数据加载到数据查询编辑器。

excel按条件提取数据(excel指定条件提取行列数据)(5)


步骤3

选中最左侧两列,右键→删除其他列,然后插入自定义列。公式为

=Excel.Workbook([Content])

这个公式的作用是从[Content]字段中展开信息。

excel按条件提取数据(excel指定条件提取行列数据)(6)

步骤4

依次展开列,获取到详细的数据列表。

将[Content]字段删除,再将第一行用作标题。

excel按条件提取数据(excel指定条件提取行列数据)(7)


步骤5

此时会得到两个查询,一个是来自查询表的关键字,一个是来自文件夹的全部记录。

接下来需要建立两个查询的关系。先依次添加自定义列,公式=1。

excel按条件提取数据(excel指定条件提取行列数据)(8)

步骤5

此时会得到两个查询,一个是来自查询表的关键字,一个是来自文件夹的全部记录。

接下来需要建立两个查询的关系。先依次添加自定义列,公式=1。

excel按条件提取数据(excel指定条件提取行列数据)(9)

现在,从工作表的右侧,就可以看到【查询&连接】的任务窗格了。

双击任意一个连接,再次返回数据查询编辑器界面中。

excel按条件提取数据(excel指定条件提取行列数据)(10)


步骤6

接下来选择【合并查询】→【将查询合并为新查询】,两个查询的匹配字段选择刚刚添加的自定义列。

excel按条件提取数据(excel指定条件提取行列数据)(11)

步骤7

展开合并后得到新列,这样就在每一个记录后面加上咱们要查询的关键字了。

excel按条件提取数据(excel指定条件提取行列数据)(12)

步骤8

添加一个条件列,来判断数据信息表的【快递公司】字段中是不是包含表1的【快递公司】字段,也就是看看是不是包含咱们指定的关键字。

excel按条件提取数据(excel指定条件提取行列数据)(13)

步骤9

筛选条件列结果为1的记录,选择【关闭并上载至】,仅创建连接。

excel按条件提取数据(excel指定条件提取行列数据)(14)

步骤10

在工作表右侧的【查询&连接】窗格中单击要存放结果的起始位置,右键单击名为“Merge1”的连接,右键→【加载到】。

excel按条件提取数据(excel指定条件提取行列数据)(15)


现在,只要我们通过下拉菜单选择不同的关键字,然后在汇总区域中右键刷新一下,就可以得到最新的结果了。

如果在文件夹中添加了新的工作簿,咱们也只是需要右键刷新一下就OK。

excel按条件提取数据(excel指定条件提取行列数据)(16)