从您的问题的描述来看,这是一个数据筛选的问题。按我的经验,如果是数据的基本筛选问题,应该很简单,但是,提出这个问题的通常是因为很多数据散落在不同的工作表里,甚至不同的工作簿里,这才造成了数据明细汇总和查询细项的困难。
这个问题在以前只能通过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语句判断查询条件是否为空,如果不是空的,就按货品代码的具体值查询结果,如果是空的,就直接返回上一步骤(“删除的其他列”)的全部结果。
按照这个方法,你可以继续增加其他查询条件,如年、月,最后代码如下:
通过以上的操作,实现了对多文件、多表数据的汇总和按条件查询,而且整个过程只需要一些简单的语句修改,而不需要写大段的代码,所以,这是我目前最推崇的数据汇总和查询方式。
联系客服