Skip to main content

Kutools for Office — Bir Paket. Beş Araç. Daha Fazla İş Yapın.

Excel'de satır eklerken veya silerken her zaman üstteki hücre değerini nasıl alabilirim?

Author Xiaoyang Last modified

Excel'de, doğrudan üstteki hücrenin değerine atıfta bulunmak, devam eden toplamlar oluştururken, aylık karşılaştırmalar yaparken veya çalışma sayfanız gelişirken veri tutarlılığını korurken sıkça karşılaşılan bir gerekliliktir. Normalde, =D5 gibi basit bir formül kullanarak üstteki hücreye atıfta bulunabilirsiniz, ancak bu çözümün sınırlamaları vardır: satır eklerseniz veya silerseniz, formülünüz beklediğiniz gibi yeni "üst" hücreyi işaret etmeyi sürdürmeyebilir. Aşağıda gösterildiği gibi, yukarıdan yeni bir satır eklemek sürekliliği bozabilir veya referansın orijinal hücreye bağlı kalmasına neden olabilir ve yeni pozisyona göre ayarlanmaz.

A screenshot showing how the reference to the above cell breaks after inserting a row in Excel

Bu sorunu çözmek ve formülünüzün her zaman üstteki hücreden değeri almasını sağlamak için, satır eklemenize veya silmenize rağmen birkaç yaklaşım izleyebilirsiniz. Her yöntem, çalışma sayfanızın karmaşıklığına, otomatik güncelleme mi yoksa manuel formül mü istediğinize ve VBA/makroları kullanmaktan rahatsız olup olmadığınıza bağlı olarak farklı avantajlar ve dezavantajlar sunar.

İçindekiler tablosu:


arrow blue right bubble Satır eklerken veya silerken her zaman üstteki hücre değerini alma formülü ile

Bu sorunu, makrolar veya karmaşık kurulum gerektirmeden basit bir şekilde ele almak için, satırlarınız nasıl değişirse değişsin dinamik olarak üstteki hücreye atıfta bulunan bir formül kullanabilirsiniz. Formül, Excel'in DOLAYLI ve ADRES fonksiyonlarını kullanır, böylece satırlar ekleme veya silme nedeniyle kaydırılsa bile referans her zaman "üstteki" hücreyi takip eder. Bu, özellikle listenin üstüne veya ortasına yeni veriler eklediğiniz durumlarda satır yapısını sıklıkla değiştirdiğiniz çalışma sayfaları için uygundur.

Aşağıdaki formülü, her zaman üstteki hücreden değer almak istediğiniz hücreye doğrudan girin (örneğin, B5'i referans almak istiyorsanız B6'ya):

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))

Formülü yazdıktan sonra Enter tuşuna basın. Geçerli hücre anında hemen üstündeki hücrenin değerini gösterecektir, aşağıda gösterildiği gibi:

A screenshot showing the formula to reference the above cell in Excel using INDIRECT and ADDRESS

Şimdi, başvuru formülü olan hücrenin üstüne yeni bir satır eklerseniz, formül yeniden hesaplanacak ve her zaman üstteki yeni hücreden değer gösterecektir. Bu sayede, satır eklemelerine veya silmelerine bakılmaksızın formülleriniz her zaman güncel kalır. Referans için aşağıdaki ekran görüntüsüne bakın:

A screenshot showing the correct cell reference maintained after inserting a row in Excel

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

  • Bu formül, geçerli formül hücresinin hemen üstündeki hücrenin değerini çekecektir—bu nedenle B6'da kullanırsanız, üstte satır eklense veya silinse bile her zaman B5'i yansıtacaktır.
  • Bu formülü verilerinizin ilk satırında (örneğin A1) kullanırsanız, mevcut olmayan bir satırdan veri çekmeye çalışabilir ve #BAŞV! hatası verebilir. Bunu önlemek için, ilk satırda boş göstermek üzere şu şekilde hata işleme ekleyebilirsiniz: =EĞER(SATIR()=1;"";DOLAYLI(ADRES(SATIR()-1;SÜTUN())))
  • Unutmayın ki DOLAYLI fonksiyonu uçucu bir fonksiyondur, bu nedenle aşırı derecede büyük çalışma sayfalarında, fazla kullanımı hesaplamaları yavaşlatabilir.
  • Bu formülü, çalışma sayfası yapınız ne kadar değişirse değişsin satır konumuyla kesin bir ilişkiyi korumak istediğinizde kullanmak iyi sonuç verir.

Sorun giderme ve özet öneriler:
Formülünüz satır ekledikten veya sildikten sonra beklenen şekilde güncellenmiyorsa, doğru hücreye girildiğinden emin olmak için tekrar kontrol edin. Ayrıca, statik olan mutlak hücre referanslarını ($A$1 gibi) kullanmadığınızdan emin olun. Eğer karşılaşırsanız #REF! ilk satırda hatalar varsa, daha önce bahsedilen koşullu formülü kullanmayı düşünün. Gelişmiş otomasyon için veya değerin yalnızca referans değil kopyalanması gerekiyorsa, dinamik, kod tabanlı bir yaklaşım için aşağıdaki VBA olay odaklı makro çözümüne bakın.


arrow blue right bubbleVBA olay odaklı makro kullanarak hücre değerini otomatik olarak üst hücreden güncelleme (her zaman dinamik)

