KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel'de sayıları sıralarken boş hücreleri nasıl kolayca atlayabilirim?

YazarSun Değiştirme Tarihi

Excel'de veriyle çalışırken sıklıkla içinde boş hücreler olan listelerle karşılaşırsınız. Böyle listelerde RANK veya RANK.EQ gibi standart Excel sıralama işlevlerini kullanırsanız, boş hücreler genellikle sıralama çıktısında hata verir ya da istenmeyen sonuçlar üretir. Bu durum, verilerinizin yorumlanmasını zorlaştırır—özellikle boş hücrelerin hata değerleri göstermek yerine gerçekten boş kalmasını tercih ediyorsanız sorun daha da belirgin hale gelir. Boş hücreleri otomatik olarak boş bırakarak sayıları verimli şekilde sıralamak, sonuçlarınızın açıklığını ve kullanılabilirliğini artırır; ayrıca elektronik tablonuzu daha profesyonel ve okunaklı kılar.

Boş hücreler atlanarak sıralanmış değerler listesini gösteren bir ekran görüntüsü

Bu makalede, söz konusu görevi gerçekleştirmek için formüller ve VBA makroları kullanmaya yönelik adım adım talimatlar yer almaktadır. Genişletilmiş çözümler; yaygın hatalardan kaçınmanıza yardımcı olacak parametre açıklamalarını, pratik ipuçlarını ve sorun giderme önerilerini de içerir.


mavi sağ ok baloncuğu Formüller kullanarak boş hücreleri atlayarak değerleri artan sırada sıralayın

Artan sırada sıralama yapmanız gerekip de boş hücreleri göz ardı etmek istediğiniz durumlarda, boş değerlerin sıralamada dikkate alınmamasını sağlamak amacıyla birden fazla yardımcı sütun ve formül mantığı kullanmak yaygındır.

Uygulanabilir senaryo: Boş hücrelerin konumunu koruyarak, eksik girişlerin sıralama numaralandırmasını etkilememesi gereken sürekli bir Aralık için artan (düşükten yükseğe) sıralama oluşturmak istediğinizde bu yöntemi kullanın.

Boş hücreleri atlayarak artan sıralı bir sıralama yapmak için, sonucu oluşturmak üzere iki yardımcı sütun kullanan aşağıdaki adımları izleyin:

1. Değerlerinizin yanındaki boş bir hücreyi seçin – örneğin, listeniz A2’den başlıyorsa, B2 hücresini – ve aşağıdaki formülü girin:

=IF(ISBLANK($A2),"",VALUE($A2&,"."&,(ROW()-ROW($B$2))))

Formül, A2 hücresi boşsa boş değer döndürür; aksi takdirde A2’nin değerine göre ondalık sayılar üretir ve formülü veri içeren tüm satırlara kopyalamak için doldurma tutamacını aşağı doğru sürüklediğinizde .0, .1, .2, .3 vb. ekler.

Excel'de boşları atlayarak değerleri sıralamak için kullanılan formülün ekran görüntüsü

Parametre açıklamaları ve ipuçları:

  • $A2: Sıralanacak ilk hücre. Listeniz farklı bir satırda başlıyorsa, burayı güncelleyin.
  • $B$2: Formülü girdiğiniz hücre. Formül aşağı doğru doldurulduğunda doğru şekilde davranması için mutlak başvurulara (örn. $A2 ve $B$2) dikkat edin.

2. Bir sonraki sütunda, örneğin C2 hücresine, yardımcı değerlerin sıralı listesini oluşturmak için aşağıdaki formülü girin:

=SMALL($B$2:$B$8,ROW()-ROW($C$1))

Bu formül, aşağı kopyalandıkça B2:B8 aralığından (not: verileriniz daha uzunsa aralığı değiştirin) en küçükten başlayarak sırayla değerleri çeker.

Excel'de değerleri sıralamak için uygulanmış KÜÇÜK formülünün ekran görüntüsü

Parametre açıklamaları:

  • $B$2:$B$8: Önceki (ilk) yardımcı formülün kullanıldığı aralık.
  • $C$1: Formülü girdiğiniz hücrenin hemen üstündeki hücredir; bu ofset, sıralama düzenini belirler.

3. D2hücresine, boş hücreleri olduğu gibi bırakarak sıralama atamak için aşağıdaki formülü girin:

=IFERROR(MATCH($B2,$C$2:$C$8,0),"")

Bu formül, B2 hücresindeki değeri C2:C8 aralığındaki sıralı sonuçlarla eşleştirir. Eşleşme varsa ilgili sırayı verir; eşleşme yoksa (örneğin boş hücreler için) hiçbir şey döndürmez ve bu sayede boş hücrelerin görünümü korunur. Formülü ilgili tüm satırlara uygulamak için doldurma tutamacını aşağı doğru sürükleyin.

Boş hücreleri yok sayarak sıralama oluşturmak için EŞLEŞTİRME formülünün ekran görüntüsü

Parametreler:

  • $B2: Sıralamada yardımcı değer içeren hücre.
  • $C$2:$C$8: Sıralanmış yardımcı değerlerin bulunduğu aralık.

Önlemler: Veri ekler veya kaldırırsanız, her formüldeki tüm aralıkları yeni veri boyutunuza göre güncellemeyi unutmayın. Çok büyük listelerde manuel aralık ayarlamalarını azaltmak için dinamik aralıklar ya da Excel Tabloları kullanmayı düşünün.

Sorun Giderme: Sıralamalar eksik veya hizasız görünüyorsa, tüm yardımcı formül aralıklarının doğru şekilde hizalandığından emin olun. Sütunlar arasındaki hizasızlık, yanlış sıralamalara ya da istenmeyen hatalara yol açabilir.


mavi sağ ok baloncuğu Bir formül kullanarak boş hücreleri atlayarak değerleri azalan sırada sıralayın

Azalan sıralama atamak istediğinizde (en yüksek değere 1. sıra verilir), yalnızca bir formül kullanan daha hızlı bir yaklaşım mevcuttur. Bu yöntem, özellikle test puanları, satış hedefleri ve benzeri veri kümeleri için son derece kullanışlıdır; çünkü boş hücreler eksik ya da mevcut olmayan bilgileri temsil eder ve bu hücrelerin sıralama pozisyonu almasını veya hata vermesini istemezsiniz.

Çıkarılan sonucun görünmesini istediğiniz ilk veri girişinin bulunduğu satırda bir hücre seçin ve şunu girin:

=IF(ISNA(RANK(A2,A$2:A$8)),"",RANK(A2,A$2:A$8))

Formülü girdikten sonra, verilerinizin yanına kopyalamak için doldurma tutamacını kullanın. Bu formül, RANKişlevinin hata verip vermediğini kontrol eder (örneğin)A2 boşsa); hata varsa “#YOK” yerine sonucu boş bırakır. Hücre geçerli bir değer içeriyorsa uygun sıralamayı görüntüler.

Boş hücreleri yoksayarak sayıları azalan sırada nasıl sıralayacağınızı gösteren bir ekran görüntüsü

Parametreler:

  • A2: Sıralanacak hücre (Veri Aralığı’na göre ayarlayın).
  • A$2:A$8: Verilerinizin tam aralığı (kopyalarken mutlak başvuruyu kullanın).

Hata hatırlatıcıları: Hâlâ “#YOK” hataları görüyorsanız, formül başvurularının amaçlanan Veri Aralığı’Niza kullandığınızı ve sıralanan hücrelerde sayısal olmayan değerlerin bulunmadığını tekrar kontrol edin.


mavi sağ ok baloncuğu Boş hücreleri atlayarak değerleri VBA ile sıralayın

Makrolarla rahat çalışan ve boş hücreler içeren bir aralıkta sıralamayı – artan ya da azalan sırada olsun – otomatikleştirmek isteyen kullanıcılar için özel bir VBA makrosu, birden fazla yardımcı sütun ve sürekli formül bakım ihtiyacını ortadan kaldırarak süreci büyük ölçüde basitleştirebilir.

Nasıl kullanılır:

1. Geliştirici sekmesine gidin ve Visual Basic düğmesine tıklayarak Microsoft Visual Basic for Applications düzenleyicisini açın. Geliştirici sekmesi görünmüyorsa şu kılavuza bakın: Excel'de Geliştirici sekmesini göster.

2. Yeni Microsoft Visual Basic for Applications penceresinde, Ekle > Modül seçeneğine tıklayın ve aşağıdaki kodlardan birini Modül penceresine yapıştırın:

  • Boş hücreleri atlayarak artan sıralı bir sıralama yapmak için:
    Sub RankSkipBlank_Ascending()
        Dim WorkRng As Range
        Dim Cell As Range
        Dim NumArr() As Double
        Dim Ws As Worksheet
        Dim OutputCell As Range
        Dim i As Long, j As Long
        
        On Error Resume Next
        xTitleId = "KutoolsforExcel"
        
        Set WorkRng = Application.Selection
        Set WorkRng = Application.InputBox("Please select the range to rank", xTitleId, WorkRng.Address, Type:=8)
        Set Ws = WorkRng.Worksheet
        
        Set OutputCell = Application.InputBox("Please select the first cell to output the ascending ranking", xTitleId, Type:=8)
        If OutputCell Is Nothing Then Exit Sub
        
        j = 0
        ReDim NumArr(1 To WorkRng.Rows.Count)
        
        For Each Cell In WorkRng
            If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
                j = j + 1
                NumArr(j) = Cell.Value
            End If
        Next Cell
        
        Dim temp As Double
        Dim k As Long
        
        For i = 1 To j - 1
            For k = i + 1 To j
                If NumArr(i) > NumArr(k) Then    ' ← CHANGE HERE
                    temp = NumArr(i)
                    NumArr(i) = NumArr(k)
                    NumArr(k) = temp
                End If
            Next k
        Next i
        
        Dim RankArr() As Double
        ReDim RankArr(1 To j)
        For i = 1 To j
            RankArr(i) = NumArr(i)
        Next i
        
        Dim RankValue As Long
        Dim r As Long: r = 0
        
        For Each Cell In WorkRng
            r = r + 1
            If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
                RankValue = 0
                For k = 1 To j
                    If Cell.Value = RankArr(k) Then
                        RankValue = k        ' 1 = smallest
                        Exit For
                    End If
                Next k
                OutputCell.Offset(r - 1, 0).Value = RankValue
            Else
                OutputCell.Offset(r - 1, 0).Value = ""
            End If
        Next Cell
    
    End Sub
  • Boş hücreleri atlayarak azalan sıralı bir sıralama yapmak için:
    Sub RankSkipBlank_Descending()
        Dim WorkRng As Range
        Dim Cell As Range
        Dim NumArr() As Double
        Dim Ws As Worksheet
        Dim OutputCell As Range
        Dim i As Long, j As Long
        
        On Error Resume Next
        xTitleId = "KutoolsforExcel"
        
        Set WorkRng = Application.Selection
        Set WorkRng = Application.InputBox("Please select the range to rank", xTitleId, WorkRng.Address, Type:=8)
        Set Ws = WorkRng.Worksheet
        
        Set OutputCell = Application.InputBox("Please select the first cell to output the descending ranking", xTitleId, Type:=8)
        If OutputCell Is Nothing Then Exit Sub
        
        j = 0
        ReDim NumArr(1 To WorkRng.Rows.Count)
        
        For Each Cell In WorkRng
            If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
                j = j + 1
                NumArr(j) = Cell.Value
            End If
        Next Cell
        
        Dim temp As Double
        Dim k As Long
        
        For i = 1 To j - 1
            For k = i + 1 To j
                If NumArr(i) < NumArr(k) Then
                    temp = NumArr(i)
                    NumArr(i) = NumArr(k)
                    NumArr(k) = temp
                End If
            Next k
        Next i
        
        Dim RankArr() As Double
        ReDim RankArr(1 To j)
        For i = 1 To j
            RankArr(i) = NumArr(i)
        Next i
        
        Dim RankValue As Long
        Dim r As Long: r = 0
    
        For Each Cell In WorkRng
            r = r + 1
            If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
                RankValue = 0
                For k = 1 To j
                    If Cell.Value = RankArr(k) Then
                        RankValue = k
                        Exit For
                    End If
                Next k
                OutputCell.Offset(r - 1, 0).Value = RankValue
            Else
                OutputCell.Offset(r - 1, 0).Value = ""
            End If
        Next Cell
    
    End Sub

