我在 Excel 中有一个如下值表:
Col1 Col2
---- ----
a 1
b 2
c 3
d 1
e 1
f 2
我想要根据某些功能创建结果交叉引用表:
NewCol1 NewCol2
------- -------
1 a, d, e
2 b, f
3 c
我该怎么做?有可能吗?
答案1
将光标放在表格中的任意位置,然后使用“数据”>“获取和转换数据”>“从表格/范围”。如果您使用的是早期版本的 Excel,则可以通过 Power Query 插件访问。
Power Query 编辑器应该打开并显示以下内容:
通过单击标题选择 Col2,然后使用 Home>Transform>Group By,如下所示:
单击“确定”后,您将看到“Summing Col1”导致错误:
使用“主页”>“查询”>“高级编辑器”,这样你就会看到:
现在将以下部分修改一下:
List.Sum([Col1])
对此:
Text.Combine([Col1],", ")
因此你有这个:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Col1", type text}, {"Col2", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Col2"}, {{"Col1", each Text.Combine([Col1],", "), type text}})
in
#"Grouped Rows"
当你点击确定后你将得到你想要的结果:
现在,您可以使用主页>关闭并加载将结果加载到工作簿中。当新数据添加到源表时,只需右键单击工作簿中的表并选择“刷新”即可再次运行转换。