Jak vypsat nebo vygenerovat všechny možné kombinace v aplikaci Excel?

Při práci s daty v Excelu můžete narazit na situace, kdy potřebujete vygenerovat všechny možné kombinace z více seznamů. Pokud máte například dva nebo více sloupců hodnot, ruční vypisování každé kombinace může být zdlouhavé a náchylné k chybám, zvláště když počet hodnot roste. V této příručce prozkoumáme různé techniky pro rychlý seznam nebo generování všech možných kombinací v Excelu.
Seznamujte nebo generujte všechny možné kombinace ze dvou seznamů pomocí vzorce
Seznamujte nebo generujte všechny možné kombinace ze tří nebo více seznamů pomocí kódu VBA
Vypište nebo vygenerujte všechny možné kombinace z více seznamů pomocí Kutools for Excel
Seznamujte nebo generujte všechny možné kombinace ze dvou seznamů pomocí vzorce
Následující dlouhý vzorec vám pomůže rychle vypsat všechny možné kombinace hodnot dvou seznamů, postupujte takto:
1. Zadejte nebo zkopírujte níže uvedený vzorec do prázdné buňky, v tomto případě jej vložím do buňky D2 a poté stisknutím klávesy "Enter" získáte výsledek, viz snímek obrazovky:
=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))
2. Poté vyberte buňku D2 a přetáhněte úchyt výplně dolů, dokud se neobjeví prázdné buňky. Všechny možné kombinace budou uvedeny na základě dvou seznamů hodnot. Viz snímek obrazovky:
Seznamujte nebo generujte všechny možné kombinace ze tří nebo více seznamů pomocí kódu VBA
Pokud je použití výše uvedeného vzorce obtížné, zejména u více sloupců dat, může být jeho úprava náročná. V takových případech poskytuje kód VBA rychlejší a flexibilnější řešení.
1. Podržením kláves "ALT + F11" otevřete okno "Microsoft Visual Basic for Applications".
2. Klikněte na "Vložit" > "Modul" a vložte následující kód do okna "Modul".
Kód VBA: Vygenerujte všechny kombinace 3 nebo více sloupců
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. Poté stisknutím klávesy „F5“ spusťte tento kód a všechny kombinace 3 sloupců budou vygenerovány najednou, viz snímek obrazovky:
Vypište nebo vygenerujte všechny možné kombinace z více seznamů pomocí Kutools for Excel
Pokud existuje více seznamů hodnot, které musí obsahovat všechny možné kombinace, může být pro vás obtížné upravit kód. Zde mohu doporučit výkonný nástroj - "Kutools for Excel", obsahuje praktickou funkci "Vypsat všechny kombinace", která dokáže rychle vypsat všechny možné kombinace na základě zadaných seznamů dat.
1. Klikněte na „Kutools„> Vložit“ > „Vypsat všechny kombinace“, viz snímek obrazovky:
2. V dialogovém okně "Seznam všech kombinací" proveďte operace, jak je ukázáno níže:
3. Poté byly všechny zadané hodnoty a oddělovače uvedeny v dialogovém okně, viz snímek obrazovky:
4. A poté klikněte na tlačítko "OK" a objeví se okno s výzvou, které vám připomene, že vyberete buňku pro výstup výsledku, viz snímek obrazovky:
5. Klikněte na „OK“, všechny možné kombinace založené na daných seznamech byly vygenerovány do listu, jak je znázorněno na následujícím snímku obrazovky:
Kutools for Excel - Supercharge Excel s více než 300 základními nástroji. Užijte si trvale bezplatné funkce AI! Get It Now
Více relativních článků:
- Generujte všechny kombinace 3 nebo více sloupců
- Předpokládejme, že mám 3 sloupce dat, teď chci generovat nebo vypsat všechny kombinace dat v těchto 3 sloupcích, jak je uvedeno níže. Máte nějaké dobré metody pro řešení tohoto úkolu v aplikaci Excel?
- Najděte všechny kombinace, které se rovnají dané sumě
- Například mám následující seznam čísel a teď chci vědět, která kombinace čísel v seznamu sečte až 480, na následujícím zobrazeném snímku obrazovky můžete vidět, že existuje pět skupin možných kombinací, které přidávají stejné na 480, například 300 + 60 + 120, 300 + 60 + 40 + 80 atd. V tomto článku budu hovořit o některých metodách, jak zjistit, které buňky sečtou určitou hodnotu v aplikaci Excel.
- Vygenerujte nebo vypsejte všechny možné permutace
- Například mám tři znaky XYZ, teď chci vypsat všechny možné permutace založené na těchto třech znacích, abych získal šest různých výsledků takto: XYZ, XZY, YXZ, YZX, ZXY a ZYX. Jak můžete v aplikaci Excel rychle vygenerovat nebo vypsat všechny permutace na základě různého počtu znaků?
- Vytvořte seznam všech možných čtyřmístných kombinací
- V některých případech možná budeme muset vygenerovat seznam všech možných čtyřmístných kombinací čísel 4 až 0, což znamená vygenerovat seznam 9, 0000, 0001 ... 0002. Abych rychle vyřešil úlohu seznamu v aplikaci Excel, představuji vám několik triků.
Nejlepší nástroje pro produktivitu v kanceláři
Vylepšete si své excelové dovednosti s Kutools for Excela zažijte efektivitu jako nikdy předtím. Kutools for Excel Nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab Přináší do Office rozhraní s kartami a výrazně vám usnadňuje práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!