Excel'de tarihler arasındaki aralığı hesaplamanın tüm yolları

Kerem Aydın·13 Temmuz 2026·⏱3 dk

Excel'de tarihler arasındaki farkı hesaplamak için, gün sayısını elde etmek amacıyla =B2-A2 gibi basit bir çıkarma formülü kullanın veya tam yıl ve ayları hesaplamak için =DATEDIF(A2;B2;"Y") fonksiyonunu kullanın. Belirli yöntemin seçimi, sonucun gün, iş günü, ay veya yıl cinsinden olup olmadığına bağlıdır.

Temel hesaplama: Basit çıkarma işlemi

İki olay arasındaki gün sayısını öğrenmenin en hızlı yolu, bir tarihi diğerinden çıkarmaktır. Hücreye aşağıdaki formülü girin:

=Bitiş_tarihi - Başlangıç_tarihi

Örneğin, projenin başlangıç tarihi A2 hücresinde ve bitiş tarihi B2 hücresinde ise, =B2-A2 formülü gün sayısını döndürecektir.

Önemli: Sayı yerine bir tarih (örneğin "Oca.00") görüntüleniyorsa, sonuç hücresinin biçimini "Genel" veya "Sayı" olarak değiştirin. Ctrl+1 tuşlarına basın, "Sayı" kategorisini seçin ve ondalık basamakları kaldırın.

Kıdem ve yaşın hassas hesaplanması: DATEDIF fonksiyonu

Aralığı yıllara, aylara ve günlere ayırmanız gereken karmaşık hesaplamalar için (örneğin, bir çalışanın yaşını veya sözleşme süresini hesaplamak üzere), gizli ancak güvenilir olan DATEDIF fonksiyonu kullanılır.

Sözdizimi: =DATEDIF(başlangıç_tarihi; bitiş_tarihi; "birim")

Üçüncü argüman ölçüm birimini belirler:

KodNe hesaplarKullanım örneği
"Y"Tam yıllarKişinin yaşı
"M"Tam aylarKira süresi
"D"GünlerProje süresi
"YM"Yıllar dikkate alınmadan aylarTam yıllardan kalan aylar
"MD"Yıllar ve aylar dikkate alınmadan günlerTam aylardan kalan günler

Tam kıdem hesaplama örneği: "5 yıl 3 ay" şeklinde bir metin elde etmek için iki fonksiyonu birleştirin: =DATEDIF(A2;B2;"Y") & " yıl " & DATEDIF(A2;B2;"YM") & " ay"

DATEDIF fonksiyonu Excel'in otomatik tamamlama ipuçlarında görünmez, ancak programın tüm sürümlerinde çalışır. Adını manuel olarak yazmanız yeterlidir.

Günler ve yıllar için özel fonksiyonlar

Standart çıkarma işlemi yeterli değilse, belirli görevler için yerleşik fonksiyonları kullanın:

  • =DAYS(bitiş_tarihi; başlangıç_tarihi) — Çıkarma işleminin bir benzeridir, ancak argümanların açıkça belirtilmesini sağlar. Tarihler doğrudan formüle metin olarak giriliyorsa kullanışlıdır.
  • =YEARFRAC(başlangıç_tarihi; bitiş_tarihi) — Yılın kesirli kısmını döndürür. Finansal hesaplamalarda (örneğin, eksik bir yıl için faiz tahakkuk ettirmek) kullanılır. 0.5 sonucu yarım yılı ifade eder.

İş günlerinin sayılması (NETWORKDAYS)

İş dünyası görevleri için genellikle hafta sonları ve tatillerin hariç tutulması gerekir. NETWORKDAYS fonksiyonu yalnızca iş günlerini (Pazartesiden Cumaya kadar) sayar.

Formül: =NETWORKDAYS(başlangıç_tarihi; bitiş_tarihi; [tatiller])

  1. Başlangıç ve bitiş tarih aralığını belirtin.
  2. (İsteğe bağlı) Fonksiyonun bu tarihleri de hariç tutması için resmi tatil tarihlerini içeren ayrı bir hücre aralığı belirleyin.

NETWORKDAYS fonksiyonu #AD? hatası döndürüyorsa, "Analiz Araçları" eklentisinin yüklü olduğundan emin olun (eski sürümlerde) veya fonksiyon adının doğru yazıldığını kontrol edin (bazı yerelleştirilmiş sürümlerde WORKDAY veya benzeri bir isimle bulunabilir).

Tarihlerle çalışırken yapılan yaygın hatalar

  • ##### sonucu: Hücre sayıyı görüntülemek için çok dar. Sütunu genişletin.
  • Negatif değer: Başlangıç tarihi bitiş tarihinden sonra geliyor. Argümanların sırasını kontrol edin.
  • Tarih metin olarak algılanıyor: Formül çalışmıyor ve #DEĞER! hatası veriyor. Kaynak hücrelerin "Metin" yerine "Tarih" biçimine sahip olduğundan emin olun. Bu durum genellikle verileri başka kaynaklardan kopyalarken meydana gelir.

SSS

Saat ve dakika cinsinden fark nasıl hesaplanır? Zaman içeren bir tarihi diğerinden çıkarın (=B2-A2) ve sonuç hücresine [s]:dd özel biçimini uygulayın. Köşeli parantezler, 24 saati aşan saatlerin toplanmasına olanak tanır.

Fark mevcut tarihten itibaren hesaplanabilir mi? Evet. Argümanlardan biri olarak =BUGÜN() (veya =TODAY()) fonksiyonunu kullanın. Örneğin: =DATEDIF(A2;BUGÜN();"Y") bugüne kadar olan tam yaşı gösterecektir.

Neden DATEDIF fonksiyon listesinde görünmüyor? Bu, Lotus 1-2-3 ile uyumluluk için bırakılmış eski bir fonksiyondur. Microsoft yeni geliştirmeler için bunu önermemektedir, ancak tek seferlik hesaplamalar için en kullanışlı araç olmaya devam etmektedir.