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

Come elencare o generare tutte le possibili combinazioni in Excel?

Diciamo che ho le seguenti due colonne di dati e ora voglio generare un elenco di tutte le possibili combinazioni in base ai due elenchi di valori come mostrato nell'immagine a sinistra. Forse, puoi elencare tutte le combinazioni una per una se ci sono pochi valori, ma, se ci sono diverse colonne con più valori necessari per elencare le possibili combinazioni, ecco alcuni trucchi rapidi che possono aiutarti ad affrontare questo problema in Excel .

Elenca o genera tutte le possibili combinazioni da due elenchi con formula

Elenca o genera tutte le possibili combinazioni da tre o più elenchi con codice VBA

Elenca o genera tutte le possibili combinazioni da più elenchi con una potente funzionalità


Elenca o genera tutte le possibili combinazioni da due elenchi con formula

La seguente formula lunga può aiutarti a elencare rapidamente tutte le possibili combinazioni di due valori di elenchi, per favore fai come segue:

1. Inserisci o copia la formula seguente in una cella vuota, in questo caso la inserirò nella cella D2, quindi premerò Entra tasto per ottenere il risultato, vedi screenshot:

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

Note:: Nella formula sopra, $ A $ 2: $ A $ 5 è l'intervallo dei valori della prima colonna e $ B $ 2: $ B $ 4 è l'intervallo dei valori della seconda lista di cui vuoi elencare tutte le loro possibili combinazioni, il $ D $ 2 è la cella in cui metti la formula, puoi modificare i riferimenti di cella secondo le tue necessità.

2. Quindi seleziona la cella D2 e ​​trascina il quadratino di riempimento verso il basso sulle celle fino a ottenere le celle vuote e tutte le possibili combinazioni sono state elencate in base ai valori dei due elenchi. Vedi screenshot:


Elenca o genera tutte le possibili combinazioni da tre o più elenchi con codice VBA

Forse la formula sopra è un po 'difficile da applicare, se ci sono più colonne di dati, sarà problematico modificarlo. Qui, introdurrò un codice VBA per affrontarlo rapidamente.

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla il codice seguente nel file Modulo Finestra.

Codice VBA: genera tutte le combinazioni di 3 o più colonne

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
Note:: Nel codice sopra, A2: A5, B2: B4, C2: C4 sono l'intervallo di dati che desideri utilizzare, E2 è la cella di output in cui si desidera individuare i risultati. Se desideri ottenere tutte le combinazioni di più colonne, modifica e aggiungi altri parametri al codice secondo le tue necessità.

3. Quindi, premere F5 chiave per eseguire questo codice e tutte le combinazioni delle 3 colonne verranno generate contemporaneamente, vedi screenshot:


Elenca o genera tutte le possibili combinazioni da più elenchi con una potente funzionalità

Se sono presenti più elenchi, è necessario elencare i valori delle possibili combinazioni, forse è difficile modificare il codice. Qui posso consigliare uno strumento potente: Kutools for Excel, contiene una comoda funzionalità Elenca tutte le combinazioni che può elencare rapidamente tutte le possibili combinazioni in base a determinati elenchi di dati.

Suggerimenti::Per applicare questo Elenca tutte le combinazioni in primo luogo, dovresti scaricare il file Kutools for Excele quindi applica la funzione in modo rapido e semplice.

Dopo l'installazione Kutools for Excel, per favore fai come questo:

1. Clicchi Kutools > inserire > Elenca tutte le combinazioni, vedi screenshot:

2. Nel Elenca tutte le combinazioni finestra di dialogo, eseguire le operazioni come mostrato di seguito nella demo:

3. Quindi tutti i valori ei separatori specificati sono stati elencati nella finestra di dialogo, vedi screenshot:

4.E quindi fare clic Ok e verrà visualizzata una finestra di messaggio per ricordarti di selezionare una cella per visualizzare il risultato, vedi screenshot:

5. Clic OK, tutte le possibili combinazioni basate sugli elenchi forniti sono state generate nel foglio di lavoro come mostrato nella seguente schermata:

Fai clic per scaricare Kutools per Excel ora!


Articoli più relativi:

  • Genera tutte le combinazioni di 3 o più colonne
  • Supponendo, ho 3 colonne di dati, ora, voglio generare o elencare tutte le combinazioni dei dati in queste 3 colonne come mostrato nell'immagine sottostante. Hai dei buoni metodi per risolvere questa attività in Excel?
  • Trova tutte le combinazioni uguali a una data somma
  • Ad esempio, ho il seguente elenco di numeri e ora, voglio sapere quale combinazione di numeri nell'elenco si somma a 480, nella seguente schermata mostrata, puoi vedere che ci sono cinque gruppi di possibili combinazioni che si sommano uguali a 480, come 300 + 60 + 120, 300 + 60 + 40 + 80, ecc. In questo articolo parlerò di alcuni metodi per trovare quali celle sommano a un valore specifico in Excel.
  • Genera o elenca tutte le permutazioni possibili
  • Ad esempio, ho tre caratteri XYZ, ora, voglio elencare tutte le possibili permutazioni basate su questi tre caratteri per ottenere sei risultati diversi come questo: XYZ, XZY, YXZ, YZX, ZXY e ZYX. In Excel, come potresti generare o elencare rapidamente tutte le permutazioni in base a un numero diverso di caratteri?
  • Genera un elenco di tutte le possibili combinazioni di 4 cifre
  • In alcuni casi, potrebbe essere necessario generare un elenco di tutte le possibili combinazioni di 4 cifre del numero da 0 a 9, il che significa generare un elenco di 0000, 0001, 0002… 9999. Per risolvere rapidamente l'attività dell'elenco in Excel, introduco alcuni trucchi per te.

 


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • 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 della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab

 

Commenti (42)
Rinomato 5 su 5 · Valutazioni 1
Questo commento è stato fatto dal moderatore sul sito
Questa è una formula geniale! Non ho idea di come funzioni, ma cambio semplicemente la colonna A e B in modo che corrisponda alla lunghezza delle mie liste e ho il mio output in D1.
Questo commento è stato fatto dal moderatore sul sito
esempio: il mio elenco di valori è 1,2,3,4,5,6......80, voglio che kutool visualizzi tutte le combinazioni di un set di 2 numeri, esempio: 1-2, 1-3, 1-4, 1-5, ..................79-80. è possibile con KUTOOL?
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per far funzionare questa formula in cui produce le varie combinazioni ancora separate in 2 colonne separate, ma adiacenti l'una all'altra?
Questo commento è stato fatto dal moderatore sul sito
Hai avuto fortuna a capire come farlo? Sto cercando di fare esattamente la stessa cosa e avere tutte le mie probabilità in 2 colonne separate in Excel.
Questo commento è stato fatto dal moderatore sul sito
Hai già avuto fortuna con questo? Sto cercando di fare la stessa cosa e di avere tutte le possibili combinazioni una accanto all'altra in 2 colonne separate.
Questo commento è stato fatto dal moderatore sul sito
Posso ottenere la formula per tutte le combinazioni di una matrice 5*5 (5 righe e 5 colonne) che ho provato ma non riesco a ottenere per favore aiutami.......
Questo commento è stato fatto dal moderatore sul sito
MOLTO UTILE. Ora sono in grado di generare combinazioni molto facilmente.
Questo commento è stato fatto dal moderatore sul sito
Come potresti usare KuTools, o anche una formula, se volevi tutte le permutazioni dell'intestazione del mese. Gen, Gen e Feb, Gen e Mar, Gen e Mar, Gen e Feb e Mar, ecc ecc
Questo commento è stato fatto dal moderatore sul sito
qualcuno sa come modificarlo per riflettere 6 colonne di dati, anziché solo due?
Questo commento è stato fatto dal moderatore sul sito
cercando la stessa cosa. qualcuno sa?
Questo commento è stato fatto dal moderatore sul sito
qualcuno sa come modificarlo per riflettere 6 colonne di dati?
Questo commento è stato fatto dal moderatore sul sito
Per più colonne:
La prima parte della formula deve essere modificata per moltiplicare tutte le possibilità, ad esempio questo sarebbe per 6 colonne
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)
quindi stai aggiungendo
*COUNTA(il tuo intervallo qui)
per ogni colonna
Anche la seconda parte della formula deve essere modificata per ogni colonna in questo modo:
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)
quindi stai aggiungendo
&INDEX(YourRangeHere,MOD(ROW()-ROW($I$2),COUNTA(YourRangeHere))+1)

Quindi mettili tutti insieme e ottieni questo esempio per 6 colonne:

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

Dove incolleresti questa formula in $I$2 e vedrebbe $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... fino a $F$2:$F$9
Questo commento è stato fatto dal moderatore sul sito
questo non funziona :( più complicato di così
Questo commento è stato fatto dal moderatore sul sito
Per più colonne:
La prima parte della formula deve essere modificata per moltiplicare tutte le possibilità, ad esempio per 6 colonne:

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)
quindi stai aggiungendo
*COUNTA(il tuo intervallo qui)
per ogni colonna

Anche la seconda parte della formula deve essere modificata per ogni colonna in questo modo:

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)

quindi stai aggiungendo

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

Quindi mettili tutti insieme e ottieni questo esempio per 6 colonne:

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

Dove incolleresti questa formula in $I$2 e vedrebbe $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... fino a $F$2:$F$9
Questo commento è stato fatto dal moderatore sul sito
questo non funziona :( più complicato di così
Questo commento è stato fatto dal moderatore sul sito
Qualche idea su come aggiungere uno spazio in mezzo?
Questo commento è stato fatto dal moderatore sul sito
Ciao, Eoin,
la formula in questo articolo non può aiutarti ad aggiungere uno spazio tra i valori della cella, ma puoi applicare Kutools per Excel, con esso puoi digitare qualsiasi delimitatore come vuoi separare il risultato combinato, vedi screenshot:
Questo commento è stato fatto dal moderatore sul sito
Puoi aggiungere uno spazio aggiungendo " "& prima di indicizzare la colonna B, subito dopo l'esistente &, in questo modo.....

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


....o qualsiasi altro delimitatore che ti piace!
Questo commento è stato fatto dal moderatore sul sito
KuTools è in grado di ordinare le celle di fila in una "combinazione semplice"?
Voglio dire, se ho questi dati:
_________________________
John Jack Paul Macy

Marco Larry

Jerry Paul Mary

Sam Jeff Peter Lucas
_________________________



E voglio emetterli in questo modo:
___________
Giovanni Jack

John Paul

Giovanni Macy

Jack Paolo

Jack Macy

Paolo Macy

Marco Larry

Jerry Paolo

Jerry Sposa

Paolo Maria

Sam Jeff

Sam Pietro

Sam Luca

Jeff Pietro

Jeff Lucas

Pietro Luca
____________


Come posso fare questo? KuTools può fare qc in questo modo?

Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao, Artù,
Siamo spiacenti, il Kutools non può aiutarti a risolvere questo lavoro come hai detto.
Grazie per il tuo commento.
Questo commento è stato fatto dal moderatore sul sito
Qualcuno ha ancora trovato una formula per farlo per 5 set di dati? Sono stato perplesso su questo finora.
Questo commento è stato fatto dal moderatore sul sito
Ciao, Marco,
I Kutools possono aiutarti a risolvere rapidamente il tuo problema, controlla il seguente screenshot:
Per favore provalo, spero che possa aiutarti, grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Voglio sapere cosa fare se voglio generare più di 1,4 milioni di combinazioni e supero il limite di righe di Excel?
C'è un modo per far sì che Kudos continui la sua iterazione nella colonna successiva?
Questo commento è stato fatto dal moderatore sul sito
Perché la mia formula non ha funzionato per creare 25 combinazioni nella colonna E (5 elementi da Col A * 5 elementi da Col B)? Considerando che la formula in questo articolo ha funzionato nella colonna D quando l'ho trascinata per 25 celle? Immagine dello schermo - https://prnt.sc/ihwr18
Questo commento è stato fatto dal moderatore sul sito
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))
Questo commento è stato fatto dal moderatore sul sito
Ciao, e se queste combinazioni intead testo sono numeri, come posso fare il calcolo per i risultati???? provo ad aggiungere il "+" ma excel non so che è il simbolo .. come lo risolvi?
Questo commento è stato fatto dal moderatore sul sito
Ho usato le estensioni e funziona alla grande, ma ora ho un problema, devo calcolare la somma, ma il risultato è un testo, inserisco un separatore che è il simbolo +, ma alla fine ho un testo ed è impossibile da convertire in un'operazione.
Questo commento è stato fatto dal moderatore sul sito
Quasi molto maneggevole. Sarebbe utile se utilizzasse effettivamente tutto ciò che è nella cella ($ A $ 1) e non convertisse la cella in testo. Quindi potrei semplicemente incollare ciò di cui ho bisogno in A1 ed eseguirlo di nuovo senza dover modificare nulla.
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per emetterlo come file txt? Quando hai milioni di risultati nella colonna D, non è esattamente pratico trascinare il quadratino di riempimento.
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL