Excel で相互参照表を作成するにはどうすればよいですか?

Excel で相互参照表を作成するにはどうすればよいですか?

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 を選択し、次のように [ホーム] > [変換] > [グループ化] を使用します。

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

[OK] をクリックすると、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"

[OK] をクリックすると、希望する結果が得られます。

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

これで、[ホーム] > [閉じて読み込む] を使用して結果をワークブックに読み込むことができます。ソース テーブルに新しいデータが追加されたら、ワークブック内のテーブルを右クリックし、[更新] を選択して変換を再度実行します。

関連情報