在 Excel 中,您可以按照以下步骤使用 Power Query,假设数据位于 Sheet1 的 A1:E2 中。
将数据导入 Power Query
>
- 选择数据。
- 转到数据>获取和转换数据...
- 从表/范围中选择。
在 Power Query 中转换数据
- 选择 A 列和 B 列,转到“转换”选项卡并选择“反透视列”。
- 右键单击属性列标题并选择删除。
- 选择 Value 和 Column C 列,转到 Transform 选项卡并选择 Unpivot Other columns。
- 重复步骤 2
您现在应该拥有所需的数据,并且可以根据需要重命名/移动列。
获得所需的所有内容后,单击关闭并加载以将代码返回到 Excel。
这是由这些步骤生成的M-code。
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column A", type text}, {"Column B", type text}, {"Column C", type datetime}, {"Column D", type text}, {"Column E", type text}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Column C", "Column D", "Column E"}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Attribute"}),
#"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"Value", "Column C", "Column D", "Column E"}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Reordered Columns", {"Value", "Column C"}, "Attribute", "Value.1"),
#"Removed Columns1" = Table.RemoveColumns(#"Unpivoted Other Columns",{"Attribute"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Value", "Colimn A"}, {"Column C", "Column B"}, {"Value.1", "Column C"}})
in
#"Renamed Columns"