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

问题描述

这个excel表格怎么转

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

使用 Excel/Python/Power 查询? (不一定是3个员工,​​可以多一点或少一点)

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

解决方法

使用 Power Query

​​>

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

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

  2. 选择“从工作表”选项,确保选中“我的表具有标题”,然后单击“确定”。

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

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

  2. 最后删除不需要的列,根据需要重命名其他列,然后转到文件>关闭并加载将数据返回到 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",{"Column1","Column2"},{"Custom.2.Column1","Custom.2.Column2"}),#"Removed Columns" = Table.RemoveColumns(#"Expanded Custom.2",{"Staff involved","Billing hours","Custom.1"}),#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Custom.2.Column1","Staff Involved"},{"Custom.2.Column2","Billing Hours"}})
in
    #"Renamed Columns"