124 Adet rakamın 2li permütasyonu

brkycc

Altın Üye
Katılım
14 Mayıs 2024
Mesajlar
4
Excel Vers. ve Dili
2020
Altın Üyelik Bitiş Tarihi
14-05-2025
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.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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:

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
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
 
Katılım
21 Aralık 2016
Mesajlar
722
Excel Vers. ve Dili
Office 365 TR
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​

 

brkycc

Altın Üye
Katılım
14 Mayıs 2024
Mesajlar
4
Excel Vers. ve Dili
2020
Altın Üyelik Bitiş Tarihi
14-05-2025
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.
 
Üst