Bỏ qua nội dung chính

Làm cách nào để liệt kê hoặc tạo tất cả các kết hợp có thể có trong Excel?

Giả sử, tôi có hai cột dữ liệu sau và bây giờ, tôi muốn tạo danh sách tất cả các kết hợp có thể có dựa trên hai danh sách giá trị như hình minh họa bên trái. Có thể, bạn có thể liệt kê tất cả các kết hợp lần lượt nếu có ít giá trị, nhưng nếu có một số cột có nhiều giá trị cần được liệt kê các kết hợp có thể có, thì đây là một số thủ thuật nhanh có thể giúp bạn giải quyết vấn đề này trong Excel .

Liệt kê hoặc tạo tất cả các kết hợp có thể có từ hai danh sách với công thức

Liệt kê hoặc tạo tất cả các kết hợp có thể có từ ba hoặc nhiều danh sách với mã VBA

Liệt kê hoặc tạo tất cả các kết hợp có thể có từ nhiều danh sách với một tính năng mạnh mẽ


Liệt kê hoặc tạo tất cả các kết hợp có thể có từ hai danh sách với công thức

Công thức dài sau đây có thể giúp bạn liệt kê tất cả các kết hợp có thể có của hai giá trị danh sách một cách nhanh chóng, vui lòng làm như sau:

1. Nhập hoặc sao chép công thức bên dưới vào một ô trống, trong trường hợp này, tôi sẽ nhập nó vào ô D2, rồi nhấn đăng ký hạng mục thi để lấy kết quả, xem ảnh chụp màn hình:

=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))

Chú thích: Trong công thức trên, $ A $ 2: $ A $ 5 là phạm vi của các giá trị cột đầu tiên và $ B $ 2: $ B $ 4 là phạm vi của các giá trị danh sách thứ hai mà bạn muốn liệt kê tất cả các kết hợp có thể có của chúng, $ D $ 2 là ô mà bạn đặt công thức, bạn có thể thay đổi tham chiếu ô theo nhu cầu của mình.

2. Sau đó, chọn ô D2 và kéo chốt điền xuống các ô cho đến khi nhận được các ô trống và tất cả các kết hợp có thể có đã được liệt kê dựa trên hai giá trị danh sách. Xem ảnh chụp màn hình:


Liệt kê hoặc tạo tất cả các kết hợp có thể có từ ba hoặc nhiều danh sách với mã VBA

Có thể công thức trên hơi khó áp dụng đối với bạn, nếu dữ liệu nhiều cột sẽ rất phiền phức khi sửa đổi. Ở đây, tôi sẽ giới thiệu một mã VBA để xử lý nó một cách nhanh chóng.

1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.

Mã VBA: Tạo tất cả các kết hợp 3 hoặc nhiều cột

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
Chú thích: Trong đoạn mã trên, A2: A5, B2: B4, C2: C4 là phạm vi dữ liệu mà bạn muốn sử dụng, E2 là ô đầu ra mà bạn muốn xác định kết quả. Nếu bạn muốn nhận được tất cả các kết hợp của nhiều cột hơn, vui lòng thay đổi và thêm các tham số khác vào mã theo nhu cầu của bạn.

3. Sau đó, nhấn F5 để chạy mã này và tất cả các kết hợp của 3 cột sẽ được tạo cùng một lúc, xem ảnh chụp màn hình:


Liệt kê hoặc tạo tất cả các kết hợp có thể có từ nhiều danh sách với một tính năng mạnh mẽ

Nếu có nhiều giá trị danh sách cần được liệt kê các kết hợp có thể có, có thể bạn sẽ gặp khó khăn khi sửa đổi mã. Ở đây, tôi có thể giới thiệu một công cụ mạnh mẽ - Kutools cho Excel, nó chứa một tính năng tiện dụng Liệt kê tất cả các kết hợp có thể nhanh chóng liệt kê tất cả các kết hợp có thể dựa trên danh sách dữ liệu đã cho.

