Skip to main content

Bitişik hücre boş değilse Excel'de satırları nasıl otomatik numaralandırabiliriz?

Author: Xiaoyang Last Modified: 2025-08-07
autonumber rows if adjacent cell not blank

Excel'de, seriler oluşturmak için dolgu tutamacını kullanarak manuel olarak seri numaraları veya liste dizinleri oluşturma yaygın bir yoldur. Ancak genellikle yalnızca belirli bir bitişik hücrede veri varsa satırları numaralandırmak isteyebileceğiniz durumlar olur. Örneğin, bir listede otomatik olarak satır numaraları oluşturmak isteyebilirsiniz, ancak bitişik veri hücrelerinin boş olduğu yerlerde numaralandırmayı atlamak istersiniz. Daha da önemlisi, bu numaraların veri girildikçe veya çıkarıldıkça anında güncellenmesini bekleyebilirsiniz — herhangi bir manuel müdahale olmadan her zaman güncel bir sıra sağlar.

Formül ile bitişik hücre boş değilse satırları otomatik numaralandırma

VBA kodu ile bitişik hücre boş değilse satırları otomatik numaralandırma


arrow blue right bubble Formül ile bitişik hücre boş değilse satırları otomatik numaralandırma

Bitişik hücre değerlerine dayalı dinamik satır numaralandırmasını gerçekleştirmenin etkili bir yolu Excel formülü kullanmaktır. Bu yaklaşımla, bitişik hücrede bir değer olduğunda satır numaraları görüntülenir. Bu hücrelere veri eklediğinizde veya sildiğinizde, numaralandırma otomatik olarak güncellenir. İşte kullanabileceğiniz pratik bir yöntem:

1. Numaralandırmayı başlatmak istediğiniz hücreyi seçin (örneğin, verileriniz B2'de başlıyorsa A2). Aşağıdaki formülü girin:

=IF(B2<>"",COUNTA($B$2:B2),"")
İpucu: Bu formül, B2 hücresinin boş olmadığını kontrol eder. Eğer B2'de veri varsa, B2'den şu anki satıra kadar olan tüm boş olmayan hücreleri sayar ve değer içeren satırlar için sürekli bir dizi oluşturur. Eğer B2 boşsa, formül boş döner ve sıra hücresi boş kalır.

2. Ardından, formülü diğer satırlara uygulamak için dolgu tutamacını verilerinizle birlikte aşağı sürükleyin. Numaralandırma otomatik olarak ayarlanacak ve yalnızca B sütununda veri bulunan satırlar için numaralar görüntülenecektir.

autonumber if not blank with formula

Not: Bu yöntem özellikle yeni verilerin herhangi bir zamanda eklenebileceği, silinebileceği veya değiştirilebileceği listeler için faydalıdır çünkü sıra her zaman doğru kalır ve manuel yeniden numaralandırma veya hesaplama gerektirmez. Ancak, verilerinizde boş hücrelerin (örneğin, kasıtlı boşluklar) olduğunu unutmayın, bu satırlar numaralandırılmayacaktır.

Eğer numaralar beklendiği gibi güncellenmiyorsa, formülün tüm ilgili satırlara kopyalandığından ve aralığınızı bozan birleştirilmiş hücreler veya veri doğrulamalarının olmadığından emin olun. Formüllerin doğru referanslamaya dayandığını ve çalışma sayfasının yapısındaki değişikliklerden etkilenebileceğini unutmayın.


arrow blue right bubble VBA kodu ile bitişik hücre boş değilse satırları otomatik numaralandırma

Daha gelişmiş kullanıcılar için veya formülleri çalışma sayfanızda kullanmayı tercih etmediğiniz durumlarda — veya veri yapıştırırken, blokları kaldırırken veya sık sık değişiklikler yaparken numaralandırmanın güncellenmesi gerektiğinde — VBA makrosu etkileyici bir alternatif sunar. VBA kullanarak, formüller olmadan bitişik hücre düzenlendiğinde bir sütundaki satır numaralarını otomatik olarak güncelleyebilirsiniz. Bu, veri giriş formları, içe aktarma günlükleri veya sık sık düzen değişiklikleri yapılan görev listeleri için idealdir.

1. Visual Basic for Applications düzenleyici penceresini açmak için Alt + F11 tuşlarına basın. Proje Gezgini'nde çalışma kitabınızı bulun, ardından "Microsoft Excel Objects" altında ilgili çalışma sayfasına (“Sheet1” gibi) çift tıklayın.

2. Görüntülenen kod penceresine aşağıdaki kodu yapıştırın. Bu örnek, B sütununun boş olmadığına göre A sütunundaki satırları numaralandırmak istediğinizi varsayar; gerekirse belirli aralıklar için referansları ayarlayabilirsiniz:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim chk As Range
    Set chk = Intersect(Target, Me.Columns("B"))
    If chk Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    Call RenumberNonBlank(Me, "B", "A", 2)
    Application.EnableEvents = True
End Sub
Sub RenumberNonBlank(ws As Worksheet, _
                    keyCol As String, _
                    numCol As String, _
                    firstDataRow As Long)
    Dim lastRow As Long
    Dim r As Long
    Dim seq As Long
    lastRow = ws.Cells(ws.Rows.Count, keyCol).End(xlUp).Row
    seq = 1
    For r = firstDataRow To lastRow
        With ws
            If Trim(.Cells(r, keyCol).Value) <> "" Then
                .Cells(r, numCol).Value = seq
                seq = seq + 1
            Else
                .Cells(r, numCol).ClearContents
            End If
        End With
    Next r
End Sub

3. VBA düzenleyicisini kaydedip kapatın. Artık B sütununa içerik eklediğinizde, düzenlediğinizde veya temizlediğinizde, A sütunu hemen yeniden numaralandırılacak ve verilerin varlığına (veya yokluğuna) göre güncellenecektir. Sıra, B sütununa giriş ekledikçe veya çıkardıkça yukarı veya aşağı kayacaktır.

Notlar ve Önlemler: Bu makro, hücre düzenlemelerine yanıt vermesi için özellikle istenilen çalışma sayfası kod penceresine yerleştirilmelidir (bir modülde veya ThisWorkbook'da değil). Ayrıca, kodun çalışması için Excel ayarlarınızda makroların etkin olduğundan emin olun. "Veri aralığınız" A ve B sütunlarının dışına kayarsa, Set chk = Intersect(Target, Me.Columns("B")) ve Call RenumberNonBlank(Me, "B", "A", 2) referanslarını buna göre güncelleyin.

Sorun Giderme: Eğer numaralandırma güncellenmiyorsa, doğru çalışma sayfasını düzenlediğinizden ve kodun uygun çalışma sayfası kod penceresine yerleştirildiğinden emin olun. Ayrıca, çalışma kitabını makro etkin dosya olarak (.xlsm) kaydettiğinizden emin olun. Beklenmedik hatalar için, birleştirilmiş hücreler veya başlık satırlarındaki veriler gibi çalışma sayfanızın yapısını değiştirmeden tekrar kontrol edin.


En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veriye dayalı analizi devrimsel olarak değiştirin: Akıllı Yürütme |Kod Oluştur |Özel Formüller Oluştur |Verileri Analiz Edin ve Grafikler Oluşturun |Geliştirilmiş İşlevler’i çağırın
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: Çoklu Kriter VLookup | Çoklu Değer VLookup | Çoklu sayfa araması | Bulanık Eşleme....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluşturun | 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ı & Sütunları Karşılaştır...
Özel Seçilen Ö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 | 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 filtreleme...)...
En Gözde15 Araç Seti:12 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 Araç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 ve40’tan fazla başka dili destekler!

Kutools for Excel ile Excel becerilerinizi güçlendirin, daha önce hiç yaşamadığınız bir verimlilik deneyimini yaşayın. Kutools for Excel, üretkenliğinizi artıracak ve zamanı kaydetmenizi sağlayacak300’den fazla gelişmiş özellik sunar. En çok ihtiyaç duyduğunuz özelliği almak için buraya tıklayın...


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

  • Word, Excel, PowerPoint’te sekmeli düzenleme ve okuma işlevini etkinleştirin.
  • Aynı pencere içerisinde yeni sekmelerde birden fazla belge açın veya oluşturun, yeni pencerelerde açmak yerine.
  • Verimliliğinizi %50 artırın, her gün yüzlerce fare tıklamasını sizin için azaltın!