我如何对行值进行分组并将它们相加并转换成列?

我如何对行值进行分组并将它们相加并转换成列?

我有一张表格,其中有各种已分组的成本,可以按行捕获。

在行结构中,第一行是我想要保留为一行的值,第二列是转换后的列名,第三行是需要求和的值。

这有点像这个问题Excel:如何将相同的行及其值提取到列中?但我想包括总和,并且强力查询会提供合适的答案。

转型之前

地点 费用类型 描述 价值
城市 1 食物 汉堡包 100
城市 1 食物 香肠 50
城市 1 运输 悬浮自行车 1000
城市 2 娱乐 电影 320
城市 2 食物 西兰花 15
城市 2 运输 公共汽车 22
城市 2 运输 火车 8

变换后

地点 食物 运输 娱乐
城市 1 150 1000 0
城市 2 15 三十 320

寻找最佳方法来做到这一点,理想情况下,它可以处理额外的条目,而不必调整公式,这将推动后续的vlookup。

答案1

可以使用 power query

电量查询代码

 let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Location", type text}, {"Expense Type", type text}, {"Description", type text}, {"Value", Int64.Type}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Description"}),
    #"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[#"Expense Type"]), "Expense Type", "Value", List.Sum)
in
    #"Pivoted Column"

分步说明

  1. 选择范围
  2. 从菜单中选择“数据”
  3. 选择“来自表格/范围”

选择范围的屏幕截图

  1. 删除描述列

删除描述栏的截图

  1. 选择“费用类型”列,然后选择数据透视表
  2. 在 Pivot 上选择“值”作为值列,并在聚合中选择总和

枢轴设置

  1. 该列将旋转,因此现在单击“关闭并加载”(在文件下)

最后一步

在此处输入图片描述

相关内容