Excel - 列 a と列 b のあらゆる組み合わせを列 d と e に

Excel - 列 a と列 b のあらゆる組み合わせを列 d と e に

この質問をどうしたらいいのかさえよくわかりません。そこで、自分が達成しようとしていることのスクリーンショットを撮りました。

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

列 a と b のすべての組み合わせを列 d と e に出力したいと思います。a と b を 1 つの列に結合する例を多数見てきましたが、それらを別々の列にする必要があります。

これは可能だと確信していますが、何から始めればいいのかさえわかりません

答え1

2つの式。

これを D1 に入れて下にコピーします:

=IFERROR(INDEX($A$1:INDEX(A:A,COUNTA(A:A)),INT((ROW(1:1)-1)/COUNTA(B:B))+1),"")

これを E1 に入力してコピーします。

=IF(D1<>"",INDEX($B$1:INDEX(B:B,COUNTA(B:B)),MOD((ROW(1:1)-1),COUNTA(B:B))+1),"")

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

答え2

マイクロソフトの取得して変換 パワーツールExcel 2016を使用している場合は、2つの変数(またはテーブル)の直積を作成するために使用します。
(Excel 2010-2013の場合は、無料のMSアドインを使用してください。Excel 用 Power Query

説明した方法と同様にここ、 あなたはできる

  • Power Query で両方の列を別々のテーブルとしてインポートします (Excel 2016: リボン データ > テーブルから)
  • 次に同じ値(例:1)を持つヘルパー列を追加します。
  • 両方のテーブルを結合する
  • 元のインポートされた列を保持する

理論的には、2 つの列だけでなく、複数の列を持つ 2 つのテーブルからも直積を作成できます。

両方のテーブルの M コードは次のとおりです。

表2

let
    Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column2", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "CrossColumn", each 1)
in
    #"Added Custom"

表1

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "CrossColumn", each 1),
    #"Merged Queries" = Table.NestedJoin(#"Added Custom",{"CrossColumn"},Table2,{"CrossColumn"},"Table2",JoinKind.Inner),
    #"Expanded {0}" = Table.ExpandTableColumn(#"Merged Queries", "Table2", {"Column2"}, {"Column2"}),
    #"Removed Columns" = Table.RemoveColumns(#"Expanded {0}",{"CrossColumn"})
in
    #"Removed Columns"

関連情報