我有一张表格,其中有各种已分组的成本,可以按行捕获。
在行结构中,第一行是我想要保留为一行的值,第二列是转换后的列名,第三行是需要求和的值。
这有点像这个问题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"
分步说明
- 选择范围
- 从菜单中选择“数据”
- 选择“来自表格/范围”
- 删除描述列
- 选择“费用类型”列,然后选择数据透视表
- 在 Pivot 上选择“值”作为值列,并在聚合中选择总和
- 该列将旋转,因此现在单击“关闭并加载”(在文件下)