发布网友 发布时间:2022-05-01 05:07
共2个回答
热心网友 时间:2022-06-24 16:09
如果你的Excel是2013以上版本,可以考虑用Powerquery,也挺简单的。
这个是实现效果:
如下是M函数的代码,可以直接复制,如果不懂,建议私信我
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
降级的标题 = Table.DemoteHeaders(源),
更改的类型 = Table.TransformColumnTypes(降级的标题,{{"Column1", type text}}),
已添加自定义 = Table.AddColumn(更改的类型, "自定义", each if Text.Start([Column1],4)="*has" then [Column1] else null),
向下填充 = Table.FillDown(已添加自定义,{"自定义"}),
筛选的行 = Table.SelectRows(向下填充, each ([Column1] <> "*has_anchor_dai" and [Column1] <> "*has_anchor_depart" and [Column1] <> ".")),
重命名的列 = Table.RenameColumns(筛选的行,{{"Column1", "数据"}, {"自定义", "标签"}}),
复制的列 = Table.DuplicateColumn(重命名的列, "数据", "数据 - 复制"),
重命名的列1 = Table.RenameColumns(复制的列,{{"数据 - 复制", "计数列"}}),
已透视列 = Table.Pivot(重命名的列1, List.Distinct(重命名的列1[标签]), "标签", "计数列", List.Count),
重排序的列 = Table.ReorderColumns(已透视列,{"数据", "*has_anchor_dai", "*has_anchor_depart"})
in
重排序的列
热心网友 时间:2022-06-24 16:09
用代码可以实现的。第一行会不会重复呢?