Excel之PowerQuery 将复杂字符串转成表
网友提问:

放大图片


解决这种问题时,我们先随便找个E1单元格,把内容复制到TXT文本中查看

思路,将双引号批量替换,取大括号内的数据,让冒号前面的做表头,冒号后面的做数据
象征性的导入了两行数据

第1步:将 " 替换成 空字符
鼠标操作就可以了,基础篇就讲过了

第2步:取大括号里面的数据

这个知识在这里讲的:

第3步:组表
冒号之前的数据组成的列表:因为涉及到换行符所以多一步清除Text.Clean
{List.Transform(Text.Split(x,","),(y)=>Text.BeforeDelimiter(Text.Clean(y), ":"))}
冒号之后的数据组成的列表:
{List.Transform(Text.Split(x,","),(y)=>Text.AfterDelimiter(y , ":"))}
相当于表头和数据都有了,把它们变成表,完整代码如下

第4步:提升标题合并成表
将上一步列表中每个Table提升标题后合并

友情提示:处理这样的问题当数据量大了以后,如果你还用PowerQuery,建议将计算机硬件保持到人类先进水平

PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e