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

Sut i gynhyrchu pob cyfuniad o 3 neu fwy o golofnau yn Excel?

Gan dybio, mae gen i 3 colofn o ddata, nawr, rydw i eisiau cynhyrchu neu restru'r holl gyfuniadau o'r data yn y 3 colofn hyn fel y dangosir isod. A oes gennych unrhyw ddulliau da ar gyfer datrys y dasg hon yn Excel?

Cynhyrchu pob cyfuniad yn seiliedig ar 3 colofn o ddata trwy ddefnyddio fformiwla

Cynhyrchu pob cyfuniad yn seiliedig ar 3 neu sawl colofn o ddata trwy ddefnyddio cod VBA

Cynhyrchu pob cyfuniad yn seiliedig ar 3 neu sawl colofn o ddata trwy ddefnyddio nodwedd anhygoel


Cynhyrchu pob cyfuniad yn seiliedig ar 3 colofn o ddata trwy ddefnyddio fformiwla

Gall y fformiwla hir ganlynol helpu i restru'r holl gyfuniadau o 3 colofn, gwnewch fel hyn:

1. Os gwelwch yn dda, cliciwch cell lle i allbwn y canlyniad, ac yna copïwch a gludwch y fformiwla isod i mewn iddi:

=IFERROR(INDEX($A$2:$A$4,INT((ROW(1:1)-1)/((COUNTA($B$2:$B$6)*(COUNTA($C$2:$C$5)))))+1)&"-"&INDEX($B$2:$B$6,MOD(INT((ROW(1:1)-1)/COUNTA($C$2:$C$5)),COUNTA($B$2:$B$6))+1)&"-"&INDEX($C$2:$C$5,MOD((ROW(1:1)-1),COUNTA($C$2:$C$5))+1),"")

Nodyn: Yn y fformiwla hon: A2: A4, B2: B6, C2: C5 yw'r ystodau data rydych chi am eu defnyddio.

2. Yna, llusgwch y ddolen llenwi i lawr i'r celloedd nes bod celloedd gwag yn cael eu harddangos, mae hynny'n golygu bod pob cyfuniad o'r 3 colofn wedi'u rhestru, gweler y screenshot:


Cynhyrchu pob cyfuniad yn seiliedig ar 3 neu sawl colofn o ddata trwy ddefnyddio cod VBA

Mae'r fformiwla hir uchod ychydig yn anodd ei defnyddio, os oes sawl colofn y mae angen i ddata ei defnyddio, bydd yn drafferthus i'w haddasu. Yma, byddaf yn cyflwyno cod VBA i ddelio ag ef yn gyflym.

1. Daliwch i lawr y ALT + F11 allweddi i agor y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.

2. Cliciwch Mewnosod > Modiwlau, a gludwch y cod canlynol yn y Ffenestr Modiwl.

Cod VBA: Cynhyrchu pob cyfuniad o 3 neu fwy o golofnau

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

Nodyn: Yn y cod uchod, A2: A4, B2: B6, C2: C5 yw'r ystod ddata rydych chi am ei defnyddio, E2 yw'r gell allbwn rydych chi am ddod o hyd i'r canlyniadau. Os ydych chi am gael pob cyfuniad o fwy o golofnau, newidiwch ac ychwanegwch baramedrau eraill i'r cod fel eich angen.

3. Yna, pwyswch F5 allwedd i redeg y cod hwn, a chynhyrchir pob cyfuniad o'r 3 colofn neu luosog ar unwaith, gweler y screenshot:


Cynhyrchu pob cyfuniad yn seiliedig ar 3 neu sawl colofn o ddata trwy ddefnyddio nodwedd anhygoel

Os oes gennych Kutools ar gyfer Excel, gyda'i bwerus Rhestrwch Pob Cyfuniad nodwedd, gallwch chi restru'r holl gyfuniadau o golofnau lluosog yn gyflym ac yn hawdd.

