我有两组数据,我想将它们合并到一张表中。我尝试过使用 Power Query,但我认为它不能完全满足我的要求,我想知道是否还有其他方法。
通过一个例子来解释我想要实现的目标可能会更容易。 Excel 表格示例
查看示例,您会发现许多学校都有两组数据。我有两所学校的一些数据,但只有一组其他学校的数据。
看看这个例子你就会发现学校有来自数据 1和数据2表格,但是学校f仅包含来自数据2桌子。
有没有办法得到我在 Sheet 3 最右边示例中的结果。如果一所学校有两组数据,则数据会合并。如果一所学校没有出现在两组中,它会将该学校添加到列表底部,这样所有数据都会保留,而不仅仅是匹配的数据。
答案1
你可以
- 将一个表附加到另一个表
- 按学校分组
- 将 Data1 和 Data2 提取到自定义列中
let
Source1 = Excel.CurrentWorkbook(){[Name="tblSchool1"]}[Content],
Source2 = Excel.CurrentWorkbook(){[Name="tblSchool2"]}[Content],
combTbl = Table.Combine({Source1,Source2}),
#"Grouped Rows" = Table.Group(combTbl, {"School"}, {{"Grouped", each _, type table [School=text, Data 1=nullable text, Data 2=nullable text]}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Data 1", each try
List.RemoveNulls(Table.Column([Grouped],"Data 1")){0}
otherwise null),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Data 2", each try
List.RemoveNulls(Table.Column([Grouped],"Data 2")){0}
otherwise null),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Grouped"})
in
#"Removed Columns"