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

Hvordan liste eller generere alle mulige kombinationer i Excel?

Lad os sige, jeg har følgende to kolonner med data, og nu vil jeg generere en liste over alle mulige kombinationer baseret på de to værdilister som vist i venstre skærmbillede. Måske kan du liste alle kombinationerne en efter en, hvis der er få værdier, men hvis der er flere kolonner med flere værdier, der er nødvendige for at blive vist de mulige kombinationer, her er nogle hurtige tricks, der kan hjælpe dig med at håndtere dette problem i Excel .

Liste eller generer alle mulige kombinationer fra to lister med formel

Liste eller generer alle mulige kombinationer fra tre eller flere lister med VBA-kode

Liste eller generer alle mulige kombinationer fra flere lister med en kraftfuld funktion


Liste eller generer alle mulige kombinationer fra to lister med formel

Den følgende lange formel kan hjælpe dig med at liste alle mulige kombinationer af to lister værdier hurtigt, gør venligst som følger:

1. Indtast eller kopier nedenstående formel i en tom celle, i dette tilfælde vil jeg indtaste den i celle D2 og derefter trykke på Indtast nøgle for at få resultatet, se skærmbillede:

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

Bemærk: I ovenstående formel $ A $ 2: $ A $ 5 er området for de første kolonneværdier, og $ B $ 2: $ B $ 4 er rækkevidden for de anden listeværdier, som du vil liste med alle deres mulige kombinationer, $ D $ 2 er den celle, du har sat formlen, kan du ændre cellehenvisningerne til dit behov.

2. Vælg derefter celle D2, og træk påfyldningshåndtaget ned til cellerne, indtil du får de tomme celler, og alle de mulige kombinationer er angivet baseret på de to listerværdier. Se skærmbillede:


Liste eller generer alle mulige kombinationer fra tre eller flere lister med VBA-kode

Måske er ovenstående formel noget vanskeligt for dig at anvende, hvis der er flere kolonnedata, vil det være besværligt at ændre. Her vil jeg introducere en VBA-kode for at håndtere det hurtigt.

1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.

VBA-kode: Generer alle kombinationer af 3 eller flere kolonner

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
Bemærk: I ovenstående kode, A2: A5, B2: B4, C2: C4 er det dataområde, du vil bruge, E2 er den outputcelle, som du vil finde resultaterne. Hvis du ønsker at få alle kombinationer af flere kolonner, skal du ændre og tilføje andre parametre til koden efter behov.

3. Tryk derefter på F5 nøgle til at køre denne kode, og alle kombinationer af de 3 kolonner genereres på én gang, se skærmbillede:


Liste eller generer alle mulige kombinationer fra flere lister med en kraftfuld funktion

Hvis der er flere lister, skal der vises en liste over de mulige kombinationer, måske er det svært for dig at ændre koden. Her kan jeg anbefale et stærkt værktøj - Kutools til Excel, den indeholder en praktisk funktion Liste over alle kombinationer som hurtigt kan liste alle mulige kombinationer baseret på givne datalister.

Tips:At anvende dette Liste over alle kombinationer funktion, for det første skal du downloade Kutools til Excel, og anvend derefter funktionen hurtigt og nemt.

Efter installation Kutools til Excelskal du gøre som dette:

1. Klik Kutools > indsatte > Liste over alle kombinationer, se skærmbillede:

2. I Liste over alle kombinationer dialogboksen, skal du udføre handlingerne som vist nedenfor:

3. Derefter er alle de angivne værdier og separatorer blevet vist i dialogboksen, se skærmbillede:

4.Klik derefter på Ok knap, og en promptboks vil dukke op for at minde dig om at vælge en celle for at output resultatet, se skærmbillede:

5. Klik OK, er alle de mulige kombinationer baseret på de givne lister genereret i regnearket som vist på følgende skærmbillede:

Klik for at downloade Kutools til Excel nu!


