我们以前介绍过,在很多场景中,如果想要进行查找,在Excel中有比查找函数(如VLOOKUP等)更好的方法,具体见一个严肃的问题——还需要VLOOKUP函数吗。 今天我们介绍另外一个查找场景:返回多个匹配结果。 假设我们有以下的销售明细数据: 我们还有另外一份产品资料数据,记录了每个产品属于哪个大类: 现在我们的问题是,需要根据给定的大类,返回所有该大类下产品的销售明细: 一般说到查询,我们就会想到VLOOKUP函数,但是VLOOKUP只能用来查询并返回第一个匹配的结果。要想实现我们的需求,需要做一系列辅助操作,比较麻烦。如果用其他的查询函数,基本也是这个情况。 今天我们介绍用Power Query实现这个需求的方法。 第一步,我们将产品销售和产品大类两个表加载到Power Query中: 具体方法就是: 首先:选中数据源区域的任意单元格,然后在数据选项卡中点击“从表格”, 然后在PQ界面的“主页”选项卡中,点击“关闭并上载至”: 在出现的窗口中选择“仅创建链接”, 点击加载即可完成。 依此方法,将产品销售和产品大类都加载到Power Query中。 然后用同样的方法将条件区域也加载到Power Query中: 接下来,在数据选项卡中,依次点击新建查询,合并查询,合并: 在出现的对话框中,将第一个表选择为产品大类,第二个表选择为销售明细,分别点击两个表格中的产品名称列,在下面的联接种类中选择“左外部”: 点击确定,进入Power Query编辑器, 点击上图中箭头所指的按钮,在列表中按下图所示进行选择,展开销售明细表: 得到结果: 将销售日期列转换为日期,并删除除了产品名称,销售日期,销售额及产品类别职位的其他列: 删除后的结果如下: 在主页选项卡中,选择合并查询: 在对话框中,将第二个表选择为查询条件,并将联接种类选择为“左外部”, 点击确定后得到如下结果: 展开查询条件表格, 点击确定, 在最后一列中筛选所有不等于null的结果, 得到结果, 将最后两列删除: 结果上载到Excel的合适位置即可: 大功告成! |
|