Excelで単一の列から可能なすべての組み合わせをリストする方法は?
XNUMX つの列のデータから可能なすべての組み合わせを返し、以下のスクリーンショットのような結果を得たい場合、Excel でこのタスクを処理する簡単な方法はありますか?
数式を含む単一の列から可能なすべての組み合わせを一覧表示する
VBA コードを使用して単一の列から可能なすべての組み合わせを一覧表示する
数式を含む単一の列から可能なすべての組み合わせを一覧表示する
次の配列数式は、この仕事を達成するのに役立ちます。段階的に実行してください。
1. 最初に、1 つのヘルパー数式セルを作成する必要があります。 セル CXNUMX に以下の式を入力し、 を押してください。 Ctrl + Shift + Enter 結果を取得するためのキー:
2. セル C2 に次の式を入力し、 Ctrl + Shift + Enter キーを合わせて XNUMX 番目の結果を取得します。スクリーンショットを参照してください。
3. 次に、セル D2 に次の式をコピーして貼り付け、 Ctrl + Shift + Enter 最初の結果を得るために一緒にキーを押します。スクリーンショットを参照してください。
4. 次に、この数式セルを選択し、空のセルが表示されるまでフィル ハンドルを下にドラッグします。 これで、指定された列データのすべての組み合わせが以下のデモのように表示されることがわかります。
VBA コードを使用して単一の列から可能なすべての組み合わせを一覧表示する
上記の数式は、新しい Excel バージョンでのみ使用できます。以前のバージョンの Excel を使用している場合は、次の VBA コードを使用すると便利です。
1。 押す Alt + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。
2。 次に、をクリックします。 インセット > モジュールで、以下の VBA コードをコピーしてウィンドウに貼り付けます。
VBAコード:単一の列から可能なすべての組み合わせをリストします
Sub ConnectArr()
'Updateby ExtendOffice
Dim xDValue As Variant
Dim xOutRg As Range
Dim xDictionary As Object
Dim xF As Long
Dim xChar As String
xDValue = Range("A2:A6").Value 'the data range
Set xOutRg = Range("C1") 'output range
xChar = "," 'separator
For xF = 1 To UBound(xDValue)
Set xDictionary = CreateObject("Scripting.Dictionary")
xDictionary(0) = "Sets of " & xF
Call ConnectValue(xDValue, xDictionary, 0, xF, 0, "", xChar)
xOutRg.Offset(0, xF - 1).Resize(xDictionary.Count).Value = WorksheetFunction.Transpose(xDictionary.Items)
Set xDictionary = Nothing
Next
End Sub
Sub ConnectValue(ByRef pDValue, ByRef pDictionary, ByRef pLevel, ByVal pMaxLevel, ByVal pIndex, ByVal pValue, ByVal pChar)
Dim xF As Long
If pLevel = pMaxLevel Then
pDictionary(pDictionary.Count + 1) = pValue
Exit Sub
End If
For xF = pIndex + 1 To UBound(pDValue)
If pValue = "" Then
Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pDValue(xF, 1), pChar)
Else
Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pValue & pChar & pDValue(xF, 1), pChar)
End If
Next
End Sub
- A2:A6: 使用するデータのリストです。
- C1: 出力セルです。
- ,: 組み合わせを区切る区切り文字。
3. 次に、を押します F5 このコードを実行するためのキー。 単一の列からのすべての組み合わせは、以下のスクリーンショットのようにリストされます。
最高のオフィス生産性向上ツール
🤖 | Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行 | コードを生成 | カスタム数式の作成 | データを分析してグラフを生成する | Kutools関数を呼び出す... |
人気の機能: 重複を検索、強調表示、または識別する | 空白行を削除する | データを失わずに列またはセルを結合する | 数式なしのラウンド ... | |
スーパールックアップ: 複数の基準の VLookup | 複数の値の VLookup | 複数のシートにわたる VLookup | ファジールックアップ .... | |
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する | 依存関係のドロップダウン リスト | 複数選択のドロップダウンリスト .... | |
列マネージャー: 特定の数の列を追加する | 列の移動 | Toggle 非表示列の表示ステータス | 範囲と列の比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | ビッグフォーミュラバー | ワークブックとシートマネージャー | リソースライブラリ (自動テキスト) | 日付ピッカー | ワークシートを組み合わせる | セルの暗号化/復号化 | リストごとにメールを送信する | スーパーフィルター | 特殊フィルター (太字/斜体/取り消し線をフィルター...) ... | |
上位 15 のツールセット: 12 テキスト ツール (テキストを追加, 文字を削除する、...) | 50+ チャート 種類 (ガントチャート、...) | 40+ 実用的 式 (誕生日に基づいて年齢を計算する、...) | 19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...) | 12 変換 ツール (数字から言葉へ, 通貨の換算、...) | 7 マージ&スプリット ツール (高度な結合行, 分割セル、...) | ... もっと |
Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。 最も必要な機能を入手するにはここをクリックしてください...
Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!