TARİHFARKI Fonksiyonunda Ustalık Sınıfı: Günleri, Ayları ve Yılları Hatasız Sayma

Kerem Aydın·9 Temmuz 2026·⏱5 dk

TARİHFARKI fonksiyonu (İngilizce sürümde DATEDIF), takvim özelliklerini dikkate alarak iki tarih arasındaki farkı yıl, ay veya gün cinsinden kesin olarak hesaplamaya olanak tanıyan Excel'in tek yerleşik aracıdır. Basit tarih çıkarma işlemlerinin aksine, artık yılları ve farklı uzunluktaki ayları doğru bir şekilde işler. Sonucu elde etmek için =TARİHFARKI(başlangıç_tarihi; bitiş_tarihi; "birim") formülünü kullanın; burada üçüncü argüman yanıtın biçimini belirler (örneğin, yıllar için "y" veya günler için "d").

Bu fonksiyon, fonksiyon sihirbazının ipuçları listesinde görünmese ve Excel'in yeni sürümlerinin resmi yardım belgelerinde yer almasa da, tamamen işlevseldir ve kıdem, kredi süreleri ve yaş hesaplamaları için standarttır.

Neden menüde yok? TARİHFARKI fonksiyonu, eski sürümlerle (Lotus 1-2-3) uyumluluk sağlamak amacıyla Excel'de kalmıştır. Microsoft yeni geliştirmeler için bunu önermemekte ve alternatifler sunmaktadır, ancak "yaş hesaplama" veya "kıdem hesaplama" görevleri için en güvenilir ve basit çözüm olmaya devam etmektedir.

Söz Dizimi ve Temel Argümanlar

Formül üç zorunlu argüman gerektirir. Bunlardan herhangi birindeki hata, yanlış sonuca veya #YANLIŞ! mesajına neden olacaktır.

=TARİHFARKI(baş_tarih; bit_tarih; birim)

  1. baş_tarih: Sayımın başladığı tarih hücresi veya değeri.
  2. bit_tarih: Farkın hesaplandığı tarih hücresi veya değeri.
  3. birim: Farkın hangi birimde ölçüleceğini belirleyen tırnak içindeki metin kodu.

Ölçüm Birimi Kodları Tablosu

KodDöndürürKullanım Örneği
"y"Tam yıllarKişinin yaşının hesaplanması
"m"Tam aylarAbonelik süresi
"d"GünlerGecikme gün sayısı
"md"Günler (yıl ve aylar dikkate alınmadan)Tam aylardan kalan günler
"ym"Aylar (yıllar dikkate alınmadan)Tam yıllardan kalan aylar
"yd"Günler (yıllar dikkate alınmadan)Bir sonraki yıldönümüne kadar olan günler

Önemli Sıra Kuralı: Başlangıç tarihi her zaman bitiş tarihinden küçük veya ona eşit olmalıdır. Tarihleri ters sırada girerseniz (örneğin, başlangıç olarak bugün, bitiş olarak doğum tarihi), fonksiyon #SAYI! hatası döndürür.

Pratik Kullanım Senaryoları

1. Tam İş Kıdeminin Hesaplanması (Yıl + Ay + Gün)

İK raporlamasındaki en yaygın görev, kıdemi "X yıl, Y ay, Z gün" formatında göstermektir. Bunu tek bir formülle yapmak mümkün olmadığından, üç fonksiyon çağrısını ampersand (&) ile birleştiriyoruz.

Formül:

=TARİHFARKI(A2; B2; "y") & " yıl, " & TARİHFARKI(A2; B2; "ym") & " ay, " & TARİHFARKI(A2; B2; "md") & " gün"

A2 işe giriş tarihi, B2 ise işten çıkış tarihi (veya bugünün tarihi) olsun.

Bu kombinasyon şunları kullanır:

  • "y" — tam yılları sayar.
  • "ym" — geçen yılları görmezden gelerek kalan ayları sayar.
  • "md" — geçen ayları ve yılları görmezden gelerek kalan günleri sayar.

2. Kişinin Kesin Yaşı

Yaş hesaplamak için sadece tam yıl sayısını bilmek yeterlidir. Burada yılın kesirli kısımlarına gerek yoktur.

Formül:

=TARİHFARKI(A2; BUGÜN(); "y")

BUGÜN() fonksiyonunun kullanılması, dosya her açıldığında yaşın otomatik olarak güncellenmesini sağlar.

3. Bir Olayın Bir Sonraki Yıldönümüne Kadar Kalan Günlerin Hesaplanması

Bir olayın gerçekleştiği yılı dikkate almadan, en yakın yıldönümüne kaç gün kaldığını öğrenmek istiyorsanız, "yd" kodu kullanılır.

Formül:

=TARİHFARKI(A2; B2; "yd")

Bu, belirli bir tarihe bağlı ancak yıla bağlı olmayan tebrikleri planlamak veya sözleşmeleri yenilemek için kullanışlıdır.

Sık Karşılaşılan Hatalar ve Çözüm Yolları

Veriler yanlış hazırlanırsa, basit bir formül bile hata verebilir. İşte temel arıza nedenleri:

  • #YANLIŞ! Hatası: Genellikle tarihlerden birinin metin olarak kaydedilmesi durumunda ortaya çıkar. Excel, "01.01.2024" gibi bir metin dizisini matematiksel olarak işleyemez.
    • Çözüm: Hücre biçimini kontrol edin. "Tarih" biçiminde olmalıdırlar. Tarihler başka bir sistemden aktarıldıysa, dönüştürme için TARİHSAYI() fonksiyonunu kullanın.
  • #SAYI! Hatası: Başlangıç tarihinin bitiş tarihinden büyük olması durumunda ortaya çıkar.
    • Çözüm: Veri mantığını kontrol edin veya hesaplamadan önce tarih sırasını kontrol etmek için EĞER yapısını kullanın.
  • "md" Kullanılırken Yanlış Sonuç: "md" argümanı, farklı sayıda güne sahip aylar arasında geçiş yapılırken garip davranışıyla bilinir (örneğin, 31 Ocak'tan 1 Mart'a geçerken bazı yerel ayarlarda negatif bir sayı veya sıfır gösterebilir).
    • Çözüm: Kritik öneme sahip finansal hesaplamalar için "md" yerine, aydaki günleri kontrol eden karmaşık bir çıkarma formülü kullanmak daha iyidir; veya İK muhasebesi için 1 günlük sapmayı kabul edilebilir olarak görmek gerekir.

Görselleştirme İçin İpucu: Kıdemin düzgün görünmesi için sayıları METNEÇEVİR fonksiyonuna sarabilir veya özel hücre biçimi kullanabilirsiniz; ancak birleştirme işlemi sırasında tırnak işaretleri içinde boşluk eklemek en kolayıdır: " " & ... & " ".

Tarih Hesaplama Yöntemlerinin Karşılaştırılması

YöntemAvantajlarDezavantajlarNe Zaman Kullanılır
TARİHFARKITakvimin hassas dikkate alınması, esnek birimler (ay/yıl)Gizli fonksiyon, ipucu yokKıdem, yaş, sözleşme süreleri
Basit Çıkarma (B2-A2)Hızlı, anlaşılırSonuç sadece gün cinsindendir, aya çevirmek zordurOlaylar arasındaki gün sayısının hesaplanması
365'e BölmeÇok basitKaba hata payı (artık yılları dikkate almaz)Yaklaşık tahminler, istatistik

SSS

Soru: TARİHFARKI İngilizce Excel sürümünde kullanılabilir mi? Cevap: Hayır, İngilizce arayüzde fonksiyon DATEDIF olarak adlandırılır. Söz dizimi ve birim kodları ("y", "m", "d") aynı kalır.

Soru: Neden "=TAR..." yazarken fonksiyon görünmüyor? Cevap: Bu normal bir davranıştır. Fonksiyon çalışır ancak fonksiyon sihirbazında açıklaması yoktur. Adını manuel olarak tam girmeniz gerekir.

Soru: İş günleri cinsinden fark nasıl hesaplanır? Cevap: TARİHFARKI fonksiyonu takvim günlerini sayar. Hafta sonlarını hariç tutmak için NETİŞGÜNÜ (veya NETWORKDAYS) fonksiyonunu kullanın; bu fonksiyon tatil listesini belirtmenize olanak tanır.

Soru: "GG.AA.YYYY" formatındaki tarih metin olarak algılanıyorsa ne yapılmalı? Cevap: Tarihleri içeren sütunu seçin, "Veri" sekmesine gidin → "Sütunlara Dönüştür" → İleri → İleri → "Tarih" (GAY) formatını seçin → Son. Bu, metni zorla tarihe dönüştürür.