Flere relative artikler:

  • Generer alle kombinationer af 3 eller flere kolonner
  • Antag, jeg har 3 kolonner med data, nu vil jeg generere eller liste alle kombinationer af dataene i disse 3 kolonner som vist nedenstående skærmbillede. Har du gode metoder til at løse denne opgave i Excel?
  • Find alle kombinationer, der svarer til et givet beløb
  • For eksempel har jeg følgende liste over numre, og nu vil jeg vide, hvilken kombination af tal på listen der er summen op til 480, i det følgende viste skærmbillede kan du se, at der er fem grupper af mulige kombinationer, der tilsammen er til 480, såsom 300 + 60 + 120, 300 + 60 + 40 + 80 osv. Denne artikel vil jeg tale om nogle metoder til at finde ud af, hvilke celler der summeres til en bestemt værdi i Excel.
  • Generer eller anfør alle mulige permutationer
  • For eksempel har jeg tre tegn XYZ, nu vil jeg liste alle mulige permutationer baseret på disse tre tegn for at få seks forskellige resultater som dette: XYZ, XZY, YXZ, YZX, ZXY og ZYX. Hvordan kunne du i Excel hurtigt generere eller liste alle permutationer baseret på forskellige antal tegn?
  • Generer en liste over alle mulige kombinationer med 4 cifre
  • I nogle tilfælde er vi muligvis nødt til at generere en liste over alle mulige 4-cifrede kombinationer af nummer 0 til 9, hvilket betyder at generere en liste med 0000, 0001, 0002… 9999. For hurtigt at løse listeopgaven i Excel introducerer jeg nogle tricks til dig.

 


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund

 

Sorter kommentarer efter
Kommentarer (42)
Bedømt 5 ud af 5 · 1 vurderinger
Denne kommentar blev minimeret af moderatoren på webstedet
Dette er en genial formel! Jeg har ingen anelse om, hvordan det virker, men jeg ændrer bare kolonne A og B for at matche, hvor lange mine lister er, og har mit output i D1.
Denne kommentar blev minimeret af moderatoren på webstedet
eksempel: min liste over værdier er 1,2,3,4,5,6......80, jeg vil have kutool til at vise alle kombinationer af et sæt af 2 tal, eksempel: 1-2, 1-3, 1-4, 1-5, ...................79-80. er dette muligt med KUTOOL?
Denne kommentar blev minimeret af moderatoren på webstedet
Er der en måde at få denne formel til at fungere, hvor den producerer de forskellige kombinationer, der stadig er adskilt i 2 separate kolonner, men støder op til hinanden?
Denne kommentar blev minimeret af moderatoren på webstedet
Har du haft held med at finde ud af, hvordan du gør dette? Jeg forsøger at gøre nøjagtig det samme og har alle mine sandsynligheder i 2 separate kolonner i excel.
Denne kommentar blev minimeret af moderatoren på webstedet
Har du haft held med dette endnu? Jeg prøver at gøre det samme og har alle de mulige kombinationer ved siden af ​​hinanden i to separate kolonner.
Denne kommentar blev minimeret af moderatoren på webstedet
Kan jeg få formlen for alle kombinationerne af en 5*5 matrix (5 rækker og 5 kolonner) Jeg prøvede, men kunne ikke få hjælp mig.......
Denne kommentar blev minimeret af moderatoren på webstedet
MEGET HJÆLP. Jeg er nu i stand til at generere kombinationer meget nemt.
Denne kommentar blev minimeret af moderatoren på webstedet
Hvordan kunne du bruge KuTools, eller endda en formel, hvis du ville have alle permutationerne i månedens overskrift. Jan, Jan og Feb, Jan og Mar, Jan og Mar, Jan og Feb og Mar, osv osv
Denne kommentar blev minimeret af moderatoren på webstedet
nogen der ved, hvordan man ændrer dette, så det afspejler 6 kolonner med data i stedet for kun to?
Denne kommentar blev minimeret af moderatoren på webstedet
leder efter det samme. nogen ved det?
Denne kommentar blev minimeret af moderatoren på webstedet
nogen der ved, hvordan man ændrer dette til at afspejle 6 kolonner med data?
Denne kommentar blev minimeret af moderatoren på webstedet
For flere kolonner:
Den første del af formuleringen skal modificeres for at gange alle mulighederne, for eksempel ville dette være for 6 kolonner
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)
så du tilføjer
*COUNTA(YourRangeHere)
for hver kolonne
Den anden del af formlen skal også ændres for hver kolonne som sådan:
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)
så du tilføjer
&INDEX(YourRangeHere,MOD(ROW()-ROW($I$2),COUNTA(YourRangeHere))+1)

Så sæt dem alle sammen, og du får dette eksempel for 6 kolonner:

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

Hvor du ville indsætte denne formel i $I$2, og den ville se på $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... op til $F$2:$F$9
Denne kommentar blev minimeret af moderatoren på webstedet
dette virker ikke :(mere kompliceret end dette
Denne kommentar blev minimeret af moderatoren på webstedet
For flere kolonner:
Den første del af formuleringen skal ændres for at gange alle mulighederne, for eksempel ville dette være for 6 kolonner:

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)
så du tilføjer
*COUNTA(YourRangeHere)
for hver kolonne

