Excel'de Tarihler Arası Sürelerin Hesaplanması

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

Excel'de iki tarih arasındaki gün sayısını hızlıca öğrenmek için basit bir çıkarma formülü kullanın: =Bitiş - Başlangıç. Örneğin, başlangıç tarihi A2 hücresinde ve bitiş tarihi B2 hücresinde ise, =B2-A2 formülü gün sayısını döndürür. Hafta sonları hariç iş günlerini saymak için =NETWORKDAYS(A2; B2) fonksiyonunu uygulayın.

Fark Hesaplamanın Temel Yöntemleri

Farkı elde etmenin en basit yolu aritmetik çıkarmadır. Excel tarihleri sıralı numaralar olarak saklar, bu nedenle işlem tam gün sayısı döndürür.

Temel seçenekler:

  • Basit fark: =B2-A2. Başlangıç tarihi bitiş tarihinden sonra ise sonuç negatif olabilir.
  • Farkın mutlak değeri: =ABS(B2-A2). Tarihlerin sırasından bağımsız olarak pozitif bir gün sayısı döndürür.
  • Sınır tarihlerin dahil edilmesi: Aralığın her iki ucunu da dikkate alarak gün saymak istiyorsanız (örneğin, gidiş gününden dönüş gününe kadar tatil süresi), bir ekleyin: =(B2-A2)+1.

Sonuç içeren hücrelerin «Genel» veya «Sayı» olarak biçimlendirildiğinden emin olun. «Tarih» biçimi seçiliyse, gün sayısı yerine garip bir tarih (örneğin, 05.01.1900) görürsünüz.

DATEDIF Fonksiyonu

Eski sürümlerle uyumluluk veya özel görevler için gizli bir fonksiyon olan DATEDIF (İngilizce sürümde aynı adı taşır) kullanılır. İpucu listesinde görüntülenmez ancak doğru çalışır.

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

  • "d" — tam günler.
  • "m" — tam aylar.
  • "y" — tam yıllar.

Örnek: =DATEDIF(A2; B2; "d") tarihler arasındaki tam gün sayısını döndürür. Bu fonksiyonun kullanışlı yanı, bitiş tarihinin başlangıç tarihinden büyük olmasını her zaman gerektirmesidir; aksi takdirde #SAYI! hatası verir, bu da veri mantığını kontrol etmeye yardımcı olur.

İş Günlerinin Sayılması ve Tatillerin Dikkate Alınması

İş görevleri için genellikle hafta sonları ve resmi tatillerin hariç tutulması gerekir. Rusya ve birçok diğer ülkede standart çalışma haftası Pazartesi-Cuma arasındadır.

NETWORKDAYS Fonksiyonu

=NETWORKDAYS(başlangıç; bitiş; [tatiller]) formülü otomatik olarak Cumartesi ve Pazar günlerini hariç tutar.

  • Tatiller olmadan: =NETWORKDAYS(A2; B2)
  • Tatillerle birlikte: Üçüncü argüman, tatil tarihlerini içeren bir hücre aralığı belirtmenize olanak tanır. =NETWORKDAYS(A2; B2; $F$2:$F$10) Burada $F$2:$F$10 aralığı resmi tatil günlerinin listesini içerir.

Formülü aşağıya doğru kopyalamayı planlıyorsanız, tatil aralığını mutlak başvurularla ($ işaretleri) sabitlemeyi unutmayın. Aksi takdirde başvuru kayar ve bazı tatiller dikkate alınmaz.

Esnek Takvim: NETWORKDAYS.INTL

Kuruluşunuz vardiyalı bir takvime göre çalışıyorsa veya hafta sonları farklı günlere denk geliyorsa (örneğin, sadece Pazar veya Cuma-Cumartesi), fonksiyonun genişletilmiş sürümünü kullanın.

Sözdizimi: =NETWORKDAYS.INTL(başlangıç; bitiş; [haftasonu_kodu]; [tatiller])

[haftasonu_kodu] parametresi 1 ile 7 arasında bir sayı veya Pazartesi'den başlayarak yedi karakterlik bir dize («0» — çalışma günü, «1» — tatil) olabilir.

  • Kod örneği "0000011" — standart hafta sonları (Cmt, Pzr).
  • Kod örneği "0000001" — sadece Pazar tatil.
  • Kod örneği "1111110" — sadece Pazartesi tatil (nadiren görülür).

Tarih ve Saat ile Çalışma

Yaygın bir sorun: Hücreler sadece tarihi değil, saati de içerir (örneğin, 10.04.2026 14:30). Normal çıkarma işlemi yapıldığında sonuç ondalıklı bir sayı olur (günler + günün kesri).

Zamanı yok sayarak tam gün sayısını elde etmek için INT (TAMSAYI) fonksiyonunu kullanın:

=INT(B2) - INT(A2)

Bu formül, çıkarma işleminden önce her iki tarihten de ondalık kısmı (saati) atar ve takvim günleri cinsinden saf farkı bırakır.

Hesaplamalarda Sık Yapılan Hatalar

HataNedenÇözüm
Sonuç bir tarih olarak görünür (#### veya 1900 yılı)Sonuç hücresi «Tarih» biçimine sahiptir.Hücre biçimini «Genel» veya «Sayı» olarak değiştirin.
#DEĞER!Hücrelerden biri tarih yerine metin içeriyor.Verileri ISNUMBER() fonksiyonuyla kontrol edin. Metni «Metni Sütunlara Dönüştür» özelliği veya DATEVALUE fonksiyonu aracılığıyla tarihe dönüştürün.
Negatif sayıBaşlangıç tarihi bitiş tarihinden sonra.Mutlak değer için ABS() kullanın veya veri girişi mantığını kontrol edin.
Yanlış iş günü sayımıTatil listesi belirtilmemiş.Tatil listesini içeren ayrı bir sayfa oluşturun ve bunu NETWORKDAYS fonksiyonunun üçüncü argümanına aktarın.

Sıkça Sorulan Sorular (SSS)

Bugünden belirli bir tarihe kadar olan gün sayısı nasıl hesaplanır? TODAY() (BUGÜN) fonksiyonunu kullanın. Formül: =A2 - TODAY(), burada A2 hedef tarihtir. Sadece iş günlerini dikkate almak istiyorsanız: =NETWORKDAYS(TODAY(); A2).

Aylar veya yıllar cinsinden fark hesaplanabilir mi? Evet, "m" (aylar) veya "y" (yıllar) kodlarıyla DATEDIF fonksiyonunu kullanın. Aylar için alternatif: =(YEAR(B2)-YEAR(A2))*12 + MONTH(B2)-MONTH(A2).

Formül neden #SAYI! hatası veriyor? DATEDIF fonksiyonunda bitiş tarihinin başlangıç tarihinden büyük olması zorunludur. Normal çıkarma formüllerinde böyle bir hata, hücre biçiminin tarih olarak tanınmaması durumunda ortaya çıkar.