KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

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

著者Xiaoyang変更日
Excelで組み合わせを生成するための2つのデータ列の例を示すスクリーンショット

Excel でデータを扱う際、複数のリストから考えられるすべての組み合わせを生成しなければならない場面に直面することがあります。たとえば、2 列以上の値がある場合、その数が増えるにつれて、すべての組み合わせを手動で記録するのは非常に手間がかかり、ミスも起こりやすくなります。本ガイドでは、Excel で素早くすべての可能な組み合わせを一覧表示または生成するためのさまざまな手法をご紹介します。

数式を使って2 つのリストから考えられるすべての組み合わせを一覧表示または生成する

VBA コードを使って3 つ以上のリストから考えられるすべての組み合わせを一覧表示または生成する

複数のリストから考えられるすべての組み合わせをKutools for Excel で一覧表示または生成する


数式を使って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))

注:上記の数式において、「$A$2:$A$5」は最初の列の値範囲、「$B$2:$B$4」は組み合わせを一覧表示したい2 番目のリストの値範囲、「$D$2」は数式を入力するセルです。必要に応じてセル参照を変更してください。

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
注:上記のコードにおいて、「A2:A5」「B2:B4」「C2:C4」は使用したいデータ範囲、「E2」は結果を出力したいセルです。さらに多くの列のすべての組み合わせを取得したい場合は、必要に応じてコード内のパラメーターを変更・追加してください。

3.次に「F5」キーを押してこのコードを実行すると、3 列のすべての組み合わせが一括で生成されます(スクリーンショット参照)。

VBAを使用して3つ以上のリストから生成されたすべての可能な組み合わせを示すスクリーンショット


複数のリストから考えられるすべての組み合わせをKutools for Excel で一覧表示または生成する

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

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1.「Kutools」>「挿入」>「すべての組み合わせをリストアップ」をクリックしてください(スクリーンショットをご参照ください)。

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

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

ダイアログボックスに表示された指定値と区切り文字を示すスクリーンショット

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

組み合わせの出力セルを選択するプロンプトのスクリーンショット

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

3つ以上のリストから生成されたすべての可能な組み合わせを示すスクリーンショット

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 はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

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 アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得