Come elencare o generare tutte le possibili combinazioni in Excel?

Quando si lavora con i dati in Excel, potresti incontrare situazioni in cui è necessario generare tutte le possibili combinazioni da più elenchi. Ad esempio, se hai due o più colonne di valori, elencare manualmente ogni combinazione può essere noioso e soggetto a errori, specialmente quando il numero di valori cresce. In questa guida, esploreremo diverse tecniche per elencare o generare rapidamente tutte le possibili combinazioni in Excel.
Elencare o generare tutte le possibili combinazioni da due elenchi con una formula
Elencare o generare tutte le possibili combinazioni da tre o più elenchi con codice VBA
Elencare o generare tutte le possibili combinazioni da più elenchi con Kutools per Excel
Elencare o generare tutte le possibili combinazioni da due elenchi con una formula
La seguente formula lunga può aiutarti a elencare rapidamente tutte le possibili combinazioni dei valori di due elenchi, procedi come segue:
1. Inserisci o copia la formula sottostante in una cella vuota, in questo caso, la inserirò nella cella D2, quindi premi il tasto "Invio" 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))
2. Quindi seleziona la cella D2 e trascina la maniglia di riempimento verso il basso fino a quando non appaiono celle vuote. Tutte le possibili combinazioni verranno elencate in base alle due liste di valori. Vedi screenshot:
Elencare o generare tutte le possibili combinazioni da tre o più elenchi con codice VBA
Se la formula precedente sembra difficile da applicare, specialmente con più colonne di dati, modificarla può essere complicato. In questi casi, un codice VBA offre una soluzione più rapida e flessibile.
1. Tieni premuti i tasti "ALT + F11" per aprire la finestra "Microsoft Visual Basic for Applications".
2. Clicca su "Inserisci" > "Modulo", e incolla il seguente codice nella finestra "Modulo".
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
3. Poi, premi il tasto "F5" per eseguire questo codice, e tutte le combinazioni delle 3 colonne verranno generate immediatamente, vedi screenshot:
Elencare o generare tutte le possibili combinazioni da più elenchi con Kutools per Excel
Se ci sono più elenchi di valori che devono avere tutte le possibili combinazioni elencate, potrebbe essere difficile per te modificare il codice. Qui, posso consigliare uno strumento potente - "Kutools per Excel", che contiene una funzione pratica "Elencare tutte le combinazioni" che può elencare rapidamente tutte le possibili combinazioni basate sugli elenchi di dati forniti.
1. Clicca su "Kutools" > "Inserisci" > "Elencare tutte le combinazioni", vedi screenshot:
2. Nella finestra di dialogo "Elencare tutte le combinazioni", esegui le operazioni come mostrato nella demo sotto:
3. Poi tutti i valori specificati e i separatori sono stati elencati nella finestra di dialogo, vedi screenshot:
4. E poi clicca sul pulsante "Ok", e apparirà una finestra di avviso per ricordarti di selezionare una cella per l'output del risultato, vedi screenshot:
5. Clicca su "OK", tutte le possibili combinazioni basate sugli elenchi forniti sono state generate nel foglio di lavoro come mostrato nello screenshot seguente:
Kutools per Excel - Potenzia Excel con oltre 300 strumenti essenziali. Goditi funzionalità AI gratuite per sempre! Ottienilo ora
Altri articoli correlati:
- Genera tutte le combinazioni di 3 o più colonne
- Supponendo di avere 3 colonne di dati, ora voglio generare o elencare tutte le combinazioni dei dati in queste 3 colonne come mostrato nello screenshot sotto. Hai qualche buon metodo per risolvere questo compito in Excel?
- Trova tutte le combinazioni che equivalgono a una somma data
- Ad esempio, ho la seguente lista di numeri, e ora voglio sapere quale combinazione di numeri nella lista somma 480, come mostrato nello screenshot seguente, puoi vedere che ci sono cinque gruppi di possibili combinazioni che sommano 480, come 300+60+120, 300+60+40+80, ecc. In questo articolo, parlerò di alcuni metodi per trovare quali celle sommano un valore specifico in Excel.
- Genera o elenca tutte le possibili permutazioni
- Ad esempio, ho tre caratteri XYZ, ora voglio elencare tutte le possibili permutazioni basate su questi tre caratteri per ottenere sei risultati diversi come: XYZ, XZY, YXZ, YZX, ZXY e ZYX. In Excel, come potresti generare rapidamente o elencare tutte le permutazioni basate su un numero diverso di caratteri?
- Genera un elenco di tutte le possibili combinazioni di 4 cifre
- In alcuni casi, potremmo dover 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'elenco delle attività in Excel, ti presento alcuni trucchi.
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione 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 della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!