Comment répertorier toutes les combinaisons possibles à partir d'une seule colonne dans Excel ?
Si vous souhaitez renvoyer toutes les combinaisons possibles à partir de données à une seule colonne pour obtenir le résultat illustré ci-dessous, avez-vous des moyens rapides de gérer cette tâche dans Excel ?
Répertorier toutes les combinaisons possibles à partir d'une seule colonne avec des formules
Répertorier toutes les combinaisons possibles à partir d'une seule colonne avec le code VBA
Répertorier toutes les combinaisons possibles à partir d'une seule colonne avec des formules
Les formules matricielles suivantes peuvent vous aider à réaliser ce travail, veuillez procéder étape par étape :
1. Tout d'abord, vous devez créer deux cellules de formule d'assistance. Dans la cellule C1, veuillez entrer la formule ci-dessous et appuyez sur Ctrl + Maj + Entrée touches pour obtenir le résultat :
2. Dans la cellule C2, entrez la formule suivante et appuyez sur Ctrl + Maj + Entrée touches ensemble pour obtenir le deuxième résultat, voir capture d'écran :
3. Ensuite, copiez et collez la formule suivante dans la cellule D2 et appuyez sur Ctrl + Maj + Entrée clés ensemble pour obtenir le premier résultat, voir capture d'écran:
4. Ensuite, sélectionnez cette cellule de formule et faites glisser la poignée de remplissage vers le bas jusqu'à ce que des cellules vides apparaissent. Maintenant, vous pouvez voir toutes les combinaisons des données de colonne spécifiées sont affichées comme ci-dessous :
Répertorier toutes les combinaisons possibles à partir d'une seule colonne avec le code VBA
Les formules ci-dessus ne sont disponibles que pour les nouvelles versions d'Excel, si vous avez des versions antérieures d'Excel, le code VBA suivant peut vous rendre service.
1. presse Alt + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2. Puis clique insérer > Module, copiez et collez le code VBA ci-dessous dans la fenêtre.
Code VBA : répertorier toutes les combinaisons possibles à partir d'une seule colonne
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
- A2: A6: est la liste des données que vous souhaitez utiliser ;
- C1: est la cellule de sortie ;
- ,: le délimiteur pour séparer les combinaisons.
3. Et ensuite, appuyez sur F5 touche pour exécuter ce code. Toutes les combinaisons de la colonne unique sont répertoriées comme illustré ci-dessous :
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!