前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >需要多次VLOOKUP的问题,在Power Query里原来这么简单! | PQ实战

需要多次VLOOKUP的问题,在Power Query里原来这么简单! | PQ实战

作者头像
大海Power
发布2022-11-07 19:58:41
1.8K0
发布2022-11-07 19:58:41
举报

这是一个很常见的问题:要读取的数据需要通过多次vlookup取得,比如下面简化的滚动效益测算问题,先按合同号匹配,如果匹配不到,再按计划号匹配,在Excel里使用2次vlookup函数实现,如下图所示:

但是,这种情况在Power Query里怎么实现呢?

虽然我们经常用合并查询来实现类似vlookup的操作,功能也很强大,但是,合并查询功能也有其局限性:只能是表对表直接选择同样数量的匹配的列合并成结果表,无法干预或有选择地切换匹配条件!

由于合并查询的这种局限,对于我们前面提出的问题,如果直接用合并查询,就会比较麻烦,有兴趣的朋友可以试一试。

当然,你也可以用Table.SelectRows等表筛选的方式来实现,但如果数据量较大,使用这个这种方式可能效率会比较低,且需要写比较长的公式。有兴趣的朋友也可以试一下。

那么,除此对于这种情况,还有什么好的解决办法吗?

其实,我们仍然可以使用合并查询来实现,而且非常简单,只要我们先对匹配的源数据进行简单的处理即可,具体方法如下:

Step-01 逆透视基础数据中的匹配条件

逆透视后,结果如下,注意其中的值列,包含了合同号或计划号:

这样,我们就可以直接一次性合并查询得到想要的结果了。

Step-02 合并查询得结果

Step-03 直接展开数据

我们将得到和在Excel里多次使用vlookup函数一样的结果:

对于很多从Excel转向学习Power Query的朋友,一开始的时候可能比较习惯于Excel中常用的解题思路,这其实也很正常。

但是,随着对Power Query的操作和函数越来越熟练,渐渐就能基于Power Query的特点对问题的解决方法进行优化,尤其是在遇到某些在Excel中看起来很简单但在Power Query中用同样的方法实现起来比较困难的时候,换一个思路,可能就会豁然开朗。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-25,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com