Skip to main content

Excel'de değerleri gruplara göre nasıl sıralarız?

Author: Sun Last Modified: 2025-07-21

Excel'de gruplandırılmış verilerle çalışmak, her bir gruptaki değerleri karşılaştırmayı gerektirir. Örneğin, bölgeye göre satış rakamlarını sıralamak, sınıfa göre sınav notlarını veya kategoriye göre işlem miktarlarını sıralamak gibi. Excel, verileri sıralamak için güçlü araçlar sağlarken, gruplar içindeki sıralama ("grup bazında sıralama" veya "koşullu sıralama" olarak da bilinir) belirli bir yaklaşım gerektirir. Bu özellikle, gruplar arasında sonuçları karıştırmadan farklı kategorilerdeki performansı değerlendirmek veya en iyi ve en düşük kayıtları belirlemek istediğinizde kullanışlıdır. Aşağıdaki yöntemler, gruplar içindeki değerleri sıralamak için pratik çözümler sunar, bu sayede günlük görevlerinizde verilerinizi daha doğru bir şekilde yorumlamanızı ve analiz etmenizi kolaylaştırır.
A screenshot showing a grouped data set with ranked values in Excel

Gruplara göre değerleri sırala
VBA Kodu - Her bir grup içindeki değerleri otomatik olarak sıralamak için makro kullanın


arrow blue right bubble Gruplara göre değerleri sırala

Öğrencileri sınıflara göre puanlamak veya farklı bölgelere göre satışları listelemek gibi farklı gruplarda değerleri sıralama ihtiyacı duyduğunuz durumlarda, Excel'in doğrudan bir "gruba göre sıralama" özelliği bulunmamaktadır. Ancak, iyi tasarlanmış bir formül, fazladan veri işleme yapmadan grup bazında sıralama işlemini etkili bir şekilde gerçekleştirebilir.

Bunu yapmak için mantıksal testleri toplama işlevleriyle birleştiren bir dizi formülü kullanabilirsiniz. Bu yaklaşım, her bir değeri yalnızca belirlenen grubu içinde karşılaştırmanızı sağlar ve her bir veri noktası için gerekli olan sıralamayı üretir.

Aşağıdaki adımları izleyin:

  • Grubu (A2:A11) ve Değeri (B2:B11) gibi sütunlarda gruplandırılmış verilerinizi hazırlayın.
  • Verilerinizin yanındaki boş bir hücre seçin — genellikle ilk satırda değerlerinizin yanındaki hücre, örneğin C2 hücresi.
  • Aşağıdaki formülü girin:
=SUMPRODUCT(($A$2:$A$11=A2)*(B2<$B$2:$B$11))+1

Bu formül, aynı gruptaki kaç değerin şu anki değerden küçük olduğunu sayarak çalışır. İşte her bir parametrenin ne anlama geldiği:

  • ($A$2:$A$11=A2)
    → Bu, A2:A11 aralığındaki her bir hücrenin A2'deki değere eşit olup olmadığını kontrol eder.
    → Her bir satırın A2 ile aynı grupta olup olmadığını temsil eden TRUE/FALSE (veya 1/0) değerlerinden oluşan bir dizi döndürür.
  • (B2<$B$2:$B$11)
    → Bu, B2:B11'deki kaç değerin B2'den büyük olduğunu kontrol eder.
    → Eğer B2 bir değerden küçükse TRUE (1), aksi takdirde FALSE (0) döndürür.
  • * (Çarpma)
    → Bu, iki koşulu birleştirir:
  • Grup eşleşmesi (A2)
    B2'deki değer diğerlerinden küçüktür
    → Yani yalnızca aynı grupta olan ve daha küçük bir değere sahip satırlar sayılacaktır.
  • SUMPRODUCT(...)
    → İki koşulu da karşılayan satır sayısını toplar.
  • +1
    → Sıralama 1'den başlar (0 yerine), bu yüzden daha küçük değerlerin sayısına 1 ekleriz.

Formül C2'ye girildikten sonra, otomatik doldurma tutamacını aşağı çekerek bu formülü veri setinizdeki tüm ilgili satırlar için doldurun. Formül, her bir satırın grubunu ve değerini otomatik olarak alacak ve o gruptaki sıralamayı döndürecektir. A screenshot showing the Excel formula applied to rank values by group in a worksheet

İpuçları ve önlemler:

  • Aralığınız büyükse, hücre referanslarını buna göre güncellemeyi unutmayın.
  • Azalan sırada sıralamalar için (örneğin, en yüksek değer 1 olacak şekilde), formül karşılaştırmasını B2<$B$2:$B$11'den B2>$B$2:$B$11 olarak değiştirin.
  • Tekrarlayan değerlere sahipseniz, bu formül aynı gruptaki eşit değerlere aynı sıralamayı atar. Ardışık benzersiz sıralamalar gerekiyorsa, ek yardımcı sütunlar kullanmayı düşünebilirsiniz.

Bu formül tabanlı yöntem esnektir ve Excel'deki çoğu gruplandırılmış tablo yapısına kolayca uygulanabilir. Ancak çok büyük veri setleri için, hesaplama performansı dizilim mantığına dayandığından yavaşlayabilir.


VBA Kodu - Her bir grup içindeki değerleri otomatik olarak sıralamak için makro kullanın

Sıralama sürecini otomatikleştirmek isteyen kullanıcılar veya daha büyük veri setlerini daha verimli bir şekilde işlemek isteyenler için VBA makrosu yazmak değerli bir yaklaşımdır. Makrolar, tekrar eden adımları otomatikleştirir, daha fazla özelleştirme sağlar ve karmaşık formüllere kıyasla verileri hızlı bir şekilde işler. Bu, zamanlanmış rapor oluşturma, tekrarlanan sıralama görevleri veya çalışma sayfanızda formül karmaşasından kaçınmak istediğiniz senaryolar için idealdir.

Devam etmeden önce, çalışmalarınızı kaydettiğinizden ve Excel ayarlarınızda makroları etkinleştirdiğinizden emin olun. İşte bu çözümü nasıl yazıp çalıştırabileceğiniz:

  1. Alt + F11 tuşlarına basarak VBA düzenleyicisini açın. Görüntülenen Microsoft Visual Basic for Applications penceresinde Ekle > Modül'e tıklayın, ardından aşağıdaki kodu açılan modüle yapıştırın:
Sub RankValuesByGroup()
    Dim DataRange As Range
    Dim GroupRng As Range
    Dim ValueRng As Range
    Dim OutCol As Range
    Dim dictGroups As Object
    Dim arrValues, arrRanks
    Dim i As Long, j As Long
    Dim GroupKey As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set DataRange = Application.InputBox("Select the data table range (including group and value columns)", xTitleId, Selection.Address, Type:=8)
    If DataRange Is Nothing Then Exit Sub
    
    Set GroupRng = Application.InputBox("Select the group column within your range", xTitleId, DataRange.Columns(1).Address, Type:=8)
    Set ValueRng = Application.InputBox("Select the value column to rank within your range", xTitleId, DataRange.Columns(2).Address, Type:=8)
    
    Set OutCol = DataRange.Offset(0, DataRange.Columns.Count).Resize(DataRange.Rows.Count, 1)
    OutCol.Cells(1).Value = "RankByGroup"
    
    Set dictGroups = CreateObject("Scripting.Dictionary")
    arrValues = ValueRng.Value
    arrRanks = ValueRng.Value
    
    ' Build group dictionaries for ranking
    For i = 2 To UBound(arrValues, 1)
        GroupKey = GroupRng.Cells(i, 1).Value
        If Not dictGroups.Exists(GroupKey) Then
            dictGroups.Add GroupKey, CreateObject("System.Collections.ArrayList")
        End If
        dictGroups(GroupKey).Add arrValues(i, 1)
    Next i
    
    ' Rank within each group
    For i = 2 To UBound(arrValues, 1)
        GroupKey = GroupRng.Cells(i, 1).Value
        Dim countLower As Long
        countLower = 0
        For j = 0 To dictGroups(GroupKey).Count - 1
            If dictGroups(GroupKey)(j) < arrValues(i, 1) Then
                countLower = countLower + 1
            End If
        Next j
        arrRanks(i, 1) = countLower + 1
    Next i
    
    ' Output results
    For i = 2 To UBound(arrRanks, 1)
        OutCol.Cells(i, 1).Value = arrRanks(i, 1)
    Next i
    
    MsgBox "Ranking by group completed.", vbInformation, xTitleId
End Sub
  1. Çalıştır'a tıklayın. Bir iletişim kutusu, tam veri aralığınızı, grup sütununu ve değer sütununu seçmenizi isteyecek. Makro, ardından her bir değer için grubun içinde yeni bir sütunda sıralamaları oluşturacaktır.

Notlar ve sorun giderme:

  • Sütun seçimlerinin verilerinizle eşleştiğinden emin olun: grup ve değer sütunları doğru şekilde hizalanmalıdır.
  • Veri başlığı dahil edilirse, doğru sıralama için koddaki ilk döngü indeksini veri yapınıza göre ayarlayın.
  • Azalan sırada sıralamak için, If dictGroups(GroupKey)(j) < arrValues(i,1) karşılaştırmasını buna göre değiştirin.
  • İzin veya makro güvenlik uyarılarıyla karşılaşırsanız, Dosya > Seçenekler > Güven Merkezi altında Excel’in Makro Güvenlik ayarlarını kontrol edin.

Bu VBA yöntemi, özellikle otomatik rapor oluşturma iş akışlarıyla entegre edildiğinde, daha gelişmiş veya ölçeklendirilmiş uygulamalar için esneklik ve güçlü performans sunar.


a screenshot of kutools for excel ai

Kutools AI ile Excel Sihirini Keşfedin

  • Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
  • Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
  • VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
  • Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
  • Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
Yapay zeka destekli araçlarla Excel yeteneklerinizi geliştirin. Şimdi İndirin ve daha önce hiç olmadığı gibi bir verimlilik deneyimi yaşayın!

En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veri analizinde devrim yaratın: Akıllı Yürütme   |  Kod Oluştur  |  Özel Formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur  |  Geliştirilmiş İşlevleri Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle   |  Boş Satırları Sil   |  Sütunları veya Hücreleri Verileri Kaybetmeden Birleştir   |   Formül Olmadan Yuvarla ...
Süper ARA: Çok Kriterli Düşeyara    Çoklu Değer Düşeyara  |   Çoklu sayfa araması   |   Bulanık Eşleme ....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekle  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştır ...
Öne Çıkan Özellikler: Izgara Odaklama   |  Tasarım Görünümü   |   Gelişmiş formül çubuğu    Çalışma Kitabı & Çalışma Sayfası Yöneticisi   |  Otomatik Metin Kütüphanesi (Auto Text)   |  Tarih Seçici   |  Veri Birleştir   |  Hücreleri Şifrele/Şifre Çöz    Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtrele...) ...
En İyi15 Araç Seti12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...)   |   50+ Grafik Türü (Gantt Grafiği, ...)   |   40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...)   |   19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...)   |   12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...)   |   7 Birleştir & Böl Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...)   |   ... ve daha fazlası

Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar.  En çok ihtiyacınız olan özelliği almak için buraya tıklayın...


Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır

  • Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!