MS Excel - 一致するデータのみを含むテーブルを結合する

MS Excel - 一致するデータのみを含むテーブルを結合する

2 セットのデータがあり、それを 1 つのテーブルに結合したいと考えています。Power Query を使用しようとしましたが、目的を達成できないように思われ、別の方法があるかどうか疑問に思っています。

私が何を達成しようとしているのかを例を使って説明する方が簡単かもしれません。 Excel テーブルの例

例を見ると、いくつかの学校に対して 2 セットのデータがあることがわかります。両方の学校に対してデータがいくつかあり、他の学校に対しては 1 セットのデータしかありません。

例を見ればわかるように学校a両方のデータを持っていますデータ1そしてデータ2ただし、テーブル学校fデータがあるのはデータ2テーブル。

シート 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"

ここに画像の説明を入力してください

関連情報