问题描述
这个excel表格怎么转
国家 | 倡议 | 相关人员 | 计费时间 |
---|---|---|---|
香港 | 数据湖 | 艾米、本、李 | 6,3,8 |
使用 Excel/Python/Power 查询? (不一定是3个员工,可以多一点或少一点)
国家 | 倡议 | 相关人员 | 计费时间 |
---|---|---|---|
香港 | 数据湖 | 艾米 | 6 |
香港 | 数据湖 | 本 | 3 |
香港 | 数据湖 | 李 | 8 |
解决方法
使用 Power Query
>您可以按照以下步骤使用 Excel 中的 Power Query 执行此操作。
-
选择数据并转到数据>获取和转换数据。
-
选择“从工作表”选项,确保选中“我的表具有标题”,然后单击“确定”。
-
在 Power Query 中,转到添加列>自定义列并将其用于自定义列公式。
= Text.Split([Staff involved],",")
- 再次转到添加列>自定义列并将其用于公式。
= Text.Split([Billing Hours],")
- 再次使用此公式添加列>自定义列。
= Table.FromColumns({[Custom],[Custom.1]})
-
现在您可以展开最后一个自定义列以获取您想要的数据。
-
最后删除不需要的列,根据需要重命名其他列,然后转到文件>关闭并加载将数据返回到 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"