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

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

Tegyük fel, hogy a következő két oszlopom van, és most szeretnék létrehozni egy listát az összes lehetséges kombinációról a bal oldali képernyőképen látható két értéklista alapján. Lehetséges, hogy az összes kombinációt felsorolhatja egyenként, ha kevés érték van, de ha több oszlop van, több értékkel kell felsorolni a lehetséges kombinációkat, akkor itt néhány gyors trükk segíthet kezelni ezt a problémát az Excel programban .

Sorolja fel vagy állítsa elő az összes lehetséges kombinációt képletből képlettel

Soroljon fel vagy generáljon minden lehetséges kombinációt három vagy több listából, VBA kóddal

Soroljon fel vagy generáljon minden lehetséges kombinációt több listából egy hatékony szolgáltatással


Sorolja fel vagy állítsa elő az összes lehetséges kombinációt képletből képlettel

A következő hosszú képlet segíthet abban, hogy gyorsan felsorolja a két listaérték összes lehetséges kombinációját.

1. Írja be vagy másolja az alábbi képletet egy üres cellába, ebben az esetben beírom a D2 cellába, majd megnyomom belép kulcs az eredmény eléréséhez, lásd a képernyőképet:

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

Megjegyzések: A fenti képletben $ A $ 2: $ A $ 5 az első oszlop értéktartománya, és $ B $ 2: $ B $ 4 a második listaértékek tartománya, amelyek felsorolni kívánják az összes lehetséges kombinációjukat, a $ D $ 2 az a cella, amelyet a képletbe helyezett, megváltoztathatja a cellahivatkozásokat az igényeinek megfelelően.

2. Ezután válassza ki a D2 cellát, és húzza lefelé a cellákat a cellákig, amíg meg nem kapják az üres cellákat, és az összes lehetséges kombináció fel lett sorolva a két listaérték alapján. Lásd a képernyőképet:


Soroljon fel vagy generáljon minden lehetséges kombinációt három vagy több listából, VBA kóddal

Lehet, hogy a fenti képletet kissé nehéz alkalmazni az Ön számára, ha több oszlopadat van, akkor nehézkes a módosítása. Itt bemutatok egy VBA kódot, hogy gyorsan kezelhessem.

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modulok Ablak.

VBA kód: Hozza létre 3 vagy több oszlop összes kombinációját

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
Megjegyzések: A fenti kódban A2: A5, B2: B4, C2: C4 a használni kívánt adattartomány, E2 az a kimeneti cella, amelyen meg akarja találni az eredményeket. Ha több oszlop összes kombinációját meg szeretné kapni, kérjük, módosítsa és más paramétereket adjon hozzá a kódhoz.

3. Ezután nyomja meg a gombot F5 kulcs a kód futtatásához, és a 3 oszlop összes kombinációja egyszerre jön létre, lásd a képernyőképet:


Soroljon fel vagy generáljon minden lehetséges kombinációt több listából egy hatékony szolgáltatással

Ha több lista van, akkor fel kell sorolni az értékeket a lehetséges kombinációkra, talán nehéz módosítani a kódot. Itt egy hatékony eszközt tudok ajánlani - Kutools az Excel számára, praktikus funkciót tartalmaz Sorolja fel az összes kombinációt amely az adott adatlisták alapján gyorsan felsorolhatja az összes lehetséges kombinációt.

tippek:Ennek alkalmazásához Sorolja fel az összes kombinációt funkció, először is le kell töltenie a Kutools az Excel számára, majd gyorsan és egyszerűen alkalmazza a funkciót.

Telepítése után Kutools az Excel számára, kérjük, tegye a következőket:

1. Kattints Kutools > betétlap > Sorolja fel az összes kombinációt, lásd a képernyőképet:

2. Az Sorolja fel az összes kombinációt párbeszédpanelen hajtsa végre a műveleteket az alábbiakban bemutatott módon:

3. Ezután az összes megadott érték és elválasztó fel lett sorolva a párbeszédpanelen, lásd a képernyőképet:

4.Majd kattintson Ok gombra, és megjelenik egy felszólító mező, amely emlékezteti Önt, hogy válasszon egy cellát az eredmény kiadásához, lásd a képernyőképet:

5. Kattints OK, a megadott listák alapján az összes lehetséges kombinációt a munkalapra hoztuk létre, az alábbi képernyőkép szerint:

Kattintson a Kutools for Excel letöltése most!


Relatívabb cikkek:

  • Generáljon 3 vagy több oszlop összes kombinációját
  • Tételezzük fel, hogy 3 adatoszlopom van, most szeretném létrehozni vagy felsorolni az adatok összes kombinációját ebben a 3 oszlopban, az alábbi képernyőképen. Van valami jó módszere a feladat Excelben történő megoldására?
  • Keresse meg az összes kombinációt, amely megegyezik egy adott összeggel
  • Például a következő számlistám van, és most szeretném tudni, hogy a lista mely számkombinációi vannak 480-ig, a következő képernyőképen látható, hogy öt lehetséges kombinációcsoport van, amelyek összeadódnak 480-ig, például 300 + 60 + 120, 300 + 60 + 40 + 80 stb. Ebben a cikkben néhány módszerről fogok beszélni, hogy megtaláljuk, mely cellák összegeznek egy adott értéket az Excel-ben.
  • Létrehoz vagy felsorol minden lehetséges permutációt
  • Például három karakterem van XYZ, most szeretnék felsorolni az összes lehetséges permutációt e három karakter alapján, hogy hat különböző eredményt kapjak: XYZ, XZY, YXZ, YZX, ZXY és ZYX. Az Excelben hogyan lehetne gyorsan előállítani vagy felsorolni az összes permutációt a különböző karakterek száma alapján?

 


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-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 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 naponta 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 (42)
Az 5-t az 5-ből kiértékelte · 1 értékelés
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez egy zseniális formula! Fogalmam sincs, hogyan működik, de csak megváltoztatom az A és B oszlopot, hogy megfeleljenek a listáim hosszúságának, és a kimenetem a D1-ben legyen.
A weboldal moderátora ezt a megjegyzést minimalizálta
példa : az értéklistám 1,2,3,4,5,6......80 , azt szeretném, hogy a kutool megjelenítse egy 2 számkészlet összes kombinációját, példa: 1-2 , 1-3 , 1-4 , 1-5 , ..................79-80 . lehetséges ez a KUTOOL-al?
A weboldal moderátora ezt a megjegyzést minimalizálta
Van-e mód ennek a képletnek a működésére úgy, hogy a különféle kombinációkat továbbra is 2 különálló oszlopban, de egymás mellett állítja elő?
A weboldal moderátora ezt a megjegyzést minimalizálta
Volt szerencséd kitalálni, hogyan kell ezt csinálni? Pontosan ugyanezt próbálom megtenni, és az összes valószínűségemet 2 külön oszlopban szeretném feltüntetni az Excelben.
A weboldal moderátora ezt a megjegyzést minimalizálta
Volt már szerencséd ehhez? Ugyanezt próbálom megtenni, és az összes lehetséges kombinációt egymás mellett 2 különálló oszlopban szeretném megjeleníteni.
A weboldal moderátora ezt a megjegyzést minimalizálta
Megkaphatom-e a képletet egy 5*5-ös mátrix (5 sor és 5 oszlop) összes kombinációjához, amit megpróbáltam, de nem tudtam, kérem, segítsen.......
A weboldal moderátora ezt a megjegyzést minimalizálta
NAGYON SEGÍTSÉGES. Most már nagyon könnyen tudok kombinációkat generálni.
A weboldal moderátora ezt a megjegyzést minimalizálta
Hogyan használhatná a KuTools-t, vagy akár egy képletet, ha a Hónap fejléc összes permutációját szeretné. jan., jan. és febr., jan. és márc., jan. és márc., jan. és febr. és márc. stb
A weboldal moderátora ezt a megjegyzést minimalizálta
tudja valaki, hogyan lehet ezt úgy módosítani, hogy az adatok 6 oszlopát tükrözze, nem csak kettőt?
A weboldal moderátora ezt a megjegyzést minimalizálta
ugyanazt keresi. valaki tudja?
A weboldal moderátora ezt a megjegyzést minimalizálta
valaki tudja, hogyan lehet ezt módosítani, hogy 6 oszlopnyi adatot tükrözzen?
A weboldal moderátora ezt a megjegyzést minimalizálta
További oszlopokért:
A megfogalmazás első részét módosítani kell, hogy az összes lehetőséget megsokszorozza, például ez 6 oszlopra vonatkozik
COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9)
szóval hozzáteszed
*COUNTA (az Ön tartománya itt)
minden oszlophoz
A képlet második részét minden oszlophoz módosítani kell, így:
INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1)
szóval hozzáteszed
&INDEX(Az Ön TartományaItt,MOD(SORO()-SORA($I$2),COUNTA(Az Ön TartományaItt))+1)

Tehát tegye össze őket, és ezt a példát kapja 6 oszlopra:

=IF(ROW()-ROW($I$2)+1>COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9),"",INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1))

Ahova beilleszti ezt a képletet a $I$2-be, és a következőképpen néz ki: $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... egészen $F$2:$F$9-ig.
A weboldal moderátora ezt a megjegyzést minimalizálta
ez nem működik :( ennél bonyolultabb
A weboldal moderátora ezt a megjegyzést minimalizálta
További oszlopokért:
A megfogalmazás első részét módosítani kell, hogy az összes lehetőséget megsokszorozza, például ez 6 oszlopra vonatkozik:

COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9)
szóval hozzáteszed
*COUNTA (az Ön tartománya itt)
minden oszlophoz

A képlet második részét minden oszlophoz módosítani kell, így:

INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1)

szóval hozzáteszed

&INDEX(Az Ön TartományaItt,MOD(SORO()-SORA($I$2),COUNTA(Az Ön TartományaItt))+1)

Tehát tegye össze őket, és ezt a példát kapja 6 oszlopra:

=IF(ROW()-ROW($I$2)+1>COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9),"",INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1))

Ahova beilleszti ezt a képletet a $I$2-be, és a következőképpen néz ki: $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... egészen $F$2:$F$9-ig.
A weboldal moderátora ezt a megjegyzést minimalizálta
ez nem működik :( ennél bonyolultabb
A weboldal moderátora ezt a megjegyzést minimalizálta
Van valami ötleted, hogyan lehet szóközt hozzáadni a közé?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Eoin!
a cikkben szereplő képlet nem tud segíteni szóközt hozzáadni a cellaértékek közé, de alkalmazhatja a Kutools for Excel alkalmazást, és beírhat bármilyen határolót, ahogy el szeretné választani az egyesített eredményt, lásd a képernyőképet:
A weboldal moderátora ezt a megjegyzést minimalizálta
Hozzáadhat szóközt, ha a B oszlop indexelése előtt hozzáadja a " "& & a meglévő & után, így...

=IF(ROW()-ROW($D$1)+1>COUNTA($A$1:$A$4)*COUNTA($B$1:$B$3),"",INDEX($A$1:$A$4,INT((ROW()-ROW($D$1))/COUNTA($B$1:$B$3)+1))&" "&INDEX($B$1:$B$3,MOD(ROW()-ROW($D$1),COUNTA($B$1:$B$3))+1))


....vagy bármilyen más határoló, amit szeretsz!
A weboldal moderátora ezt a megjegyzést minimalizálta
A KuTools képes sorba rendezni a cellákat "egyszerű kombinációs" módon?
Mármint ha megvannak ezek az adatok:
_________________________
John Jack Paul Macy

Mark Larry

Jerry Paul Mary

Sam Jeff Peter Lucas
_________________________



És így szeretném kiadni őket:
___________
John Jack

János Pál

John Macy

Jack Paul

Jack Macy

Paul Macy

Mark Larry

Jerry Paul

Jerry Marry

Pál Mária

Sam Jeff

Sam Peter

Sam Lucas

Jeff Péter

Jeff Lucas

Peter Lucas
____________


Hogyan tudom ezt megtenni? Meg tudja csinálni a KuTools ilyet?

Köszönjük!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Arthur,
Sajnáljuk, a Kutools nem tud segíteni ennek a feladatnak a megoldásában, ahogy mondtad.
Köszönjük hozzászólását.
A weboldal moderátora ezt a megjegyzést minimalizálta
Valaki talált már ki egy képletet, amivel ezt megteheti 5 adathalmazra? Eddig el voltam döbbenve ezen.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Marco!
A Kutools segíthet a probléma gyors megoldásában, kérjük, ellenőrizze a következő képernyőképet:
Próbáld ki, remélem tud segíteni, köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia,
Érdeklődni szeretnék, ha 1,4 milliónál több kombinációt szeretnék generálni, és túllépem az Excel sorok korlátját?
Van mód arra, hogy a Kudos folytassa az iterációt a következő oszlopban?
A weboldal moderátora ezt a megjegyzést minimalizálta
Miért nem működött a képletem 25 kombináció létrehozásához az E oszlopban (5 elem az A oszlopból * 5 elem a B oszlopból)? Míg a cikkben szereplő képlet működött a D oszlopban, amikor 25 cellára húztam? Képernyőkép - https://prnt.sc/ihwr18
A weboldal moderátora ezt a megjegyzést minimalizálta
Hola me arroja una referencia circula la formula
=SI(FILA()-FILA($D$1)+1>(CONTARA($A$1:$A$4)*CONTARA($B$1:$B$3));"";INDICE($A$1:$A$4;RESIDUO((FILA()-FILA($D$1));COUNTA($B$1:$B$3)+1))
&INDICE($B$1:$B$3;RESIDUO(FILA()-FILA($D$1);CONTARA($B$1:$B$3))+1))
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, és ha ezek a kombinációk a szöveg helyett számok, hogyan tudom kiszámítani az eredményeket???? megpróbálom hozzáadni a "+"-t, de az Excel nem tudja, hogy ez a szimbólum.. hogyan oldod meg?
A weboldal moderátora ezt a megjegyzést minimalizálta
Kifejezéseket használtam és fantasztikusan működik, de most van egy problémám, ki kell számolnom az összeget, de az eredmény egy szöveg, beírok egy elválasztót ami a szimbólum +, de végül van egy szöveg és művelet során lehetetlen átalakítani.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szinte nagyon praktikus. Jó lenne, ha valóban azt használná, ami a cellában van ($A$1), és nem konvertálja a cellát szöveggé. Ezután beilleszthetem az A1-be, amire szükségem van, és újra lefuttathatom anélkül, hogy bármit is kellene módosítanom.
A weboldal moderátora ezt a megjegyzést minimalizálta
Van mód ennek txt fájlként történő kiadására? Ha több millió találat van a D oszlopban, nem éppen praktikus a kitöltő fogantyújának húzása.
Még senki sem írt megjegyzést
Több ingatlan
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi