利用Excel的PowerQuery功能实现两张表的多条件匹配

今天这个案例比较复杂,设计到多张表的匹配,如果用传统的vlookup函数来做费时费力,关键碰到超过一个条件的多条件匹配,用vlookup函数就非常复杂。这里秦老师教大家一招,利用Excel2016版全新的powerquery,来快速的搞定!
首先看本例案例,搞清楚需要匹配的表格关系。本案例有四个表格,名字如图所示:

分别展示一下四个表对应的字段。
订单信息表

客户信息表

产品信息表

负责人表

你能看出四个表的匹配关系?秦老师给大家梳理一下。
利用订单信息表的“客户代码”匹配出客户信息表的“区域”,利用订单信息表的“产品代码”匹配出产品信息的“产品大类”。然后利用产品大类和区域两个条件,匹配出产品对应的负责人是谁?也就是下图红色箭头处。

其实梳理完之后发现还是有点复杂的。赶紧用强大的Powerquery来看看如何高效操作?
首先第一步,加载这是四张表。点击数据-新建查询-从文件-从工作簿。

加载这个工作簿,成功后显示四个表的名字,点击多选,打钩四个表格,再选择订单信息,然后点击加载。因为所有的匹配都基于订单信息这张表。

加载成功后,在侧面的工作簿查询中,点击鼠标右键,在新弹菜单中点击“编辑”按钮,开启Powerquery工具

编辑打开后,点击下图的合并查询,选择与“产品信息”合并,并选中订单信息的产品代码(下图3处),在选中产品信息的“产品代码”,点击确定。这样就实现了产品代码的匹配。

匹配成功后,会多一列,可以点开后,加载需要的匹配字段。

同理,加载客户信息表,继续匹配客户信息,获取客户类别。
利用前面两次匹配获得对应的,产品大类和产品区域


最后是多条件匹配,所以选中两个区域,注意按住ctrl键盘进行选择,这样会显示编号12与12对饮。注意看下图标记。

最后匹配成功获取,负责人。

是不是很容易理解,不用vlookup函数也可以搞定啦。而且支持数据的联动,四张表的数据发生更新,匹配的表格也会自动变化。
网友评论