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

Hogyan lehet felsorolni az összes lehetséges kombinációt egyetlen oszlopból az Excelben?

Ha vissza szeretné adni az összes lehetséges kombinációt egyetlen oszlopos adatból, hogy az alábbi képernyőképen látható eredményt kapja, van valami gyors módja ennek a feladatnak az Excelben történő kezelésére?

Sorolja fel az összes lehetséges kombinációt egyetlen oszlopból képletekkel

Sorolja fel az összes lehetséges kombinációt egyetlen oszlopból VBA kóddal


Sorolja fel az összes lehetséges kombinációt egyetlen oszlopból képletekkel

A következő tömbképletek segíthetnek ennek a feladatnak a megvalósításában, kérjük, tegye meg lépésről lépésre:

1. Először is létre kell hoznia két segédképlet cellát. A C1 cellába írja be az alábbi képletet, és nyomja meg a gombot Ctrl + Shift + Enter kulcsok az eredmény eléréséhez:

=MAX(LEN(A2:A6))
Megjegyzések: Ebben a képletben A2: A6 azoknak a celláknak a listája, amelyek kombinációit listázni kívánja.

2. A C2 cellába írja be a következő képletet, és nyomja meg a gombot Ctrl + Shift + Enter billentyűket össze kell nyomni a második eredmény eléréséhez, lásd a képernyőképet:

=CONCAT(A2:A6&REPT(" ",C2-LEN(A2:A6)))
Megjegyzések: Ebben a képletben A2: A6 azoknak a celláknak a listája, amelyek kombinációit listázni szeretné, C2 a cella tartalmazza az 1. lépésben létrehozott képletet.

3. Ezután másolja ki és illessze be a következő képletet a D2 cellába, majd nyomja meg a gombot Ctrl + Shift + Enter gombok együtt az első eredmény eléréséhez, lásd a képernyőképet:

=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)),"")))
Megjegyzések: Ebben a képletben A2: A6 azoknak a celláknak a listája, amelyek kombinációit listázni szeretné, C2 a cella tartalmazza-e az 1. lépésben létrehozott képletet, C3 az a cella a 2. lépésben létrehozott képlettel, a + karakter az elválasztó a kombinációk elválasztásához, módosíthatja őket a kívánt módon.

4. Ezután jelölje ki ezt a képletcellát, és húzza lefelé a kitöltő fogantyút, amíg üres cellák jelennek meg. Most láthatja, hogy a megadott oszlopadatok összes kombinációja megjelenik az alábbi bemutató szerint:

Megjegyzések: Ez a képlet csak az Office 2019, 365 és újabb verziókban érhető el.

Sorolja fel az összes lehetséges kombinációt egyetlen oszlopból VBA kóddal

A fenti képletek csak újabb Excel-verziókhoz érhetők el, ha korábbi Excel-verziókkal rendelkezik, a következő VBA-kód tehet egy szívességet.

1. nyomja meg Alt + F11 gombok egyszerre a Microsoft Visual Basic for Applications ablak.

2. Ezután kattints a gombra betétlap > Modulok, másolja ki és illessze be az alábbi VBA-kódot az ablakba.

VBA kód: Sorolja fel az összes lehetséges kombinációt egyetlen oszlopból

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
Megjegyzések: A fenti kódban:
  • A2: A6: a használni kívánt adatok listája;
  • C1: a kimeneti cella;
  • ,: a kombinációk elválasztására szolgáló határoló.

3. És akkor nyomja meg F5 kulcs a kód végrehajtásához. Az egyetlen oszlopból származó összes kombináció az alábbi képernyőképen látható:


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2019 és 365. Támogatja az összes nyelvet. Könnyen telepíthető a vállalkozásba vagy szervezetbe. 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és minden nap több száz kattintással csökkenti az egér kattintását!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (0)
Még nincs értékelés. Legyen Ön az első, aki értékel!
Még senki sem írt megjegyzést
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek