Note: The other languages of the website are Google-translated. Back to English

Jak vypsat všechny možné kombinace z jednoho sloupce v Excelu?

Pokud chcete vrátit všechny možné kombinace z dat jednoho sloupce, abyste získali výsledek, jak je zobrazen níže na snímku obrazovky, máte nějaké rychlé způsoby, jak se s tímto úkolem v Excelu vypořádat?

Vypište všechny možné kombinace z jednoho sloupce se vzorci

Seznam všech možných kombinací z jednoho sloupce s kódem VBA


Vypište všechny možné kombinace z jednoho sloupce se vzorci

Následující maticové vzorce vám mohou pomoci dosáhnout tohoto úkolu, proveďte prosím krok za krokem:

1. Nejprve byste měli vytvořit dvě buňky pomocného vzorce. Do buňky C1 zadejte níže uvedený vzorec a stiskněte Ctrl + Shift + Enter klíče k získání výsledku:

=MAX(LEN(A2:A6))
Poznámka: V tomto vzorci A2: A6 je seznam buněk, u kterých chcete vypsat jejich kombinace.

2. Do buňky C2 zadejte následující vzorec a stiskněte Ctrl + Shift + Enter kláves dohromady, abyste získali druhý výsledek, viz snímek obrazovky:

=CONCAT(A2:A6&REPT(" ",C2-LEN(A2:A6)))
Poznámka: V tomto vzorci A2: A6 je seznam buněk, u kterých chcete vypsat jejich kombinace, C2 je buňka obsahuje vzorec, který jste vytvořili v kroku 1.

3. Poté zkopírujte a vložte následující vzorec do buňky D2 a stiskněte Ctrl + Shift + Enter společně získáte první výsledek, viz screenshot:

=IF(ROW()>2^(COUNTA(A$2:A$6)),"",TEXTJOIN(" + ",TRUE,IF(MID(TEXT(DEC2BIN(ROW()-1),REPT("0",COUNTA($A$2:$A$6))),ROW(INDIRECT("1:"&COUNTA($A$2:$A$6))),1)+0,TRIM(MID($C$3,(ROW(INDIRECT("1:"&COUNTA($A$2:$A$6)))-1)*$C$2+1,$C$2)),"")))
Poznámka: V tomto vzorci A2: A6 je seznam buněk, u kterých chcete vypsat jejich kombinace, C2 je buňka obsahuje vzorec, který jste vytvořili v kroku 1, C3 je buňka se vzorcem, který jste vytvořili v kroku 2, the + znak je oddělovač pro oddělení kombinací, můžete je změnit podle potřeby.

4. A pak vyberte tuto buňku vzorce a přetáhněte úchyt výplně dolů, dokud se neobjeví prázdné buňky. Nyní můžete vidět, že všechny kombinace dat zadaných sloupců jsou zobrazeny, jak je ukázáno níže:

Poznámka: Tento vzorec je k dispozici pouze v Office 2019, 365 a novějších verzích.

Seznam všech možných kombinací z jednoho sloupce s kódem VBA

Výše uvedené vzorce jsou k dispozici pouze pro novější verze aplikace Excel, pokud máte dřívější verze aplikace Excel, může vám pomoci následující kód VBA.

1. lis Alt + F11 současně otevřete Microsoft Visual Basic pro aplikace okno.

2. Potom klepněte na tlačítko Vložit > Modul, zkopírujte a vložte níže uvedený kód VBA do okna.

Kód VBA: Seznam všech možných kombinací z jednoho sloupce

Sub ConnectArr()
'Updateby ExtendOffice
Dim xDValue As Variant
Dim xOutRg As Range
Dim xDictionary As Object
Dim xF As Long
Dim xChar As String
xDValue = Range("A2:A6").Value 'the data range
Set xOutRg = Range("C1") 'output range
xChar = "," 'separator
For xF = 1 To UBound(xDValue)
    Set xDictionary = CreateObject("Scripting.Dictionary")
    xDictionary(0) = "Sets of " & xF
    Call ConnectValue(xDValue, xDictionary, 0, xF, 0, "", xChar)
    xOutRg.Offset(0, xF - 1).Resize(xDictionary.Count).Value = WorksheetFunction.Transpose(xDictionary.Items)
    Set xDictionary = Nothing
Next
End Sub
Sub ConnectValue(ByRef pDValue, ByRef pDictionary, ByRef pLevel, ByVal pMaxLevel, ByVal pIndex, ByVal pValue, ByVal pChar)
Dim xF As Long
If pLevel = pMaxLevel Then
    pDictionary(pDictionary.Count + 1) = pValue
    Exit Sub
End If
For xF = pIndex + 1 To UBound(pDValue)
    If pValue = "" Then
        Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pDValue(xF, 1), pChar)
    Else
        Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pValue & pChar & pDValue(xF, 1), pChar)
    End If
Next
End Sub
Poznámka: Ve výše uvedeném kódu:
  • A2: A6: je seznam dat, která chcete použít;
  • C1: je výstupní buňka;
  • ,: oddělovač pro oddělení kombinací.

3. A pak stiskněte F5 klíč k provedení tohoto kódu. Všechny kombinace z jednoho sloupce jsou uvedeny jako níže uvedený snímek obrazovky:


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

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 omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (0)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění