Kako navesti vse možne kombinacije iz enega stolpca v Excelu?
Če želite vrniti vse možne kombinacije iz podatkov enega stolpca, da dobite rezultat, kot je prikazan na spodnjem posnetku zaslona, ali imate kakšne hitre načine za reševanje te naloge v Excelu?
Navedite vse možne kombinacije iz enega stolpca s formulami
Navedite vse možne kombinacije iz enega stolpca s kodo VBA
Navedite vse možne kombinacije iz enega stolpca s formulami
Naslednje matrične formule vam lahko pomagajo doseči to nalogo, naredite korak za korakom:
1. Najprej bi morali ustvariti dve pomožni celici formule. V celico C1 vnesite spodnjo formulo in pritisnite Ctrl + Shift + Enter ključi, da dobite rezultat:
2. V celico C2 vnesite naslednjo formulo in pritisnite Ctrl + Shift + Enter tipke skupaj, da dobite drugi rezultat, glejte posnetek zaslona:
3. Nato kopirajte in prilepite naslednjo formulo v celico D2 ter pritisnite Ctrl + Shift + Enter tipke skupaj, da dobite prvi rezultat, glejte posnetek zaslona:
4. Nato izberite to celico s formulo in povlecite ročico za polnjenje navzdol, dokler se ne prikažejo prazne celice. Zdaj lahko vidite, da so vse kombinacije podanih podatkov stolpcev prikazane, kot je prikazano v spodnji predstavitvi:
Navedite vse možne kombinacije iz enega stolpca s kodo VBA
Zgornje formule so na voljo samo za novejše različice Excela, če imate prejšnje različice Excela, vam lahko naslednja koda VBA naredi uslugo.
1. Pritisnite Alt + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.
2. Nato kliknite Vstavi > Moduli, kopirajte in prilepite spodnjo kodo VBA v okno.
Koda VBA: seznam vseh možnih kombinacij iz enega stolpca
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: je seznam podatkov, ki jih želite uporabiti;
- C1: je izhodna celica;
- ,: ločilo za ločevanje kombinacij.
3. In nato pritisnite F5 ključ za izvedbo te kode. Vse kombinacije iz posameznega stolpca so navedene na spodnjem posnetku zaslona:
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!