Excel数据整理,最高效的工具无疑是她!

数据源:一般从部分网页上复制的内容容易变成一列!

▲ 来源网络(已脱敏)

结果表:整理成标准的表
处理方案
这里首先推荐使用Power Query处理,具体带大家一起来看一下!
步骤01:加载数据到PQ编辑器
点击数据区域的任意位置,【数据】-【来自工作表】-创建表中,如果没有标题,记得取消 我的表格包含标题的√,点击确定,即可进去PQ编辑器
步骤02:转成列表
PQ中,我们先把一列转成列表,那么只需要 表名称[列名] 的写法
步骤03:数据分组
每组数据有6行,所以我们要把List按照6个分成一组,有一个M函数List.Split专门干这事!
List.Split(列表,长度)
这样的话,我们就把一个大的List成分成了6个一组的,多个小List
下一步,我们就逐个处理每个List中的各个部分,提取出结果
步骤04:遍历转成记录
我们先看一部分,讲解一下写法,然后说一下全部处理
遍历也是M中非常常用的,所以我之前已经写过专题【Power Query如何使用循环遍历?
主要关注一下, 下划线表示当前遍历的元素,_{0}表示当前遍历元素中的第一个元素,也就是每个小list中的名称!这里设计到记录的写法
[Key=Value]
文本拆分函数:多少Excel函数爱好者的梦想
Text.Split(文本,分隔符)
这里相当于,我们按照冒号拆分,提取冒号后面的内容,然后给个Key为名称
懂了上面的其他几个如法炮制即可!
PQ完整的代码:
M函数中有一些新的"语法糖",可能部分新手不太了解,我们简单说一下
① 索引值大于列表元素个数时返回就会报错, 过去我们使用try ……otherwise …… ,现在我们只需要一个问号,有点函数中的IFERROR感觉!简洁很多!
② 一个问号后面又跟着两个问号,这个也是新的语法糖
双问号前面是null 就返回后面的内容,否则返回前面的内容,一般都是配合单问号使用!
其他涉及到替换函数,和工作表函数SUBSTITUTE有点类似
Text.Replace(文本,需要替换的值,替换成什么)
let
    源 = Excel.CurrentWorkbook(){[Name="表3"]}[Content][列1],
    step01 = List.Split(源,6),
    step02 = Table.FromRecords(List.Transform(step01,each
                [
                    名称=Text.Split(_{0},":"){1},
                    法人=Text.Split(_{1},":"){1},
                    电话=Text.Replace(Text.Split(_{2},":"){1},"邮箱",""),
                    邮箱=Text.Split(_{2},":"){2}? ??null,
                    地址=Text.Split(_{3},":"){1},
                    注册资金=Text.Replace(Text.Split(Text.Split(_{5},"人民币"){0},":"){1},"万","")
                ]
                )
            )
in
    step02
全部转换完成
步骤05:加载到工作表
本文由“壹伴编辑器”提供技术支持
这种处理的好处就是后续所有的数据只要粘贴进来,右击刷新结果,即可自动处理,不需要二次加工!
感谢您的【收藏,点赞,关注、转发
明天预告:多文件合并模板分享(刚写的,热乎)
(0)

相关推荐