Eğer hücre değeri her zaman otomatik olarak üst hücreyle eşleşecek şekilde güncellenmesini istiyorsanız - satır eklemenize veya silmenize bakılmaksızın - ve bu davranışı formüller kopyalamadan yönetmek istiyorsanız, olay odaklı bir VBA makrosu kullanmak etkilidir. Bu yöntem, makroları etkinleştirmekten rahatsız olmayan kullanıcılar için idealdir ve dinamik güncelleme sağlar: belirli bir hücreyi veya aralığı seçtiğinizde veya bir değeri değiştirdiğinizde, makro anında hedef hücreyi her zaman üstteki hücrenin değerine eşit yapar, böylece çalışma sayfanız nasıl değişirse değişsin veri girişini tutarlı hale getirir. Bu özellikle her yeni satırda sabit bir desen veya varsayılan değer düzeni olmasını istediğiniz şablonlarda çok yararlıdır.

İşte Çalışma Sayfası_Değiştirme olayını kullanarak bunu ayarlamak için:

1. Bu işlevselliği istediğiniz çalışma sayfası sekmesine sağ tıklayın ve Kodu Görüntüle'yi seçin. Microsoft Visual Basic for Applications düzenleyici, doğru çalışma sayfası modülüne açılacaktır.

2. Aşağıdaki VBA kodunu çalışma sayfası modülü penceresine kopyalayıp yapıştırın:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim WatchRange As Range
    On Error Resume Next
    ' Set the range you want to monitor (for example, B2:B100)
    Set WatchRange = Intersect(Target, Me.Range("B2:B100"))
    
    If Not WatchRange Is Nothing Then
        Application.EnableEvents = False
        Dim cell As Range
        
        For Each cell In WatchRange
            ' Avoid the first row, or adjust as needed
            If cell.Row > 1 Then
                cell.Value = Me.Cells(cell.Row - 1, cell.Column).Value
            End If
        Next cell
        
        Application.EnableEvents = True
    End If
End Sub

Parametre notları: Me.Range("B2:B100") içindeki "B2:B100" ifadesini, bu davranışı istediğiniz gerçek aralıkla değiştirin (bunu bir bütün sütuna, örneğin "B:B" olarak ayarlayabilirsiniz, ancak aralığı daraltmak performansı artırır ve istenmeyen üzerine yazmalardan kaçınır).

3. VBA düzenleyicisini kapatın. Artık bir hücre değiştirildiğinde, eklendiğinde veya çalışma sayfanız belirtilen aralıkta güncellendiğinde, Excel bu hücreleri otomatik olarak üstteki hücrenin değerini yansıtacak şekilde güncelleyecektir. Örneğin, 5. satıra bir satır eklerseniz, B sütunundaki tüm izlenen hücreler o noktadan itibaren yeni pozisyonlarının hemen üstündeki hücreden değeri alır.

  • Dikkatli olun: bu kod, izlenen aralıktaki manuel olarak girilen değerlerin üzerine yazacaktır. Formül hücreleriniz varsa veya orijinal girişleri korumak istiyorsanız dikkatli kullanın.
  • Gelecekte bu VBA makrosunu çalışma kitabında kullanmaya devam etmek istiyorsanız, dosyayı makro etkin çalışma kitabı (.xlsm) olarak kaydetmeniz gerekir.
  • Olay kodu, makronun yapıştırıldığı çalışma sayfası modülünde çalışacaktır (tüm sayfalar arasında değil, her sayfa modülüne kod eklenmediği sürece).
  • Güncelleme, bir değeri değiştirmek yerine bir hücre seçildiğinde gerçekleşmesini istiyorsanız, Çalışma Sayfası_SeçimDeğişikliği ve benzer bir mantık kullanabilirsiniz.

Sorun giderme ve özet öneriler:
VBA betiği kopyaladıktan sonra çalışmıyorsa, çalışma kitabınızda makroların etkin olduğundan ve kodu doğru sayfa modülüne (standart bir modüle değil) yapıştırdığınızdan emin olun. Hatalar alıyorsanız veya Excel donuyorsa, otomatik hücre değişikliklerinden önce Application.EnableEvents'in False olarak ayarlandığından ve sonrasında True olarak sıfırlandıktan emin olun, böylece özyinelemeli döngüden kaçınılmış olur. Diğer gelişmiş davranışlar veya daha ince kontrol için, veri yapınıza göre özel komut dosyası yazmayı düşünü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 | Kutools Fonksiyonlarını Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle | Boş Satırları Sil | Sütunları veya Hücreleri Veriyi 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ş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ı & 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 | 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 İyi15 Araç Takımı: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ştirme & Bölme Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...) | ... ve dahası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve40+ diğer dili destekler!

Kutools for Excel ile Excel becerilerinizi güçlendirin ve benzersiz bir verimlilik deneyimi yaşayın. Kutools for Excel, üretkenliği artırmak ve zamandan tasarruf etmek için300'den fazla Gelişmiş Özellik sunuyor. İhtiyacınız olan özelliği almak için buraya tıklayın...


Office Tab, Ofis uygulamalarına 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.
  • Yeni pencereler yerine aynı pencerede yeni sekmelerde birden fazla belge açıp oluşturun.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce mouse tıklaması azaltır!

Tüm Kutools eklentileri. Tek kurulum

Kutools for Office paketi, Excel, Word, Outlook & PowerPoint için eklentileri ve Office Tab Pro'yu bir araya getirir; Office uygulamalarında çalışan ekipler için ideal bir çözümdür.

Excel Word Outlook Tabs PowerPoint
  • Hepsi bir arada paket — Excel, Word, Outlook & PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans — dakikalar içinde kurulun (MSI hazır)
  • Birlikte daha verimli — Ofis uygulamalarında hızlı üretkenlik
  • 30 günlük tam özellikli deneme — kayıt yok, kredi kartı yok
  • En iyi değer — tek tek eklenti almak yerine tasarruf edin