Przejdź do głównej zawartości

Jak wyświetlić lub wygenerować wszystkie możliwe kombinacje w programie Excel?

Powiedzmy, że mam następujące dwie kolumny danych, a teraz chcę wygenerować listę wszystkich możliwych kombinacji na podstawie dwóch list wartości, jak pokazano na lewym zrzucie ekranu. Być może możesz wymienić wszystkie kombinacje jeden po drugim, jeśli jest kilka wartości, ale jeśli istnieje kilka kolumn z wieloma wartościami, które należy wymienić, możliwe kombinacje, oto kilka szybkich sztuczek, które mogą pomóc w rozwiązaniu tego problemu w programie Excel .

Wymień lub wygeneruj wszystkie możliwe kombinacje z dwóch list ze wzorem

Wyświetl lub wygeneruj wszystkie możliwe kombinacje z trzech lub więcej list z kodem VBA

Wyświetlaj lub generuj wszystkie możliwe kombinacje z wielu list za pomocą potężnej funkcji


Wymień lub wygeneruj wszystkie możliwe kombinacje z dwóch list ze wzorem

Poniższa długa formuła może pomóc w szybkim wylistowaniu wszystkich możliwych kombinacji wartości dwóch list, wykonaj następujące czynności:

1. Wprowadź lub skopiuj poniższą formułę do pustej komórki, w tym przypadku wprowadzę ją do komórki D2, a następnie naciśnij Wchodzę klucz, aby uzyskać wynik, patrz zrzut ekranu:

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

Note: W powyższym wzorze, $ A $ 2: $ A $ 5 jest zakresem wartości pierwszej kolumny, a 2 B $: 4 B $ to zakres wartości drugiej listy, w którym chcesz wyświetlić wszystkie ich możliwe kombinacje, rozszerzenie 2 $ D $ to komórka, w której umieszczasz formułę, możesz zmienić odwołania do komórek zgodnie z potrzebami.

2. Następnie wybierz komórkę D2 i przeciągnij uchwyt wypełniania w dół do komórek, aż uzyskasz puste komórki, a wszystkie możliwe kombinacje zostały wymienione na podstawie wartości dwóch list. Zobacz zrzut ekranu:


Wyświetl lub wygeneruj wszystkie możliwe kombinacje z trzech lub więcej list z kodem VBA

Być może powyższa formuła jest nieco trudna do zastosowania, jeśli danych jest wiele kolumn, modyfikowanie będzie kłopotliwe. Tutaj przedstawię kod VBA, aby szybko sobie z tym poradzić.

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Generuj wszystkie kombinacje 3 lub wielu kolumn

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
Note: W powyższym kodzie, A2: A5, B2: B4, C2: C4 to zakres danych, którego chcesz użyć, E2 to komórka wyjściowa, w której chcesz zlokalizować wyniki. Jeśli chcesz uzyskać wszystkie kombinacje większej liczby kolumn, zmień i dodaj inne parametry do kodu zgodnie z potrzebami.

3. Następnie naciśnij F5 klucz do uruchomienia tego kodu, a wszystkie kombinacje 3 kolumn zostaną wygenerowane naraz, patrz zrzut ekranu:


Wyświetlaj lub generuj wszystkie możliwe kombinacje z wielu list za pomocą potężnej funkcji

Jeśli istnieje wiele list wartości, należy wymienić możliwe kombinacje, być może trudno będzie zmodyfikować kod. Tutaj mogę polecić potężne narzędzie - Kutools dla programu Excel, zawiera przydatną funkcję Wyświetl wszystkie kombinacje który może szybko wyświetlić wszystkie możliwe kombinacje na podstawie podanych list danych.

Tips:Aby to zastosować Wyświetl wszystkie kombinacje Po pierwsze, należy pobrać plik Kutools dla programu Excel, a następnie szybko i łatwo zastosuj tę funkcję.

Po zainstalowaniu Kutools dla programu Excel, zrób tak:

1. Kliknij Kutools > wstawka > Wyświetl wszystkie kombinacjezobacz zrzut ekranu:

2, w Wyświetl wszystkie kombinacje W oknie dialogowym wykonaj operacje, jak pokazano poniżej:

3. Następnie wszystkie określone wartości i separatory zostały wymienione w oknie dialogowym, patrz zrzut ekranu:

4.A następnie kliknij Ok przycisk i pojawi się okno zachęty przypominające o wybraniu komórki do wyprowadzenia wyniku, patrz zrzut ekranu:

5. Kliknij OK, wszystkie możliwe kombinacje na podstawie podanych list zostały wygenerowane w arkuszu, jak pokazano na poniższym zrzucie ekranu:

Kliknij, aby pobrać Kutools dla programu Excel teraz!


Więcej artykułów względnych:

  • Wygeneruj wszystkie kombinacje 3 lub wielu kolumn
  • Przypuśćmy, że mam 3 kolumny danych, teraz chcę wygenerować lub wyświetlić wszystkie kombinacje danych w tych 3 kolumnach, jak pokazano poniżej. Czy masz jakieś dobre metody rozwiązania tego zadania w programie Excel?
  • Znajdź wszystkie kombinacje, które są równe danej sumie
  • Na przykład mam następującą listę liczb, a teraz chcę wiedzieć, która kombinacja liczb na liście sumuje się do 480, na poniższym zrzucie ekranu widać, że istnieje pięć grup możliwych kombinacji, które sumują się równo do 480, na przykład 300 + 60 + 120, 300 + 60 + 40 + 80 itd. W tym artykule omówię kilka metod wyszukiwania, które komórki sumują się do określonej wartości w programie Excel.
  • Wygeneruj lub wyświetl wszystkie możliwe permutacje
  • Na przykład mam trzy znaki XYZ, teraz chcę wymienić wszystkie możliwe permutacje na podstawie tych trzech znaków, aby uzyskać sześć różnych wyników, takich jak: XYZ, XZY, YXZ, YZX, ZXY i ZYX. W programie Excel, jak możesz szybko wygenerować lub wyświetlić wszystkie permutacje na podstawie różnej liczby znaków?
  • Wygeneruj listę wszystkich możliwych kombinacji 4 cyfr
  • W niektórych przypadkach może zajść potrzeba wygenerowania listy wszystkich możliwych kombinacji 4 cyfr od 0 do 9, co oznacza wygenerowanie listy 0000, 0001, 0002… 9999. Aby szybko rozwiązać zadanie listy w Excelu, przedstawiam kilka sztuczek.

 

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!

 

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