Awgrymiadau:I gymhwyso hyn Rhestrwch Pob Cyfuniad nodwedd, yn gyntaf, dylech lawrlwytho'r Kutools ar gyfer Excel, ac yna cymhwyswch y nodwedd yn gyflym ac yn hawdd.

Ar ôl gosod Kutools ar gyfer Excel, gwnewch fel hyn:

1. Cliciwch Kutools > Mewnosod > Rhestrwch Pob Cyfuniad, gweler y screenshot:

2. Yn y Rhestrwch Pob Cyfuniad blwch deialog, nodwch ddata'r colofnau a'r gwahanyddion ar gyfer rhestru'r cyfuniadau fel y llun a ddangosir isod:

3. Ar ôl gosod y data a'r gwahanydd, yna, cliciwch Ok botwm, yn y blwch prydlon nesaf, dewiswch gell i ddod o hyd i'r canlyniad, gweler y screenshot:

4. Ac yna, cliciwch OK botwm, cynhyrchwyd yr holl gyfuniadau ar unwaith fel isod dangosir y llun:

Cliciwch i Lawrlwytho Kutools ar gyfer Excel a threial am ddim Nawr!



  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau a Cadw Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi Dyblyg a Swm / Cyfartaledd... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Fformiwlâu Hoff a Mewnosod yn Gyflym, Meysydd, Siartiau a Lluniau; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Grwpio Tabl Pivot yn ôl rhif wythnos, diwrnod o'r wythnos a mwy ... Dangos Celloedd Datgloi, wedi'u Cloi yn ôl gwahanol liwiau; Amlygu Celloedd sydd â Fformiwla / Enw...
tab kte 201905
  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
gwaelod officetab
sylwadau (15)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
I gynhyrchu unrhyw gyfuniad ar hap y gallwn ei ddefnyddio
=INDEX($A$2:$A$4,RANDBETWEEN(1,3))&"-"&INDEX($B$2:$B$6,RANDBETWEEN(1,5))&"-"&INDEX($C$2:$C$5,RANDBETWEEN(1,4))
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch yn fawr am rannu'r post hwn. Diolch yn fawr i @Balaji am ei fformiwla
Lleihawyd y sylw hwn gan y safonwr ar y wefan
NI ALLAF DDIOLCH YN DDIGONOL! ARBEDWYD CYMAINT O AMSER I MI!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Sut i wneud o dan y fformiwla ar gyfer 5 colofn? Ceisio at chyfrif i maes ond ei rhoi gwall
=IFERROR(INDEX($A$2:$A$4,INT((ROW(1:1)-1)/((COUNTA($B$2:$B$6)*(COUNTA($C$2:$C$5)))))+1)&"-"&INDEX($B$2:$B$6,MOD(INT((ROW(1:1)-1)/COUNTA($C$2:$C$5)),COUNTA($B$2:$B$6))+1)&"-"&INDEX($C$2:$C$5,MOD((ROW(1:1)-1),COUNTA($C$2:$C$5))+1),"")
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, Nikhil,Ar gyfer cael pob cyfuniad o 5 colofn, efallai y bydd y cod VBA isod yn gallu eich helpu chi, newidiwch y cyfeiriadau cell i'ch data.
Is-restrYr holl Gyfuniadau()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3, xDRg4, xDRg5 Fel Ystod
Dim xRg Fel Ystod
Dim xStr Fel Llinyn
Dim xFN1, xFN2, xFN3, xFN4, xFN5 Fel Cyfanrif
Dim xSV1, xSV2, xSV3, xSV4, xSV5 Fel Llinynnol
Gosod xDRg1 = Ystod ("A2:A7") 'Data colofn gyntaf
Gosod xDRg2 = Ystod ("B2:B7") 'Data ail golofn
Gosod xDRg3 = Ystod ("C2:C7") 'Data trydedd golofn
Gosod xDRg4 = Ystod ("D2:D7") 'Data'r bedwaredd golofn
Gosod xDRg5 = Ystod ("E2:E7") 'Data pumed colofn
xStr = " -" ' Gwahanydd
Gosod xRg = Ystod ("H2") 'Cell allbwn
Ar gyfer xFN1 = 1 I xDRg1.Count
xsv1 = xdrg1.item (xfn1) .text
Ar gyfer xFN2 = 1 I xDRg2.Count
xsv2 = xdrg2.item (xfn2) .text
Ar gyfer xFN3 = 1 I xDRg3.Count
xsv3 = xdrg3.item (xfn3) .text
Ar gyfer xFN4 = 1 I xDRg4.Count
xsv4 = xdrg4.item (xfn4) .text
Ar gyfer xFN5 = 1 I xDRg5.Count
xsv5 = xdrg5.item (xfn5) .text
xRg.Value=xSV1&xStr&xSV2&xStr&xSV3&xStr&xSV4&xStr&xSV5
Gosod xRg = xRg.Offset(1, 0)
Digwyddiadau
Digwyddiadau
Digwyddiadau
Digwyddiadau
Digwyddiadau
Diwedd SubPlease Ceisiwch, gobeithio y gall eich helpu!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo skyyang, newidiais y cod ar gyfer 7 rholiau, ond dim ond 1,048,576 o resi sydd gan Excel, ni all y cod VBA roi'r holl gyfuniadau. Oes gennych chi syniad sut y gallaf barhau ar golofnau eraill? Rwy'n meddwl bod angen newid y cod hwn - Set xRg = xRg.Offset(1, 0)
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo skyyang, newidiais y cod ar gyfer 7 rholiau, ond dim ond 1,048,576 o resi sydd gan Excel, ni all y cod VBA roi'r holl gyfuniadau.
Oes gennych chi syniad sut y gallaf barhau ar golofnau eraill?
Rwy'n meddwl bod y cod hwn - Gosod xRg = xRg.Offset(1, 0)
angen newid 
Lleihawyd y sylw hwn gan y safonwr ar y wefan
=IFERROR(INDEX($A$2:$A$5,INT((ROW(1:1)-1)/((COUNTA($B$2:$B$3)*(COUNTA($C$2:$C$3)* (COUNTA($D$2:$D$4)* (COUNTA($E$2:$E$6)* (COUNTA($H$2:$H$6)* (COUNTA($G$2:$G$6)* (COUNTA($H$2:$H$6))))))))))+1)&"-"&INDEX($B$2:$B$3,MOD(INT((ROW(1:1)-1)/COUNTA($C$2:$C$3)),COUNTA($B$2:$B$3))+1)&"-" &INDEX($C$2:$C$3,MOD(INT((ROW(1:1)-1)/COUNTA($D$2:$D$4)),COUNTA($C$2:$C$3))+1)&"-" &INDEX($D$2:$D$4,MOD(INT((ROW(1:1)-1)/COUNTA($E$2:$E$6)),COUNTA($D$2:$D$4))+1)&"-" &INDEX($E$2:$E$6,MOD(INT((ROW(1:1)-1)/COUNTA($F$2:$F$6)),COUNTA($E$2:$E$6))+1)&"-" &INDEX($F$2:$F$6,MOD(INT((ROW(1:1)-1)/COUNTA($G$2:$G$6)),COUNTA($F$2:$F$6))+1)&"-" &INDEX($G$2:$G$6,MOD(INT((ROW(1:1)-1)/COUNTA($H$2:$H$6)),COUNTA($G$2:$G$6))+1)&"-"&INDEX($H$2:$H$6,MOD((ROW(1:1)-1),COUNTA($H$2:$H$6))+1),"")
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae angen y fformiwla hon arnaf ar gyfer 4 colofn
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch yn fawr iawn. Yn union beth sydd ei angen arnaf :-)))
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch yn fawr iawn am y cod hwn. Rwyf wedi addasu'r cod ar gyfer swm y golofn sydd ei angen arnaf (25). Diolch,
Lleihawyd y sylw hwn gan y safonwr ar y wefan
HiIn cod VBA defnyddiais bedair colofn ac ystod y golofn yw E2:E75, B2:B267, C2:C195 a D2:D267. Yr ystod allosod yw J2. Yn yr achos hwn roedd y canlyniad a roddwyd allan yn fwy na'r terfyn rhes. Helpwch i ddatrys y gwall
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Felly dyma god ar gyfer 9 colofn :')
Is-restrYr holl Gyfuniadau()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3, xDRg4, xDRg5, xDRg6, xDRg7, xDRg8, xDRg9 Fel Ystod
Dim xRg Fel Ystod
Dim xStr Fel Llinyn
Dim xFN1, xFN2, xFN3, xFN4, xFN5, xFN6, xFN7, xFN8, xFN9 Fel Cyfanrif
Dim xSV1, xSV2, xSV3, xSV4, xSV5, xSV6, xSV7, xSV8, xSV9 Fel Llinyn
Gosod xDRg1 = Ystod ("A2:A3") 'Data colofn gyntaf
Gosod xDRg2 = Ystod ("B2:B3") 'Data ail golofn
Gosod xDRg3 = Ystod ("C2:C10") 'Data trydedd golofn
Gosod xDRg4 = Ystod ("D2:D2") 'Data trydedd golofn
Gosod xDRg5 = Ystod ("E2:E3") 'Data trydedd golofn
Gosod xDRg6 = Ystod ("F2:F3") 'Data trydedd golofn
Gosod xDRg7 = Ystod ("G2:G4") 'Data trydedd golofn
Gosod xDRg8 = Ystod ("H2:H3") 'Data trydedd golofn
Gosod xDRg9 = Ystod ("I2:I3") 'Data trydedd golofn
xStr = " -" ' Gwahanydd
Gosod xRg = Ystod ("K2") 'Cell allbwn
Ar gyfer xFN1 = 1 I xDRg1.Count
xsv1 = xdrg1.item (xfn1) .text
Ar gyfer xFN2 = 1 I xDRg2.Count
xsv2 = xdrg2.item (xfn2) .text
Ar gyfer xFN3 = 1 I xDRg3.Count
xsv3 = xdrg3.item (xfn3) .text
Ar gyfer xFN4 = 1 I xDRg4.Count
xsv4 = xdrg4.item (xfn4) .text
Ar gyfer xFN5 = 1 I xDRg5.Count
xsv5 = xdrg5.item (xfn5) .text
Ar gyfer xFN6 = 1 I xDRg6.Count
xsv6 = xdrg6.item (xfn6) .text
Ar gyfer xFN7 = 1 I xDRg7.Count
xsv7 = xdrg7.item (xfn7) .text
Ar gyfer xFN8 = 1 I xDRg8.Count
xsv8 = xdrg8.item (xfn8) .text
Ar gyfer xFN9 = 1 I xDRg9.Count
xsv9 = xdrg9.item (xfn9) .text
xRg.Value=xSV1&xStr&xSV2&xStr&xSV3&xStr&xSV4&xStr&xSV5&xStr&xSV6&xStr&xSV7&xStr&xSV8&xStr&xSV9
Gosod xRg = xRg.Offset(1, 0)
Digwyddiadau
Digwyddiadau
Digwyddiadau
Digwyddiadau
Digwyddiadau
Digwyddiadau
Digwyddiadau
Digwyddiadau
Digwyddiadau
Is-End
Lleihawyd y sylw hwn gan y safonwr ar y wefan
조합의 나열을 "단어-단어-단어" 순으로나열하는법은 이해했습니다.
그런데 “단어”가 아니라 숫자일 경우,
즉숫자의조합을단순나열이아닌 덧셈이나 곱셈으로 적용하려면 튕짌짌닌

'VBA 코드 : 3 개 또는 여러 열의 모든 조합생성’ 에서 말이죠.

"1-1-1" 로 엑셀에 결과 값이 표기되는 것이 아니고

-1 로엑셀에 표기될수있게 말입니다.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Bonjour, sylw faire tour que chaque valeurs placées soile dans une colonne distincte en non séparées par un teiar?
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir