从您的问题的描述来看,这是一个数据筛选的问题。按我的经验,如果是数据的基本筛选问题,应该很简单,但是,提出这个问题的通常是因为很多数据散落在不同的工作表里,甚至不同的工作簿里,这才造成了数据明细汇总和查询细项的困难。 这个问题在以前只能通过VBA来解决,但现在,诚如您所说,Excel的功能很强大了,所以完全可以通过新功能Power Query来实现(Excel2016内置,Excel2010或Excel2013可到微软官方下载相应的插件),包括合并数据、构造查询以及按需要添加更多的查询条件等过程,先来看一下实现效果: 具体方法如下: 一、合并数据Step-01:【数据】-【从文件】-【从文件夹】 Step-02:选择数据所在的文件夹,【确定】 Step-03:【添加列】-【添加自定义列】-【输入公式:Excel.Workbook([Content])】-【确定】(公式注意大小写) Step-04:展开数据列表 Step-05:继续展开表数据 Ste-06:删掉没用的列 Step-07:将第一行用作标题 Step-08:选择删掉其他表里重复的标题行和汇总行 Step-09:关闭并上载数据。 二、构造查询Step01:新建查询 Step-02:命名为查询条件,方便调用 Step-03:针对合并数据查询筛选,生成筛选语句: 此时,生成了一个筛选所有“A-1”的货品的步骤,如下图所示: 修改其中的“A-1”为对查询条件的动态引用,如下图所示: 三、增加更多的查询条件Step-01:生成更多的筛选步骤 Step-02:修改代码——加入if判断,同时改步骤名称,方便引用 此时,你发现如果货品代码为空,将会得到全部货品的数据。 其实就是用if…then…else语句判断查询条件是否为空,如果不是空的,就按货品代码的具体值查询结果,如果是空的,就直接返回上一步骤(“删除的其他列”)的全部结果。 按照这个方法,你可以继续增加其他查询条件,如年、月,最后代码如下: 通过以上的操作,实现了对多文件、多表数据的汇总和按条件查询,而且整个过程只需要一些简单的语句修改,而不需要写大段的代码,所以,这是我目前最推崇的数据汇总和查询方式。 更多精彩内容,尽在【Excel到PowerBI】我是大海,微软认证Excel专家,企业签约Power BI顾问让我们一起学习,共同进步! |
|