Excel'deki tek sütundaki tüm olası kombinasyonlar nasıl listelenir?
Aşağıdaki ekran görüntüsü gibi sonucu elde etmek için tek sütun verilerinden olası tüm kombinasyonları döndürmek istiyorsanız, Excel'de bu görevle başa çıkmak için hızlı bir yolunuz var mı?
Tüm olası kombinasyonları formüllerle tek sütundan listeleyin
VBA kodu ile tek sütundan tüm olası kombinasyonları listeleyin
Tüm olası kombinasyonları formüllerle tek sütundan listeleyin
Aşağıdaki dizi formülleri bu işi başarmanıza yardımcı olabilir, lütfen adım adım yapın:
1. İlk olarak, iki yardımcı formül hücresi oluşturmalısınız. C1 hücresine lütfen aşağıdaki formülü girin ve tuşuna basın. Ctrl + Üst Karakter + Enter sonucu almak için tuşlar:
2. C2 hücresine aşağıdaki formülü girin ve Ctrl + Üst Karakter + Enter ikinci sonucu elde etmek için tuşları bir araya getirin, ekran görüntüsüne bakın:
3. Ardından aşağıdaki formülü kopyalayıp D2 hücresine yapıştırın ve Ctrl + Üst Karakter + Enter ilk sonucu almak için anahtarları bir araya getirin, ekran görüntüsüne bakın:
4. Ardından, bu formül hücresini seçin ve doldurma tutamacını boş hücreler görünene kadar aşağı sürükleyin. Şimdi, belirtilen sütun verilerinin tüm kombinasyonlarının aşağıda gösterilen demo gibi görüntülendiğini görebilirsiniz:
VBA kodu ile tek sütundan tüm olası kombinasyonları listeleyin
Yukarıdaki formüller yalnızca daha yeni Excel sürümleri için mevcuttur, daha önceki Excel sürümlerine sahipseniz, aşağıdaki VBA kodu size bir iyilik yapabilir.
1. Basın Alt + F11 anahtarları aynı anda açmak için Uygulamalar için Microsoft Visual Basic pencere.
2. Daha sonra, Ekle > modül, aşağıdaki VBA kodunu kopyalayıp pencereye yapıştırın.
VBA kodu: Tüm olası kombinasyonları tek sütundan listeleyin
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: kullanmak istediğiniz verilerin listesidir;
- C1: çıkış hücresidir;
- ,: kombinasyonları ayırmak için sınırlayıcı.
3. Ve sonra, basın F5 Bu kodu yürütmek için anahtar. Tek sütundaki tüm kombinasyonlar aşağıda gösterilen ekran görüntüsü gibi listelenmiştir:
En İyi Ofis Üretkenlik Araçları
Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar. En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...
Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir
- Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
- Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
- Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!