aralıkta ençok olan ikinci sayı ktf lüften

snx111

Banned
Katılım
10 Ağustos 2010
Mesajlar
789
Excel Vers. ve Dili
2010 office tr
1 stunda 4000 satır kadar ; ençok olan ikinci sayı nedir ktf istiyorum mümkünmü ?
ençok olan çok formulu sadece ençok olan 1 ci sayıyı buluyor bana 2 ciyi üçüncüyü ve dördüncüyü bulması lazım ???
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Yazım biraz hızlı oldu, belki daha iyi bir çözüm olabilirdi.

Aşağıdaki KTF(Kullanıcı Tanımlı Fonksiyon) yi deneyiniz. Özet Tablo ile aynı sonucu aldım.

1. Parametre = İstediğiniz Aralık
2. Parametre = Ençok Kullanılan Sıra No

Kod:
Function EnÇok(Alan As Range, Kaçıncı As Integer)
 
    Dim d, _
        i       As Long, _
        j       As Long, _
        Hücre   As Range, _
        Temp    As String, _
        Dizi(), _
        Deg As Variant, _
        a1, _
        a2
    
    Set d = CreateObject("Scripting.Dictionary")
    
    For Each Hücre In Alan
        Deg = Hücre
        If Not d.exists(Deg) Then
            d.Add Deg, 1
        Else
            d.Item(Deg) = d.Item(Deg) + 1
        End If
    Next Hücre
    
    a1 = d.keys
    a2 = d.items
    For i = 0 To d.Count - 1
        ReDim Preserve Dizi(i)
        Dizi(i) = a2(i) & "===" & a1(i)
    Next i
    For i = 0 To UBound(Dizi) - 1
        For j = i + 1 To UBound(Dizi)
            If StrComp(Dizi(i), Dizi(j), 1) = -1 Then
                Temp = Dizi(j)
                Dizi(j) = Dizi(i)
                Dizi(i) = Temp
            End If
        Next j
    Next i
    If Kaçıncı = 0 Or Kaçıncı > UBound(Dizi) + 1 Then
        EnÇok = ""
    Else
        EnÇok = Split(Dizi(Kaçıncı - 1), "===")(1)
    End If
    
End Function
 

Ekli dosyalar

snx111

Banned
Katılım
10 Ağustos 2010
Mesajlar
789
Excel Vers. ve Dili
2010 office tr
Your file of 1.88 MB bytes exceeds the forum's limit of 1,000.0 KB for this filetype.
 

snx111

Banned
Katılım
10 Ağustos 2010
Mesajlar
789
Excel Vers. ve Dili
2010 office tr
türkçemize sahip çıkalım ingilizcedende uzak durmayalım
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
1 stunda 4000 satır kadar ; ençok olan ikinci sayı nedir ktf istiyorum mümkünmü ?
ençok olan çok formulu sadece ençok olan 1 ci sayıyı buluyor bana 2 ciyi üçüncüyü ve dördüncüyü bulması lazım ???
.

Neden KTF?

İfadenizde "ençok olan" ı " en büyük " sayı olarak anlarsak;

Kod:
=LARGE(A1:A4000;[COLOR="Red"][B]2[/B][/COLOR])

=BÜYÜK(A1:A4000;[COLOR="Red"][B]2[/B][/COLOR])
şeklinde olur.


formüldeki kırmzı renkli sayıyı istediğiniz şekilde (3, 4, 5, .....) değiştirbilirsiniz.


.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Necdet bey'in örnek dosyası üzerinden dizi formüllü çözüm.
ENÇOK_OLAN fonksiyonunu bu şekilde yazabiliriz.
Kod:
=DOLAYLI("A"&TOPLA.ÇARPIM(BÜYÜK(EĞERSAY($A$2:$A$18;$A$2:$A$18);1)))
2. ENÇOK_OLAN değer için
Kod:
=DOLAYLI("A"&TOPLA.ÇARPIM(BÜYÜK(EĞERSAY($A$2:$A$18;$A$2:$A$18);MAK(EĞERSAY($A$2:$A$18;$A$2:$A$18)+1))))
her 2 formülde dizi formülüdür, ctrl+shift+enter ile giriniz
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

9. mesajda önerdiğim formül yanlış sonuç üretiyor, dikkate almayınız.

Formülü silmiyorum, yanlış sonuç üretse bile farklı bir yaklaşım olması açısından başka sorulara ışık tutabilir.
Yinede bu formül yapısıyla sonuca ulaşılabileceğini düşünüyorum, çözümü bulursam formülü değiştiririm.
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,182
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
KTF dışında;
Fazladan bir sütun kullanmanın mahsuru yoksa işlevlerle çözümü inceleyin.
İyi çalışmalar.
 

Ekli dosyalar

Üst