前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >看了这个例子,一辈子记住这个有趣的函数,以后给内容配对就有思路了

看了这个例子,一辈子记住这个有趣的函数,以后给内容配对就有思路了

作者头像
大海Power
发布2021-08-31 10:15:05
9420
发布2021-08-31 10:15:05
举报
文章被收录于专栏:用户8950297的专栏

有朋友在微信公众号的后台发消息提问:怎么同时对两列合并的文本进行逆透视?

看到这个问题,我一时竟无言以对……

后来,在群里看到的数据是这样的:

要求是这样子的:

这不叫逆透视啊!什么是透视?什么是逆透视?看图:

逆透视是多列(列名)都逐个放到行里变明细数据哦,而上面想要的结果列和原始数据的列是一毛一样的,只是要把列里面的内容拆分、配对展开……

数据简化模拟如下:

所以,首先第一步,不管怎么着,先把列给拆分了,但是,这里不好用拆分列的功能来做,为什么?

1、不能拆分到行:因为要分别对两列的内容进行拆分且找配对关系,先拆任何一列都会使配对关系丢失;

2、不能拆分到列:因为要拆分的内容的项数是不固定的。

所以,只好考虑用函数(Text.Split)先分别拆成列表放着,后面再想办法配对到一起。

- 1 - 拆分内容

Step 01:用函数拆分列

同样拆分“序号”列,得到结果如下(现在先讲分步解法,怎么综合各步骤函数一条公式搞定的事情等会儿再讲):

- 2 - 内容配对

都拆分好之后,面临的最关键问题就是怎么把两边的内容给配对好,对于这一点,有个很有意思的函数,而且这个函数本身就是一种处理数据的思路——List.Zip,我把它叫做“拉链”函数

轻松简单就把两个列表里的内容一项项对应好,拉到一起,超级形象!看完这个例子,我希望你对这个函数终生难忘。

这里要注意且比较容易犯错误的是,List.Zip的参数是一个列表,也就是要将多个需要配对的列表放到一个列表一起交给List.Zip,所以好好看看上面例子的里外加的那对红色大括号,好好理解一下。

有了这样的函数,问题就很简单了。

Step 02:添加自定义列,把两列拆分出来的内容直接拉到一起

内容配对好后,就可以层层展开了……

- 3 - 内容展开

Step 03:第一次展开,扩展到新行(因为不同的配对内容是要拆到多个行的)

Step 04:第二次展开,提取值(因为配对好的内容本身是要在同一行里的,分隔符按需要选择即可,后面拆分列时用,这里选择空格)

Step 05:提取出来后,再按前面选择的分隔符简单分列即可

最后,关于怎么综合各步骤函数一条公式搞定的事情,先看个图:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

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