展开两 Excel 列,每列对应多个值

Expand two Excel columns, each with multiple corresponding values

我怎样才能把这个exceltable

国家 倡议 相关工作人员 计费时间
香港 数据湖 艾米、本、李 6,3,8

进入这个使用Excel/ Python/ 电源查询? (不一定是3人,可以多也可以少)

国家 倡议 相关工作人员 计费时间
香港 数据湖 艾米 6
香港 数据湖 3
香港 数据湖 8

使用 Power Query

您可以按照以下步骤使用 Excel 中的 Power Query 执行此操作。

  1. Select 数据并转到数据>获取和转换数据。

  2. Select From Sheet 选项,确保选中 My table has headers 并单击 OK。

  3. 在 Power Query 中,转到“添加列”>“自定义列”并将其用于自定义列公式。

= Text.Split([Staff involved], ",")
  1. 再次转到“添加列”>“自定义列”并将其用于公式。
= Text.Split([Billing Hours], ",")
  1. 再次对这个公式使用添加列>自定义列。
= Table.FromColumns({[Custom], [Custom.1]})
  1. 现在您可以展开最后一个自定义列来获取您想要的数据。

  2. 最后删除不需要的列,根据需要重命名其他列,然后转到文件>关闭并加载 return 数据到 Excel。

M代码

这是按照上述步骤生成的完整 M 代码。

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Added Custom" = Table.AddColumn(Source, "Custom", each Text.Split([Staff involved], ",")),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each Text.Split([Billing hours], ",")),
    #"Added Custom2" = Table.AddColumn(#"Added Custom1", "Custom.2", each Table.FromColumns({[Custom], [Custom.1]})),
    #"Expanded Custom.2" = Table.ExpandTableColumn(#"Added Custom2", "Custom.2", {"Column1", "Column2"}, {"Custom.2.Column1", "Custom.2.Column2"}),
    #"Removed Columns" = Table.RemoveColumns(#"Expanded Custom.2",{"Staff involved", "Billing hours", "Custom", "Custom.1"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Custom.2.Column1", "Staff Involved"}, {"Custom.2.Column2", "Billing Hours"}})
in
    #"Renamed Columns"