Lời khuyên:Để áp dụng điều này Liệt kê tất cả các kết hợp , trước tiên, bạn nên tải xuống Kutools cho Excel, và sau đó áp dụng tính năng một cách nhanh chóng và dễ dàng.

Sau khi cài đặt Kutools cho Excel, hãy làm như sau:

1. Nhấp chuột Kutools > Chèn > Liệt kê tất cả các kết hợp, xem ảnh chụp màn hình:

2. Trong Liệt kê tất cả các kết hợp hộp thoại, thực hiện các hoạt động như dưới đây demo hiển thị:

3. Sau đó, tất cả các giá trị và dấu phân cách được chỉ định đã được liệt kê vào hộp thoại, xem ảnh chụp màn hình:

4.Và sau đó nhấp vào Ok và một hộp nhắc sẽ bật ra để nhắc bạn chọn một ô để xuất kết quả, xem ảnh chụp màn hình:

5. Nhấp chuột OK, tất cả các kết hợp có thể có dựa trên danh sách nhất định đã được tạo vào trang tính như hình minh họa sau:

Nhấp để tải xuống Kutools cho Excel ngay!


Các bài viết tương đối hơn:

  • Tạo tất cả các kết hợp 3 hoặc nhiều cột
  • Giả sử, tôi có 3 cột dữ liệu, bây giờ, tôi muốn tạo hoặc liệt kê tất cả các kết hợp dữ liệu trong 3 cột này như hình minh họa bên dưới. Bạn có phương pháp nào hay để giải quyết công việc này trong Excel không?
  • Tìm tất cả các kết hợp bằng một tổng cho trước
  • Ví dụ: tôi có danh sách các số sau và bây giờ, tôi muốn biết tổ hợp số nào trong danh sách có tổng số là 480, trong ảnh chụp màn hình sau đây, bạn có thể thấy có năm nhóm kết hợp có thể cộng lại bằng nhau. đến 480, chẳng hạn như 300 + 60 + 120, 300 + 60 + 40 + 80, v.v. Bài viết này, tôi sẽ nói về một số phương pháp để tìm các ô tính tổng thành một giá trị cụ thể trong Excel.
  • Tạo hoặc liệt kê tất cả các hoán vị có thể có
  • Ví dụ: tôi có ba ký tự XYZ, bây giờ, tôi muốn liệt kê tất cả các hoán vị có thể dựa trên ba ký tự này để nhận được sáu kết quả khác nhau như sau: XYZ, XZY, YXZ, YZX, ZXY và ZYX. Trong Excel, làm cách nào bạn có thể nhanh chóng tạo hoặc liệt kê tất cả các hoán vị dựa trên số ký tự khác nhau?
  • Tạo danh sách tất cả các kết hợp 4 chữ số có thể có
  • Trong một số trường hợp, chúng tôi có thể cần tạo danh sách tất cả các tổ hợp 4 chữ số có thể có của số 0 đến 9, nghĩa là tạo danh sách 0000, 0001, 0002… 9999. Để giải quyết nhanh nhiệm vụ danh sách trong Excel, tôi giới thiệu một số thủ thuật cho bạn.

 

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!

 

Comments (42)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
como que poderia gerar uma lista de combinações de nomes no LibreOffice?
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hello, Johansson

Sorry, the methods in this article are only applied for Microsoft Excel.
Thank you!
This comment was minimized by the moderator on the site
Hej alle sammen

Jeg håber at i kan hjælpe med dette.

Jeg har en af de gamle Bastalåse kodelåse med 6 knapper, hvor man kan trykke knapperne ind, lade dem være i neutral eller trække dem ud.

Låsen var åben da jeg købte den, så jeg låste den i håb om at jeg kunne gå kombinationerne igennem.

Men jeg har lidt problemer med at få nedskrevet samtlige kombinationer (729 så vidt jeg kan regne ud).

Er der en der vil hjælpe mig med med dette? Evt. kan man kalde de 3 indstillingsmuligheder pr. knap for: 1-2-3, 1-0-2, eller I-N-U (ind-neutral-ud).


Krydser finger og siger på forhånd mange tak hvis jeg kan få låsen op, det er sådan lidt nostalgi.

Mvh

Nicolaj
This comment was minimized by the moderator on the site
No 1º Exemplo de captura de tela , está faltando em All combinations Jan - KTE
This comment was minimized by the moderator on the site
Hello friend,
How are you. Thank you for your notice. We changed the first ficture. Please check now. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
Hi,
I have a project with excel (including Kutools) that I am stuck on.
Can anyone tell me how to get a list of all combinations of 6 different numbers, without repeating any of the numbers?
I know there should be 6! = 720 combinations but I need the list.
Thanks
This comment was minimized by the moderator on the site
Hi,
I have a project with excel (including Kutools) that I am stuck on.
Can anyone tell me how to get a list of all combinations of 6 different numbers, without repeating any digit?
I know there should be 6! = 720 combinations but I need the list.
Thanks
This comment was minimized by the moderator on the site
Hello Extend Office,
I want to extend the VBA code in "List Or Generate All Possible Combinations From Three Or More Lists With VBA Code article"
I want to show only the one's whose total of the combinations is equal to 9. Can you please show the additional extension/lines in the code? sorry, I'm barely new in VBA.
For example, I only want to show the combinations like the following:
1-2-2-2-2 (this is equal to 1+2+2+2+2 = 9) so, it will show the ones whose total is 9, the rest won't show.
1-2-3-1-3 (=9)
1-3-2-1-2 (=9) and so on...

Thanks very much for your help
Dalesimplest.becky15.08.21

This comment was minimized by the moderator on the site
edited formula to randomize 5 columns instead of 3 but still wont work,why?
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3, xDRg4, xDRg5 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3, xFN4, xF5 As Integer
Dim xSV1, xSV2, xSV3, xSV4, xSV5 As String
Set xDRg1 = Range("A2:A10") 'First column data
Set xDRg2 = Range("B2:B10") 'Second column data
Set xDRg3 = Range("C2:C10") 'Third column data
Set xDRg2 = Range("D2:D10") 'Fourth column data
Set xDRg3 = Range("E2:E10") 'Fifth column data
xStr = "," 'Separator
Set xRg = Range("G2") '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
For xFN4 = 1 To xDRg4.Count
xSV4 = xDRg4.Item(xFN4).Text
For xFN5 = 1 To xDRg5.Count
xSV5 = xDRg5.Item(xFN5).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3 & xStr & xSV4 & xStr & xSV5
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub
This comment was minimized by the moderator on the site
Hello, jericho,You should modify your code as below code, please try it, thank you!<div data-tag="code">Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3, xDRg4, xDRg5 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3, xFN4, xFN5 As Integer
Dim xSV1, xSV2, xSV3, xSV4, xSV5 As String
Set xDRg1 = Range("A2:A10") 'First column data
Set xDRg2 = Range("B2:B10") 'Second column data
Set xDRg3 = Range("C2:C10") 'Third column data
Set xDRg4 = Range("D2:D10") 'Fourth column data
Set xDRg5 = Range("E2:E10") 'Fifth column data
xStr = "-" 'Separator
Set xRg = Range("H2") '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
For xFN4 = 1 To xDRg4.Count
xSV4 = xDRg4.Item(xFN4).Text
For xFN5 = 1 To xDRg5.Count
xSV5 = xDRg5.Item(xFN5).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3 & xStr & xSV4 & xStr & xSV5
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
Next
Next
End Sub
This comment was minimized by the moderator on the site
How to remove the repetition if I have color 1, color 2, color 3 in different orders(i.e. color2, color 3, color 1) but they are the same for my need? tks!
This comment was minimized by the moderator on the site
Excelentes soluciones, muchas gracias, lo logré con Kutools
This comment was minimized by the moderator on the site
NON FUNZIONA. HO SEGUITO GLI STESSI PASSAGGI MA MI DICE CHE C'E' UN ERRORE
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations