Excel'de Önceki Değeri Elde Etme Yöntemleri
Aynı sütundaki önceki değeri elde etmek için, yukarıdaki hücreye göreli başvuru kullanmak yeterlidir (örneğin, A2 hücresindeyken =A1). Görev daha karmaşıksa — önceki bir tarihe veya koşula göre değer bulmak gibi — DİZİN, KAÇINCI veya ARA işlevlerinin kombinasyonları uygulanır. Yöntem seçimi verilerinizin yapısına bağlıdır: basit bir liste, tarihli bir tablo veya dinamik bir aralık.
Önceki Satıra Basit Başvuru
En yaygın senaryo, mevcut göstergeyi önceki dönemle (satırla) karşılaştırmaktır. Bu durumda karmaşık işlevlere gerek yoktur, hücre adresleme yeterlidir.
Hücrenin hemen üstündeki hücreyi işaret eden bir formül girin:
=A1 (formül A2 hücresine giriliyorsa).
Göreli başvurular kullanın ($ işaretleri olmadan). Formülü aşağıya doğru sürüklediğinizde (otomatik doldurma tutamacıyla), Excel A1 ifadesini otomatik olarak A2, A3 vb. şeklinde değiştirerek her zaman üst satırdaki değeri alır.
Değişim hesaplama örneği:
Varsayalım ki B sütununda günlük satışlar bulunmaktadır. C sütununda önceki günle farkı göstermeniz gerekmektedir.
C2hücresine şunu girin:=B2-B1.- Formülü tablonun sonuna kadar sürükleyin.
- İlk satır için (
C1) formüle gerek yoktur veya önceki değer olmadığından 0/boşluk döndürmelidir.
Tarihe Göre Önceki Değeri Arama
Veriler kesintisiz bir liste halinde değilse (tarihlerde boşluklar varsa) veya belirli bir geçmiş tarih için değer bulmanız gerekiyorsa, basit A1 başvurusu uygun olmaz. Burada arama işlemi gereklidir.
Yöntem 1: Tam Tarih Eşleşmesi (ARA İşlevi)
Bu yöntemi, tabloda dün için bir kaydın kesinlikle bulunduğu durumlarda kullanın.
Formül, "bugün eksi 1 gün" tarihini arar ve ilgili değeri döndürür:
=ARA(A2-1; $A$2:$B$100; 2; 0)
Burada A2 mevcut tarih, $A$2:$B$100 veri aralığı, 2 ise aranan değerin bulunduğu sütun numarasıdır.
Yöntem 2: En Yakın Küçük Tarih (DİZİN + KAÇINCI)
Dün için veri yoksa ancak geçmişten en son mevcut değeri almanız gerekiyorsa:
=DİZİN($B$2:$B$100; KAÇINCI(MAKS(EĞER($A$2:$A$100<A2; $A$2:$A$100)); $A$2:$A$100; 0))
Bu bir dizi formülüdür. Excel'in eski sürümlerinde Ctrl+Shift+Enter tuş kombinasyonu ile onaylanması gerekir. Yeni sürümlerde (Office 365, Excel 2021+) otomatik olarak çalışır. Tarih sütununun artan düzende sıralandığından emin olun.
Akıllı Tablolarla Çalışma
Aralığınız "Akıllı Tablo"ya dönüştürülmüşse (Ekle → Tablo yoluyla), başvurular daha okunabilir hale gelir ancak mantık aynı kalır.
Tablo içinde aynı sütundaki ancak önceki satırdaki bir değere başvurmak için, satır numarasını hesaplayan DİZİN işlevini kullanın:
=DİZİN([Satışlar]; SATIR()-SATIR(Tablo1[#Başlıklar])-1)
Ancak tablo içinde en kolayı, normal bir aralıkta olduğu gibi yukarıdaki hücreye göreli başvuru kullanmaktır. =[@Satışlar] gibi yapılandırılmış başvurular mevcut satıra atıfta bulunduğundan, önceki satır için klasik adreslemeyi (örneğin, B3'teyseniz =B2) bırakmak veya filtreleme sırasında güvenilirlik için DİZİN kullanmak daha iyidir.
Kayan Göstergelerin Hesaplanması
Çoğu zaman "önceki değer" tek başına değil, bir trendi hesaplamak için (kayan ortalama, dönem maksimumu) gerekir.
| Görev | Formül (5. satır için, A2:A5 aralığı) | Açıklama |
|---|---|---|
| Son 3 dönemin ortalaması | =ORTALAMA(A3:A5) | Eski verileri yoksayar, sadece "son kısmı" alır |
| Geçen ayın maksimumu | =MAKS($A$2:A4) | Başlangıç referansı sabitlenir, son kısım hareket eder |
| Öncekiyle fark | =A5-A4 | Temel aritmetik |
Her zaman son N satırı içeren dinamik bir aralık oluşturmak için KAYDIRMA işlevini kullanmak uygundur:
=ORTALAMA(KAYDIRMA(A5; -2; 0; 3; 1))
Bu formül, mevcut hücrede biten 3 hücreyi alır (mevcut olandan 2 satır yukarı kaydırılır ve 3 yükseklik yakalanır).
Sık Yapılan Hatalar
- İlk satırda #BAŞV!
=A1formülünü verilerin en ilk satırına (örneğin A1'e) kopyalarken,A0hücresi mevcut olmadığından bir hata oluşur. Formülü bir kontrole sarın:=EĞER(SATIR()=2; ""; A1). - Yanlış tarih formatı. Tarihlerde arama yaparken, hücrelerde metin yerine gerçekten tarihlerin saklandığından emin olun. "01.01.2026" metin temsili, tarih sayısına eşit olmayacak ve
ARAhata döndürecektir. - Sıralama sırasında bozulan başvurular. Sabit hücre başvuruları (örneğin
=B5) kullanıyorsanız ve ardından tabloyu sıralarsanız, "mevcut" ile "önceki" arasındaki bağlantı mantıksal olarak kopar. Sıralanabilir veriler için benzersiz bir anahtara (ID veya tarih) göre arama formülleri kullanmak daha iyidir.
SSS
Önceki değer yoksa hataları nasıl yoksayabilirim?
EĞERHATA işlevini kullanın. Örneğin: =EĞERHATA(A2-A1; 0). Çıkarma işlemi mümkün değilse (ilk satır veya kaynakta hata), formül 0 döndürür.
Formül olmadan önceki değeri elde edebilir miyim? Evet, Power Query ile. Verileri yüklerken bir indeks sütunu ekleyebilir, sorguyu kendisiyle birleştirip indeksi -1 kaydırarak önceki değeri içeren bir sütun ekleyebilirsiniz. Bu, formüllerin dosya hızını yavaşlattığı çok büyük veri kümeleri için tercih edilir.
Pivot tabloda önceki değere nasıl başvurabilirim? Pivot tablo içinde bunu doğrudan formüllerle yapmak zordur. Bunun yerine yerleşik "Alan Hesaplamaları" → "Farkından" (Difference From) işlevini kullanmak ve yön olarak "Geri" (Previous) seçmek daha iyidir.