Salt la conținutul principal

Cum să enumerați toate combinațiile posibile dintr-o singură coloană în Excel?

Autor: Xiaoyang Ultima modificare: 2024-11-13

Dacă doriți să returnați toate combinațiile posibile din datele dintr-o singură coloană pentru a obține rezultatul așa cum se arată în captura de ecran de mai jos, aveți vreo modalitate rapidă de a face față acestei sarcini în Excel?

Listați toate combinațiile posibile dintr-o singură coloană cu formule

Listați toate combinațiile posibile dintr-o singură coloană cu cod VBA


Listați toate combinațiile posibile dintr-o singură coloană cu formule

Următoarele formule matrice vă pot ajuta să realizați această sarcină, vă rugăm să faceți pas cu pas:

1. În primul rând, ar trebui să creați două celule de formulă de ajutor. În celula C1, introduceți formula de mai jos și apăsați Ctrl + Shift + Enter chei pentru a obține rezultatul:

=MAX(LEN(A2:A6))
notițe: În această formulă, A2: A6 este lista de celule pe care doriți să le listați combinațiile.

creați prima formulă de ajutor

2. În celula C2, introduceți următoarea formulă și apăsați Ctrl + Shift + Enter tastele împreună pentru a obține al doilea rezultat, vedeți captura de ecran:

=CONCAT(A2:A6&REPT(" ",C2-LEN(A2:A6)))
notițe: În această formulă, A2: A6 este lista de celule pe care doriți să le listați combinațiile, C2 este celula conține formula pe care ați creat-o la pasul 1.

creați a doua formulă de ajutor

3. Apoi, copiați și lipiți următoarea formulă în celula D2 și apăsați Ctrl + Shift + Enter tastele împreună pentru a obține primul rezultat, vezi captura de ecran:

=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)),"")))
notițe: În această formulă, A2: A6 este lista de celule pe care doriți să le listați combinațiile, C2 celula conține formula pe care ați creat-o la pasul 1, C3 este celula cu formula pe care ați creat-o la pasul 2, the + caracterul este separatorul pentru a separa combinațiile, le puteți schimba după cum aveți nevoie.

introduceți o formulă

4. Apoi, selectați această celulă de formulă și trageți mânerul de umplere în jos până când apar celule goale. Acum, puteți vedea că toate combinațiile de date ale coloanei specificate sunt afișate așa cum se arată mai jos:

notițe: Această formulă este disponibilă numai în Office 2019, 365 și versiunea ulterioară.
o captură de ecran cu kutools pentru excel ai

Deblocați Excel Magic cu Kutools AI

  • Execuție inteligentă: Efectuați operații cu celule, analizați date și creați diagrame, toate conduse de comenzi simple.
  • Formule personalizate: generați formule personalizate pentru a vă simplifica fluxurile de lucru.
  • Codare VBA: Scrieți și implementați codul VBA fără efort.
  • Interpretarea formulei: Înțelegeți cu ușurință formulele complexe.
  • Traducere text: spargeți barierele lingvistice din foile de calcul.
Îmbunătățiți-vă capabilitățile Excel cu instrumente bazate pe inteligență artificială. Descarcă acum și experimentați eficiența ca niciodată!

Listați toate combinațiile posibile dintr-o singură coloană cu cod VBA

Formulele de mai sus sunt disponibile numai pentru versiunile mai noi de Excel, dacă aveți versiuni anterioare de Excel, următorul cod VBA vă poate face o favoare.

1. presa Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Apoi apasa Insera > Module, copiați și inserați codul VBA de mai jos în fereastră.

Cod VBA: enumerați toate combinațiile posibile dintr-o singură coloană

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
notițe: În codul de mai sus:
  • A2: A6: este lista de date pe care doriți să le utilizați;
  • C1: este celula de ieșire;
  • ,: delimitatorul pentru a separa combinațiile.

3. Și apoi, apăsați F5 tasta pentru a executa acest cod. Toate combinațiile dintr-o singură coloană sunt listate după cum se arată mai jos:

cod vba pentru a obține toate combinațiile dintr-o singură coloană

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!