Excel で考えられるすべての組み合わせを一覧表示または生成するには?

Excel でデータを扱う際、複数のリストから考えられるすべての組み合わせを生成しなければならない場面に直面することがあります。たとえば、2 列以上の値がある場合、その数が増えるにつれて、すべての組み合わせを手動で記録するのは非常に手間がかかり、ミスも起こりやすくなります。本ガイドでは、Excel で素早くすべての可能な組み合わせを一覧表示または生成するためのさまざまな手法をご紹介します。
数式を使って2 つのリストから考えられるすべての組み合わせを一覧表示または生成する
数式を使って2 つのリストから考えられるすべての組み合わせを一覧表示または生成する
次の長い数式を使えば、2 つのリストの値から考えられるすべての組み合わせを瞬時に一覧表示できます。以下の手順に従ってください。
1.以下の数式を空白セル(ここではセル D2)に入力またはコピーし、「Enter」キーを押して結果を取得してください(スクリーンショット参照)。
=IF(ROW()-ROW($D$2)+1>COUNTA($A$2:$A$5)*COUNTA($B$2:$B$4),"",INDEX($A$2:$A$5,INT((ROW()-ROW($D$2))/COUNTA($B$2:$B$4)+1))&"-"&INDEX($B$2:$B$4,MOD(ROW()-ROW($D$2),COUNTA($B$2:$B$4))+1)) 
2.次にセル D2 を選択し、空白セルが表示されるまでフィルハンドルを下方向にドラッグしてください。これにより、2 つのリストの値に基づくすべての可能な組み合わせが一覧表示されます(スクリーンショット参照)。

VBA コードを使って3 つ以上のリストから考えられるすべての組み合わせを一覧表示または生成する
上記の数式を適用するのが難しいと感じられる場合、特に複数列のデータを扱う際には、修正が困難になることがあります。そのような場合には、VBA コードがより迅速で柔軟な解決策となります。
1.「ALT + F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。
2.「挿入」>「標準モジュール」をクリックし、表示される「Module」ウィンドウに以下のコードを貼り付けてください。
VBA コード:3 列または複数列のすべての組み合わせを生成する
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Set xDRg1 = Range("A2:A5") 'First column data
Set xDRg2 = Range("B2:B4") 'Second column data
Set xDRg3 = Range("C2:C4") 'Third column data
xStr = "-" 'Separator
Set xRg = Range("E2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub 3.次に「F5」キーを押してこのコードを実行すると、3 列のすべての組み合わせが一括で生成されます(スクリーンショット参照)。

複数のリストから考えられるすべての組み合わせをKutools for Excel で一覧表示または生成する
複数の値リストから考えられるすべての組み合わせを生成する必要がある場合、コードの修正は難しくなるかもしれません。そんなときは、強力なツール「Kutools for Excel」がおすすめです。「すべての組み合わせをリストアップ」という便利な機能を使えば、指定されたデータリストに基づいて、あっという間にすべての可能な組み合わせを一覧表示できます。
1.「Kutools」>「挿入」>「すべての組み合わせをリストアップ」をクリックしてください(スクリーンショットをご参照ください)。

2.「すべての組み合わせをリストアップ」ダイアログボックスで、以下のデモのように操作してください。

3.これにより、指定されたすべての値と区切り文字がダイアログボックス内に一覧表示されます(スクリーンショットをご参照ください)。

4.次に「OK」ボタンをクリックすると、結果を出力するセルを選択するよう促すプロンプトボックスが表示されます(スクリーンショット参照)。

5.「OK」をクリックすると、指定されたリストに基づくすべての可能な組み合わせが、以下のスクリーンショットのようにワークシートに生成されます。

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手
関連記事:
- 3 列または複数列のすべての組み合わせを生成する
- ここには3 列のデータがあります。下のスクリーンショットのように、これらの3 列のデータからすべての組み合わせを生成したり、リストアップしたりしたいのですが、Excel でこのタスクを効率的にこなす良い方法はありますか?
- 指定された合計に等しいすべての組み合わせを見つける
- たとえば、次のような数値リストがあり、この中から合計が480 になる数値の組み合わせを見つけたいとします。次のスクリーンショットに示すように、480 と等しくなる可能性のある組み合わせは5 グループ存在します(例:300+60+120、300+60+40+80 など)。本記事では、Excel で特定の値に合計されるセルの組み合わせを特定するためのいくつかの方法をご紹介します。
- 考えられるすべての順列を生成または一覧表示する
- たとえば、文字 X ・ Y ・ Z の3 文字があり、これらを使ってすべての可能な順列を一覧表示し、XYZ、XZY、YXZ、YZX、ZXY、ZYX という6 つの異なる組み合わせを得たいとします。Excel では、異なる文字数に基づいてすべての順列を素早く生成または一覧表示するには、どのようにすればよいでしょうか?
- 考えられるすべての4 桁の数字の組み合わせリストを生成する
- 場合によっては、0000、0001、0002…9999 といった数字0~9 を使ったすべての4 桁の組み合わせリストを作成する必要が生じることもあるでしょう。そんなときのために、Excel でこのリストを素早く作成できる便利なテクニックをいくつかご紹介します。
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得