如何在Excel中列出或生成所有可能的組合?

假設我有以下兩列數據,現在,我想基於兩個值列表生成所有可能組合的列表,如左圖所示。 也許,如果值很少,則可以一一列出所有組合,但是,如果有幾列需要列出多個值,則可能是組合,這裡有一些快速技巧可以幫助您解決Excel中的此問題。
用公式列出或生成兩個列表中的所有可能組合
下面的長公式可以幫助您快速列出兩個列表值的所有可能組合,請執行以下操作:
1。 輸入以下公式或將其複製到空白單元格中,在這種情況下,我將其輸入到單元格D2中,然後按 Enter 獲得結果的關鍵,請參見屏幕截圖:
2。 然後選擇單元格D2,並將填充手柄向下拖動到單元格,直到獲得空白單元格,並且所有可能的組合均已基於兩個列表值列出。 看截圖:
使用VBA代碼列出或生成來自三個或更多列表的所有可能組合
也許上面的公式對您來說很難應用,如果有多列數據,則修改起來會很麻煩。 在這裡,我將介紹一個VBA代碼來快速處理它。
1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
2。 點擊 插入 > 模塊,然後將以下代碼粘貼到 模塊 窗口。
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列的所有組合,請參見屏幕截圖:
列出或生成具有強大功能的多個列表中的所有可能組合
如果有多個列表值需要列出可能的組合,則可能很難修改代碼。 在這裡,我可以推荐一個功能強大的工具- Excel的Kutools,它包含一個方便的功能 列出所有組合 可以根據給定的數據列表快速列出所有可能的組合。
安裝後 Excel的Kutools,請這樣做:
1. 點擊 庫工具 > 插入 > 列出所有組合,請參見屏幕截圖:
2。 在 列出所有組合 對話框中,進行如下所示的演示操作:
3。 然後,所有指定的值和分隔符都已列在對話框中,請參見屏幕截圖:
4然後單擊 Ok 按鈕,然後會彈出一個提示框,提醒您選擇一個單元格以輸出結果,請參見屏幕截圖:
5。 點擊 OK,已根據工作表生成了基於給定列表的所有可能組合,如以下屏幕截圖所示:
更多相關文章:
- 生成3列或多列的所有組合
- 假設我有3列數據,現在,我想在這3列中生成或列出數據的所有組合,如下圖所示。 您有什麼好的方法可以在Excel中解決此任務?
- 查找等於給定總和的所有組合
- 例如,我有以下數字列表,現在,我想知道列表中的數字組合總計為480,在下面的屏幕截圖中,您可以看到有五組可能的組合加起來等於到480,例如300 + 60 + 120、300 + 60 + 40 + 80等。本文,我將討論一些方法來查找哪些單元格在Excel中求和成特定值。
- 生成或列出所有可能的排列
- 例如,我有三個字符XYZ,現在,我想基於這三個字符列出所有可能的排列,以獲得六個不同的結果,例如:XYZ,XZY,YXZ,YZX,ZXY和ZYX。 在Excel中,如何根據不同的字符數快速生成或列出所有排列?
- 生成所有可能的4位數字組合的列表
- 在某些情況下,我們可能需要生成一個由4到0的所有可能的9位數字組成的列表,這意味著要生成一個0000、0001、0002…9999的列表。 為了快速解決Excel中的列表任務,我為您介紹了一些技巧。
最佳辦公效率工具
Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%
- 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
- 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
- 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
- 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
- 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
- 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
- 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
- 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
- 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆
- 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
- 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
- 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!





























