Excel'de tüm olası permütasyonlar nasıl oluşturulur veya listelenir?
Örneğin, XYZ olmak üzere üç karakterim var ve bu üç karakterin tüm olası permütasyonlarını — yani XYZ, XZY, YXZ, YZX, ZXY ve ZYX — listeleyerek altı farklı sonucu elde etmek istiyorum. Excel’de değişen sayıda karakter için tüm permütasyonları hızlıca nasıl oluşturup listeleyebilirim?
Karakterlere dayalı olarak VBA koduyla tüm olası permütasyonları oluşturun veya listeleyin
Karakterlere dayalı olarak VBA koduyla tüm olası permütasyonları oluşturun veya listeleyin
Aşağıdaki VBA kodu, belirli sayıda harfe dayanarak tüm permütasyonları listelemenize yardımcı olur. Lütfen aşağıdaki adımları uygulayın:
1. ALT + F11 tuşlarına basılı tutarak Microsoft Visual Basic for Applications penceresini açın.
2. Ekle > Modül seçeneğine tıklayın ve aşağıdaki kodu Modül penceresine yapıştırın.
VBA kodu: Excel'de tüm olası permütasyonları listeleyin
Sub GetString()
'Updateby Extendoffice
Dim xStr As String
Dim FRow As Long
Dim xScreen As Boolean
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
If Len(xStr) < 2 Then Exit Sub
If Len(xStr) >= 8 Then
MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
Exit Sub
Else
ActiveSheet.Columns(1).Clear
FRow = 1
Call GetPermutation("", xStr, FRow)
End If
Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
Dim i As Integer, xLen As Integer
xLen = Len(Str2)
If xLen < 2 Then
Range("A" & xRow) = Str1 & Str2
xRow = xRow + 1
Else
For i = 1 To xLen
Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
Next
End If
End Sub
3. Ardından, permütasyonlarını listelemek istediğiniz karakterleri girmenizi hatırlatan bir iletişim kutusu açılması için F5 tuşuna basın. Ekran görüntüsüne bakın:

4. Karakterleri girdikten sonra Tamam düğmesine tıklayın; tüm olası permütasyonlar etkin çalışma sayfasının A sütununda görüntülenecektir. Ekran görüntüsüne bakın:

Not: Girilen karakter uzunluğu 8'e eşit veya daha fazlaysa, aşırı sayıda permütasyon oluşacağı için bu kod çalışmayacaktır.

Birden fazla sütundan tüm olası kombinasyonları listeleyin veya oluşturun
Birden fazla sütundaki verilere dayanarak tüm olası kombinasyonları oluşturmanız gerekiyorsa, bunu yapmanın kolay bir yolu olmayabilir. Ancak Kutools for Excel'in Tüm kombinasyonları listele aracı, tüm olası kombinasyonları hızlı ve kolayca listelemenize yardımcı olur.Kutools for Excel'i indirmek için tıklayın!

Kutools for Excel: 30 gün boyunca sınırsız olarak ücretsiz deneyebileceğiniz 300'den fazla kullanışlı Excel eklentisiyle.Şimdi indirin ve ücretsiz deneyin!
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir kurulum dosyasında!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar