Jak generovat všechny kombinace 3 nebo více sloupců v aplikaci Excel?
Předpokládejme, že mám 3 sloupce dat a chci vygenerovat 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 Excelu?
Generujte všechny kombinace na základě 3 sloupců dat pomocí vzorce
Generujte všechny kombinace na základě 3 nebo více sloupců dat pomocí kódu VBA
Generujte všechny kombinace na základě 3 nebo více sloupců dat pomocí úžasné funkce
Generujte všechny kombinace na základě 3 sloupců dat pomocí vzorce
Následující dlouhý vzorec může pomoci vyjmenovat všechny kombinace 3 sloupců, postupujte takto:
1. Klikněte na buňku, do které chcete vytisknout výsledek, a poté do ní zkopírujte a vložte níže uvedený vzorec:
Pozor: V tomto vzorci: A2: A4, B2: B6, C2: C5 jsou datové rozsahy, které chcete použít.
2. Poté přetáhněte rukojeť výplně dolů do buněk, dokud se nezobrazí prázdné buňky, to znamená, že byly uvedeny všechny kombinace 3 sloupců, viz screenshot:
Generujte všechny kombinace na základě 3 nebo více sloupců dat pomocí kódu VBA
Výše uvedený dlouhý vzorec může být poněkud obtížně použitelný, pokud je potřeba použít více sloupců dat, bude obtížné jej upravit. Zde představím kód VBA, který se s tím rychle vypořádá.
1. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.
2, klikněte Vložit > Modula vložte následující kód do okna modulu.
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:A4") 'First column data
Set xDRg2 = Range("B2:B6") 'Second column data
Set xDRg3 = Range("C2:C5") '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
Pozor: Ve výše uvedeném kódu, A2: A4, B2: B6, C2: C5 jsou rozsah dat, který chcete použít, E2 je výstupní buňka, ve které chcete najít výsledky. Pokud chcete získat všechny kombinace více sloupců, změňte a přidejte do kódu další parametry podle potřeby.
3. Poté stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a všechny kombinace 3 nebo více sloupců budou vygenerovány najednou, viz screenshot:
Generujte všechny kombinace na základě 3 nebo více sloupců dat pomocí úžasné funkce
Pokud máte Kutools pro Excel, s jeho silným Seznam všech kombinací Díky této funkci můžete rychle a snadno zobrazit všechny kombinace více sloupců.
1, klikněte Kutools > Vložit > Seznam všech kombinací, viz screenshot:
2. V Seznam všech kombinací v dialogovém okně zadejte data sloupců a oddělovače pro výpis kombinací jako na následujícím obrázku obrazovky:
3. Po nastavení dat a oddělovače klikněte na Ok Tlačítko, v další výzvě vyberte buňku k vyhledání výsledku, viz screenshot:
4. A pak klikněte OK tlačítko, všechny kombinace byly vygenerovány okamžitě, jak je uvedeno níže:
Kutools pro Excel - Supercharge Excel s více než 300 základními nástroji. Užijte si trvale bezplatné funkce AI! Get It Now
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a 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 usnadňuje vám 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!