我们的问题是把表格根据分组进行转置:
根据分组将纵向列表转置成横向列表:
需要用到一下几个方面的操作:
分组号码提取及填充分组序号合并列透视列拆分列
分组号码提取及填充
分组号码就是3位的数字,我们需要把他们提取出来,使用Text.Length函式来判断长度,提取分组号码:使用null作为if函式false返回的结果,是为了下一步的向下填充:
这样分组工作就做好了。
分组序号
分组序号,我们需要用到新增索引的函式,函式很长,我总是记不住,所以就用操作的办法来偷懒,全表新增索引列:其实这一步主要为了这一句:
Table.AddIndexColumn(删除的底部行, 索引, 1, 1)
把上面这一句复制,我们来做分组编号,首先是根据分组号码进行分组,分组聚合时选择所有行:
然后来修改each后面的语句:
就是把我们复制好的新增索引函式贴上到each后面,简单修改一下:
删除底部的行修改成_索引修改成a展开后就得到我们需要分组序号:
合并列、透视列、拆分列
接下来需要筛选掉每个分组的第一行:透视只能透视一个字段的内容,所以我们需要将我们三列资料先合并一下,用逗号分割:
接下来就是透视列,选中分组序号列,点转换里的透视列,聚合时选不要聚合:
透视结果出来后有很多列,我们为了最后的拆分,还需要先合并一下,然后再拆分:
合并列与拆分列都要使用之前合并列时使用的逗号:
自此表格分组转置操作就完成了,结果载入到Excel:
更多Power Query操作技巧请订阅: