Bagaimana cara membuat daftar semua kemungkinan kombinasi dari satu kolom di Excel?
Jika Anda ingin mengembalikan semua kemungkinan kombinasi dari data kolom tunggal untuk mendapatkan hasil seperti gambar di bawah ini, apakah Anda memiliki cara cepat untuk menangani tugas ini di Excel?
Daftar semua kemungkinan kombinasi dari satu kolom dengan rumus
Daftar semua kemungkinan kombinasi dari satu kolom dengan kode VBA
Daftar semua kemungkinan kombinasi dari satu kolom dengan rumus
Rumus array berikut dapat membantu Anda mencapai pekerjaan ini, lakukan langkah demi langkah:
1. Pertama, Anda harus membuat dua sel formula pembantu. Di sel C1, masukkan rumus di bawah ini, dan tekan Ctrl + Shift + Enter kunci untuk mendapatkan hasil:
2. Di sel C2, masukkan rumus berikut, dan tekan Ctrl + Shift + Enter kunci bersama untuk mendapatkan hasil kedua, lihat tangkapan layar:
3. Kemudian, salin dan tempel rumus berikut di sel D2, dan tekan Ctrl + Shift + Enter kunci bersama untuk mendapatkan hasil pertama, lihat tangkapan layar:
4. Dan kemudian, pilih sel rumus ini, dan seret gagang isian ke bawah hingga sel kosong muncul. Sekarang, Anda dapat melihat semua kombinasi data kolom yang ditentukan ditampilkan seperti demo di bawah ini:
Daftar semua kemungkinan kombinasi dari satu kolom dengan kode VBA
Rumus di atas hanya tersedia untuk versi Excel yang lebih baru, jika Anda memiliki versi Excel yang lebih lama, kode VBA berikut dapat membantu Anda.
1. tekan Alt + F11 tombol secara bersamaan untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.
2. Lalu klik Menyisipkan > Modul, salin dan tempel kode VBA di bawah ini ke jendela.
Kode VBA: Daftar semua kemungkinan kombinasi dari satu kolom
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: adalah daftar data yang ingin Anda gunakan;
- C1: adalah sel keluaran;
- ,: pembatas untuk memisahkan kombinasi.
3. Dan kemudian, tekan F5 kunci untuk mengeksekusi kode ini. Semua kombinasi dari satu kolom terdaftar seperti gambar di bawah ini:
Alat Produktivitas Kantor Terbaik
Tingkatkan Keterampilan Excel Anda dengan Kutools for Excel, dan Rasakan Efisiensi yang Belum Pernah Ada Sebelumnya. Kutools for Excel Menawarkan Lebih dari 300 Fitur Lanjutan untuk Meningkatkan Produktivitas dan Menghemat Waktu. Klik Di Sini untuk Mendapatkan Fitur yang Paling Anda Butuhkan...
Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah
- Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
- Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
- Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!