3. Makroyu çalıştırmak için F5 tuşuna basın. Önce sıralamak istediğiniz aralığı seçmenizi isteyen bir iletişim kutusu açılacak. Ardından, sıralama sonuçlarının yerleştirileceği ilk hücreyi belirlemenizi isteyen başka bir iletişim kutusu görünecek. Makro, ardından seçtiğiniz hücreden başlayarak sıralamaları yerleştirecek ve Kaynak aralığındaki boş hücreleri olduğu gibi bırakacaktır.

İpuçları:

  • Hiçbir şey olmazsa, makroların etkinleştirildiğini ve çalışma kitabınızda kod çalıştırmaya izniniz olduğundan emin olun.
  • VBA makrosunu çalıştırmak geri alınamaz. Makroyu çalıştırmadan önce verilerinizi kopyalayın veya yedekleyin.

En İyi Office Üretkenlik Araçları

🤖KUTOOLS AI Yardımcısı: Şunu temel alarak Veri Analizi’i devrimleştirin:Akıllı Yürütme   |  Kod Oluştur|  özel formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur|  Geliştirilmiş İşlevler Çağır…
Popüler Özellikler:Bul, Vurgula veya Yinelenenleri İşaretle   |  Boş Satırları Sil   |  Veri Kaybetmeden Sütunları Birleştir veya Hücreleri   |   Formül kullanmadan yuvarlama…
Süper ARA:Çoklu Kriterli Dikey Arama (VLookup)  |  Çoklu Değerli Dikey Arama (VLookup)  |   Birden Fazla Sayfada Dikey Arama (VLookup)   |   Bulanık Eşleme…
Gelişmiş Açılır Liste:Açılır Liste Hızlıca 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 Aç/Kapat|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ı ve Sayfa Yöneticisi   |  Kaynaklar(Otomatik Metin)|  Tarih Seçici   |  Çalışma Sayfalarını Birleştir  |  Şifrele/Hücreleri Şifre Çöz   | Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre(Kalın Yazılı Hücreleri Filtrele/italik/üstü çizili…) …
En Çok Kullanılan 15 Araç Setleri:12 MetinAraçları(Metin Ekle,Belirli Karakterleri Sil, …)|   50+GrafikTürleri(Gantt Grafiği, …)|   40+ Pratik Formüller(Doğum tarihine dayanarak yaş hesapla, …)|   19 EklemeAraçları(QR Kodu Ekle,Yoldan Resim Ekle, …)|   12 DönüştürmeAraçları(Kelimeye Dönüştür,Döviz Kuru Dönüşümü, …)|   7 Birleştir ve AyırAraçları(Gelişmiş Satırları Birleştir,Hücreleri Böl, …)|… ve daha fazlası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40+ başka dillerde de desteklenir!

Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…


Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.

  • Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
  • Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!

Tüm Kutools eklentileri — tek bir kurulum dosyasında!

Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.

ExcelWordOutlookTabsPowerPoint
  • Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
  • Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
  • 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
  • En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar