• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

124 Adet rakamın 2li permütasyonu

Katılım
14 Mayıs 2024
Mesajlar
13
Excel Vers. ve Dili
2020
Herkese merhaba,
Elimde birbirinden farklı her biri 9 basamaklı 124 adet sayı var. Bu sayıları alt alta A sütununa yazığımızı var sayalım. B ve C sütununada karşılıklı olarak gelen yani 2li permütasyonunu 15.252 ihtimalli makro için yardımcı olabilir misiniz ? Panelde ki hazır makrolara baktım fakat göremedim. Forumda yeni olduğum için direkt o topiği linklersenizde olur ben aradım ama bulamadım.
 
Merhaba.
9 basamaklı bir sayının 2'li permutasyon sayısı 72 olduğuna göre 124 tane 9 basamaklı sayıdan 2'li 8928 tane permutasyon olmaz mı?

72 * 124 = 8928
 
A1'de başlık olduğunu varsayarsak
A2 den itibaren 9 basamaklı sayıları listeleyin.
B sütununa 2 li permutasyon sonucunu yazdırmak için aşağıdaki kodu kullanın.
Kod:
Sub test()
    Dim Bak As Integer
    Dim Bak1 As Byte
    Dim Bak2 As Byte
    Dim R1 As Byte
    Dim R2 As Byte
   
    Range("B1:B" & Cells.Rows.Count).ClearContents
    For Bak = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        For Bak1 = 1 To Len(Cells(Bak, "A"))
            For Bak2 = 1 To Len(Cells(Bak, "A"))
                R1 = Mid(Cells(Bak, "A"), Bak1, 1)
                R2 = Mid(Cells(Bak, "A"), Bak2, 1)
                If R1 <> R2 Then
                    Cells(Cells(Rows.Count, "B").End(xlUp).Row + 1, "B") = R1 & R2
                End If
            Next
        Next
    Next
    MsgBox "Tamamlandı."
End Sub
 
Son düzenleme:
Kod:
Sub permutasyon()
    Dim myArr, i&, ii&, sat&
    [B:C].ClearContents
    myArr = Application.Transpose(Range("A1:A124").Value)

    sat = 1
    For i = 1 To UBound(myArr)
        For ii = 1 To UBound(myArr)
            If i <> ii Then
                Cells(sat, 2).Value = myArr(i)
                Cells(sat, 3).Value = myArr(ii)
                sat = sat + 1
            End If
        Next
    Next
End Sub
 
Excel2021 / 2024 /365 kullanıcısı olup da formülle çözüm isteyenler için
bir çözüm olsun.

9 basamaklı sayılar (veriler) : A1 : A124 aralığında olmak üzere 124 adet veri
Bu veriler, 2 li permutasyon olarak C ve D kolonlarında olmak üzere 15.252 adet

Formül,
C1 hücresine yazılır. Sonuçlar C ve D kolonuna dökülmeli olarak gelir.
Kod:
=LET(a;A1:A124;b;1+MOD(YUKARIYUVARLA(SIRALI(124^2)/124^(2-SIRALI(;2));0)-1;124);İNDİS(a;FİLTRE(b;İNDİS(b;;1)<>İNDİS(b;;2))))



A

B

C

D

E

F

1

220330672​


220330672​

145185494​


Adet​

2

145185494​


220330672​

449933071​


15252​

3

449933071​


220330672​

344017127​



4

344017127​


220330672​

340440523​



5

340440523​


220330672​

935997649​



6

935997649​


220330672​

298828823​



7

298828823​


220330672​

956196152​



8

956196152​


220330672​

771300835​



9

771300835​


220330672​

144140196​



10

144140196​


220330672​

639498455​



11

639498455​


220330672​

874669663​



12

874669663​


220330672​

619912881​



13

619912881​


220330672​

894206373​



14

894206373​


220330672​

479176746​



15

479176746​


220330672​

401127786​



16

401127786​


220330672​

764190820​



17

764190820​


220330672​

523071872​



18

523071872​


220330672​

953167826​



19

953167826​


220330672​

361655670​



20

361655670​


220330672​

770216144​



21

770216144​


220330672​

136899521​



22

136899521​


220330672​

135660035​



23

135660035​


220330672​

323291125​



24

323291125​


220330672​

477396602​



25

477396602​


220330672​

907526419​


 
Excel2021 / 2024 /365 kullanıcısı olup da formülle çözüm isteyenler için
bir çözüm olsun.

9 basamaklı sayılar (veriler) : A1 : A124 aralığında olmak üzere 124 adet veri
Bu veriler, 2 li permutasyon olarak C ve D kolonlarında olmak üzere 15.252 adet

Formül,
C1 hücresine yazılır. Sonuçlar C ve D kolonuna dökülmeli olarak gelir.
Kod:
=LET(a;A1:A124;b;1+MOD(YUKARIYUVARLA(SIRALI(124^2)/124^(2-SIRALI(;2));0)-1;124);İNDİS(a;FİLTRE(b;İNDİS(b;;1)<>İNDİS(b;;2))))





A



B



C



D



E



F



1



220330672​






220330672​



145185494​






Adet​



2



145185494​






220330672​



449933071​






15252​



3



449933071​






220330672​



344017127​









4



344017127​






220330672​



340440523​









5



340440523​






220330672​



935997649​









6



935997649​






220330672​



298828823​









7



298828823​






220330672​



956196152​









8



956196152​






220330672​



771300835​









9



771300835​






220330672​



144140196​









10



144140196​






220330672​



639498455​









11



639498455​






220330672​



874669663​









12



874669663​






220330672​



619912881​









13



619912881​






220330672​



894206373​









14



894206373​






220330672​



479176746​









15



479176746​






220330672​



401127786​









16



401127786​






220330672​



764190820​









17



764190820​






220330672​



523071872​









18



523071872​






220330672​



953167826​









19



953167826​






220330672​



361655670​









20



361655670​






220330672​



770216144​









21



770216144​






220330672​



136899521​









22



136899521​






220330672​



135660035​









23



135660035​






220330672​



323291125​









24



323291125​






220330672​



477396602​









25



477396602​






220330672​



907526419​








Elinize kolunuza sağlık hocam. Çok teşekkür ederim.
 
Geri
Üst