Den anden del af formlen skal også ændres for hver kolonne som sådan:

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)

så du tilføjer

&INDEX(YourRangeHere,MOD(ROW()-ROW($I$2),COUNTA(YourRangeHere))+1)

Så sæt dem alle sammen, og du får dette eksempel for 6 kolonner:

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

Hvor du ville indsætte denne formel i $I$2, og den ville se på $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... op til $F$2:$F$9
Denne kommentar blev minimeret af moderatoren på webstedet
dette virker ikke :( mere kompliceret end dette
Denne kommentar blev minimeret af moderatoren på webstedet
Har du nogen idé om, hvordan man tilføjer et mellemrum imellem?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Eoin,
formlen i denne artikel kan ikke hjælpe dig med at tilføje et mellemrum mellem celleværdierne, men du kan anvende Kutools til Excel, med det kan du skrive et hvilket som helst skilletegn, som du vil adskille det kombinerede resultat, se skærmbillede:
Denne kommentar blev minimeret af moderatoren på webstedet
Du kan tilføje et mellemrum ved at tilføje " "& før du indekserer kolonne B, lige efter det eksisterende &, som sådan.....

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


....eller enhver anden afgrænsning du kan lide!
Denne kommentar blev minimeret af moderatoren på webstedet
Er KuTools i stand til at sortere celler i en række på en "simpel kombination" måde?
Jeg mener, hvis jeg har disse data:
_________________________
John Jack Paul Macy

Mark Larry

Jerry Paul Mary

Sam Jeff Peter Lucas
_________________________



Og jeg vil udskrive dem sådan her:
___________
John Jack

John Paul

John Macy

Jack Paul

Jack Macy

Paul Macy

Mark Larry

Jerry Paul

Jerry Marry

Paul Mary

Sam Jeff

Sam Peter

Sam Lucas

Jeff Peter

Jeff Lucas

Peter Lucas
____________


Hvordan kan jeg gøre dette? Kan KuTools gøre sådan noget?

Tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Arthur,
Beklager, Kutools kan ikke hjælpe dig med at løse dette job, som du sagde.
Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
Har nogen fundet ud af en formel endnu for at gøre dette for 5 sæt data? Jeg har været chokeret over det her indtil videre.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Marco,
Kutools kan hjælpe dig med at løse dit problem hurtigt, tjek venligst følgende skærmbillede:
Prøv det, håber det kan hjælpe dig, tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
Jeg vil gerne vide, hvad jeg skal gøre, hvis jeg vil generere mere end 1,4 millioner kombinationer, og jeg overskrider grænsen for Excel-rækker?
Er der en måde at få Kudos til at fortsætte sin iteration i næste kolonne?
Denne kommentar blev minimeret af moderatoren på webstedet
Hvorfor virkede min formel ikke til at oprette 25 kombinationer i kolonne E (5 elementer fra kolonne A * 5 elementer fra kolonne B)? Hvorimod formlen i denne artikel fungerede i kolonne D, da jeg trak den til 25 celler? Skærmbillede - https://prnt.sc/ihwr18
Denne kommentar blev minimeret af moderatoren på webstedet
Godt for mig, der refererer til en formel
=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))
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, og hvis disse kombinationer intead tekst er tal, hvordan kan jeg lave beregningen for resultaterne???? Jeg prøver at tilføje "+", men excel ved ikke, det er simbolen .. hvordan løser du dette?
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg brugte exditionerne og fungerer fantastisk, men nu har jeg et problem, jeg skal beregne summen, men resultatet er en tekst,, jeg indtaster en separator, der er symbolet +, men endelig har jeg en tekst og er umuligt at konvertere i en operation.
Denne kommentar blev minimeret af moderatoren på webstedet
Næsten meget praktisk. Det ville være godt, hvis det rent faktisk brugte hvad der er i cellen ($A$1) og ikke konverterer cellen til tekst. Så kunne jeg bare indsætte det jeg skal bruge i A1 og køre det igen uden at skulle ændre noget.
Denne kommentar blev minimeret af moderatoren på webstedet
Er der en måde at udskrive dette som en txt-fil? Når du har millioner af resultater i D-kolonnen, er det ikke ligefrem praktisk at trække i udfyldningshåndtaget.
Der er endnu ingen kommentarer her
Load More
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL