首先在查询编辑器中加载表格。然后按(转换选项卡)[用户名]分组。对于操作,选择所有行。像这样:
然后添加自定义列,将每个表的[Mail]列转换为列表。
添加另一个自定义列,将每个列表中的值连接到一个字符串值,使用“|”分隔符。
然后用分隔符“|”分割[Mail]列(使用主页选项卡上的拆分列)。最后删除 [mailsTable] 和 [mailsList] 列。
结果(在 Power Query 编辑器中)如下所示:
这是高级编辑器中列出的脚本。
let
Source = Excel.CurrentWorkbook(){[Name="table"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Username", type text}, {"Mail", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Username"}, {{"mailsTable", each _, type table}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "mailsList", each Table.Column([mailsTable],"Mail")),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Mail", each Text.Combine([mailsList],"|")),
#"Split Column by Delimiter" = Table.SplitColumn(#"Added Custom1", "Mail", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Mail.1", "Mail.2", "Mail.3", "Mail.4", "Mail.5"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Mail.1", type text}, {"Mail.2", type text}, {"Mail.3", type text}, {"Mail.4", type text}, {"Mail.5", type text}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type1",{"mailsTable", "mailsList"})
in
#"Removed Columns"