KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come generare tutte le possibili combinazioni da una singola colonna in Excel?

AutoreXiaoyang Data di modifica

Esistono metodi rapidi per ottenere tutte le possibili combinazioni dai dati di una singola colonna, come mostrato nell’immagine seguente, direttamente in Excel?

Elenca tutte le possibili combinazioni da una singola colonna con formule

Elenca tutte le possibili combinazioni da una singola colonna con codice VBA


Elenca tutte le possibili combinazioni da una singola colonna con formule

Le seguenti formule matriciali possono aiutarti a svolgere questa attività; procedi passo dopo passo:

1. Innanzitutto, crea due celle con formule di supporto. Nella cella C1, inserisci la formula seguente e premi contemporaneamente i tasti Ctrl + Maiusc + Invio per ottenere il risultato:

=MAX(LEN(A2:A6))
Nota: In questa formula,A2:A6è l'elenco di celle di cui si desidera elencare le combinazioni.

crea la prima formula di supporto

2. Nella cella C2, inserisci la seguente formula e premi contemporaneamente Ctrl + Maiusc + Invio per ottenere il secondo risultato. Vedi screenshot:

=CONCAT(A2:A6&REPT(« »,C2-LEN(A2:A6)))
Nota: In questa formula,A2:A6è l'elenco di celle di cui si desidera elencare le combinazioni,C2è la cella contenente la formula creata al passaggio 1.

crea la seconda formula di supporto

3. Successivamente, copia e incolla la formula seguente nella cella D2 e premi contemporaneamente i tasti Ctrl + Maiusc + Invio per ottenere il primo risultato, vedi screenshot:

=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)),«»)))
Nota: In questa formula,A2:A6è l'elenco di celle di cui si desidera elencare le combinazioni,C2è la cella contenente la formula creata al passaggio 1,C3è la cella con la formula creata al passaggio 2; il carattere +è il separatore usato per distinguere le combinazioni e può essere modificato in base alle proprie esigenze.

inserisci una formula

4. Dopodiché, seleziona la cella con la formula e trascina il quadratino di riempimento verso il basso finché non compaiono celle vuote. Potrai così visualizzare tutte le combinazioni dei dati della colonna specificata, come mostrato nella demo seguente:

Nota: Questa formula è disponibile solo in Office 2019, 365 e versioni successive.
uno screenshot di kutools for excel ai

Sblocca la magia di Excel con KUTOOLS AI

  • Esecuzione intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto con comandi semplici e intuitivi.
  • Formule personalizzate: crea formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA in modo semplice e immediato.
  • Interpretazione delle formule: Comprendi con facilità anche le formule più complesse.
  • Traduzione del testo: Superate le barriere linguistiche direttamente nei vostri fogli di calcolo.
Potenzia le tue capacità in Excel con strumenti basati sull’intelligenza artificiale.Scarica orae scopri un’efficienza mai provata prima!

Elenca tutte le possibili combinazioni da una singola colonna con codice VBA

Le formule indicate sopra sono disponibili solo nelle versioni più recenti di Excel. Se utilizzi una versione precedente, il seguente codice VBA potrà esserti d’aiuto.

1. Premi contemporaneamente i tasti Alt + F11 per aprire la finestra di Microsoft Visual Basic for Applications.

2. Quindi, fai clic su Inserisci > Modulo, quindi copia e incolla il seguente codice VBA nella finestra.

Codice VBA: Elenca tutte le possibili combinazioni da una singola colonna

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
Nota: Nel codice sopra indicato:
  • A2:A6: è l'elenco di dati che si desidera utilizzare;
  • C1: è la cella di output;
  • ,: il delimitatore per separare le combinazioni.

3. Premi quindi il tasto F5 per eseguire questo codice. Tutte le combinazioni provenienti dalla singola colonna verranno elencate come mostrato nello screenshot seguente:

codice VBA per ottenere tutte le combinazioni dalla singola colonna

Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi