En Yüksek Olanları Listele

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Arkadaşlar merhaba. Bir veri tablosunda aynı tanımlama için tekrarlayan rakamlardan en yüksek olanlarını bir başka sayfada raporlamak mümkün müdür ? Ekteki dosyda örnek bulunmaktadır. İlgilenenlere şimdiden teşekkürler.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Aşağıdaki kodları kullanabilirsiniz.

Kod:
Sub Aktar() 'SON ŞEKİL
Dim a, i, s As Long, b()
Set s1 = Sheets("DATA")
Set s2 = Sheets("RAPOR")
a = s1.Range("a2:a" & s1.[a65536].End(xlUp).Row).Resize(, 2).Value
ReDim b(1 To UBound(a, 1), 1 To 3)
With CreateObject("Scripting.Dictionary")
    .CompareMode = vbTextCompare
        For i = 1 To UBound(a, 1)
            If Not .exists(a(i, 1)) Then
                s = s + 1
                .Add (a(i, 1)), s
                b(s, 1) = s
                b(s, 2) = a(i, 1)
            End If
                b(.Item(a(i, 1)), 3) = b(.Item(a(i, 1)), 3) + a(i, 2)
        Next
End With
With s2.Range("a2")
    .Resize(, 3).ClearContents
    .Resize(s, 3).Value = b
End With
'************************************************
son = s2.[a65536].End(3).Row
s2.Range(s2.Cells(2, "b"), s2.Cells(son, "c")).Sort Key1:=s2.Range("C2"), Order1:=xlDescending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
'************************************************
s2.Select
[a1].Select
MsgBox "Bitti"
Set s1 = Nothing
Set s2 = Nothing
End Sub
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Sayın ripek ilginiz için çok teşekkürler. bu kodu uyguladığımda aynı müşteriye bağlı rakamları toplayarak listeliyor ki bu da aslında gerekli bir şeydi. Bir de şunu yapabilir miyiz : Her bir müşteri için tanımlı rakamlardan sadece en yüksek olanını listeleleyecek. Örneğin Ak Ticaret için bu rakam 19 olmalı.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Fonksiyon bölümüne sorduğunuz için fonksiyonlar ile ilgili örnek hazırladım.

Örnek dosya ektedir.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Çok Teşekkürler

Sayın Ali yardımınız için çok teşekkürler. Bunun aynısının Minimum için olanı nasıl yapılır ?
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Rapor sayfasındaki Mak yerine Min kullanırsınız.

=MİN(EĞER((DATA!$A$2:$A$1000=A2);DATA!$B$2:$B$1000))

CTRL+SHIFT+ENTER tuşları ile dizi formülü oluşturup aşağı doğru çekiniz.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Her bir müşteri için tanımlı rakamlardan sadece en yüksek olanını listeleleyecek. Örneğin Ak Ticaret için bu rakam 19 olmalı.
Sorunuzu biraz daha açabilirmisiniz?

Örneğin her firma için tanımladığınız limitten, genel toplamları fazla olanlarımı listelemek istiyorsunuz?,Yoksa bu limittten fazla olanları toplayıp, bunları mı listelemek istiyorsunuz?
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Sayın ripek, her bir firma için birden fazla rakam var. Bu rakamlardan en yüksek olanı hangisi ise onu listelemeye ihtiyacım var. Eğer rakam tek ise sadece o rakamı listelemeli. Teşekkür ederim.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Pardon, sorunuzu açıkçası yanlış anlamışım.Sn.Ali doğru cevabı yazmış.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Sayın ripek sizin çözüm şekliniz de çok güzel. Yani yardımcı olursanız sevinirim. Bazen makro ile bazen fonksiyon ile çözüm bulmak gerektiği durumlar oluyor. Sizin makro çözümünü sadece maksimumları alacak şekilde revize etmek olanağı var mı !!!
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Sayın Ali yardımlarınız için çok teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,559
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz. (MAX ifadesi yerine MIN ifadesini kullanarak en düşük fiyatlarıda listeleyebilirsiniz.)

Kod:
Sub EN_YÜKSEK_FİYATLARI_LİSTELE()
    Sheets("RAPOR").Select
    [A2:B65536].Clear
    [DATA!A:A].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[RAPOR!A1], Unique:=True
    For X = 2 To [A65536].End(3).Row
    Cells(X, 2) = Evaluate("=[COLOR=RED]MAX[/COLOR](IF(DATA!A2:A1000=""" & Cells(X, 1) & """,DATA!B2:B1000))")
    Next
End Sub
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Çok Teşekkürler

Sayın Cost Control. Yardımlarınız için çok teşekkürler. Şimdi tam istediğimiz gibi oldu. Ellerinizi dert görmesin, sağlıcakla kalın.
 
Üst