Ana içeriğe atla

Excel’de Tarihler Arasındaki Günler Nasıl Hesaplanır: En İyi 5 Yöntem

Hızlı ve zahmetsiz tarih hesaplamaları için basit çıkarmayı keşfedin. Kesin aralıklar için DAYS() ve DATEDIF() işlevlerini uygulayın. NETWORKDAYS() ve TODAY() ile çalışma günlerini takip edin, hafta sonlarını ve tatilleri otomatik olarak hariç tutun.
Güncel 16 Nis 2026  · 5 dk. oku

Bu yazıda, tarihleri ele almak için bazı pratik yöntemleri adım adım göstereceğim. Basit çıkarmadan NETWORKDAYS() ve DATEDIF() gibi ileri düzey işlevlere kadar her şeyi ele alacağız. Yazının sonunda, tarihler arasındaki günleri nasıl hesaplayacağınızı, çalışma günlerini nasıl takip edeceğinizi ve hafta sonlarını veya tatilleri atlamak gibi özel senaryoları nasıl yöneteceğinizi biliyor olacaksınız. Ancak Excel’e yeniyseniz, temelinizi oluşturmak için Introduction to Excel kursumuza göz atın. 

Excel’in Tarih Sistemi Nasıl Çalışır?

Öncelikle, Excel’in tarih sisteminden kısaca bahsedelim. Bilmeniz gereken en önemli şey, Excel’in her tarihi benzersiz bir sayı olarak sakladığıdır. Örneğin, 1 Ocak 1900 sayısı 1’dir, 2 Ocak 1900 ise 2’dir ve bu şekilde devam eder.

Konuyu fazla karmaşıklaştırma riskine girmek pahasına iki ek noktadan da bahsedeyim. Birincisi, Excel aslında iki sistem kullanır: 1900 sistemi ve 1904 sistemi. 1900 sistemi 1 Ocak 1900’ü 1. gün olarak alırken, 1904 sistemi 1 Ocak 1904’ü 0. gün olarak başlatır. Bu iki sistem arasındaki fark 1.462 gündür; yaklaşık 4 yıl ve 1 artık gün eder. Ayrıca, tarih biçimlerinin bölgeye göre değişebileceğini de bilin. Örneğin, 02/03/2025 bulunduğunuz yere göre 3 Şubat veya 2 Mart anlamına gelebilir. Tarih biçimlerinde tutarsız olursak, Excel veriyi yanlış yorumlayabilir ve hatalı sonuçlar üretebilir.

Sadece tarihler arasındaki günleri hesaplıyorsanız bunlar doğrudan sorun yaratmayacaktır, ancak yine de bilmekte fayda var. Gerçek bir uzman olmak için Excel Fundamentals eğitim yolumuzu alın.

Excel’de Tarihler Arasındaki Günler Nasıl Bulunur

Excel’de tarihler arasındaki günleri bulmanın birkaç farklı yöntemi vardır. İşlevsel olarak çoğu benzer çalışır. Her yöntemi göstereceğim; siz de en çok hoşunuza gideni seçebilirsiniz.

Yöntem 1: Basit çıkarma

Basit çıkarma, tarihler arasındaki günleri bulmanın en kolay ve en hızlı yollarından biridir. Bir tarihi diğerinden çıkarır. Sözdizimi şöyledir:

New date - Old date

Burada, A2 ve B2 hücrelerinde tarihler olan bir veri kümesine sahibim ve C2 hücresine şu formülü giriyorum:

=B2-A2

Excel’de çıkarma yöntemiyle tarihler arasındaki günleri bulun

Çıkarma yöntemiyle tarihler arasındaki günleri bulun. Görsel: Yazar.

Yöntem 2: DAYS() işlevi

Bunun için özel olarak tasarlanmış DAYS() işlevini de kullanıyorum. Sözdizimi şöyledir:

=DAYS(end_date, start_date)

C2 hücresine şu formülü giriyorum:

=DAYS(B2,A2)

Çıkarma yönteminde olduğu gibi, bitiş tarihi başlangıç tarihinden sonraysa sonuç pozitif olur. Öncesindeyse negatiftir.

Excel’de DAYS() işleviyle tarihler arasındaki günleri bulun

DAYS() işleviyle tarihler arasındaki günleri bulun. Görsel: Yazar.

Yöntem 3: DATEDIF() işlevi

DAYS() gibi DATEDIF() de tarihleri çıkarır, ancak bağımsız değişkenlerin sırası tersinedir. Sözdizimi şöyledir: 

=DATEDIF(start_date, end_date, "d"))

Üçüncü argüman zaman birimini belirtir. Örneğin, d gün, y yıl ve m ay anlamına gelir.

C2 hücresine şu formülü girdim:

=DATEDIF(A2, B2, "d")

Ancak Enter’a bastığımda üçüncü satırda #NUM! hatası aldım. Bunun nedeni, formülün daha yeni bir tarihi (end_date) daha eski bir tarihten (start_date) çıkarmaya çalışması ve DATEDIF()’in buna izin vermemesidir. Yani DATEDIF() farklı zaman birimlerini desteklediği için daha esnek olsa da, negatif sonuç döndürmediği için bazı durumlarda daha az esnektir.

Ayrıca DATEDIF()’in gizli bir işlev olduğunu, bu yüzden yazarken Excel’in bunu önermediğini de unutmayın. Bu işlevi kullanırken her şeyi elle yazmanız gerekir.

Excel’de DATEDIF() işleviyle tarihler arasındaki günleri bulun

DATEDIF() işleviyle tarihler arasındaki günleri bulun. Görsel: Yazar.

Yöntem 4: NETWORKDAYS() ve NETWORKDAYS.INTL() işlevleri

NETWORKDAYS() ve NETWORKDAYS.INTL() işlevleri yalnızca çalışma günlerini bulur; hafta sonlarını ve tatilleri hariç tutar. Diyelim ki iki tarih arasındaki çalışma günlerini, hafta sonlarını hariç tutarak bilmek istiyorsunuz. Bu durumda, NETWORKDAYS() işlevini kullanarak Cumartesi ve Pazar’ı otomatik olarak atlayabilirsiniz. Sözdizimi şöyledir: 

NETWORKDAYS(start_date, end_date, [holidays])

Örneğin, tatil belirtmezsem yalnızca hafta sonlarını hariç tutar. C2 hücresine şu formülü giriyorum:

=NETWORKDAYS(A2,B2)

Bu, hafta sonları hariç olmak üzere A2 ile B2 arasındaki çalışma günlerinin sayısını verir.

Excel’de NETWORKDAYS() işleviyle tarihler arasındaki günleri bulun NETWORKDAYS() işleviyle tarihler arasındaki günleri bulun. Görsel: Yazar.

Tatil günlerini de hariç tutmak istersem, bu tarihleri E2’den E5’e kadar ayrı bir sütunda listelerim. Ardından üçüncü argümanda bu aralığa şu şekilde başvururum:

=NETWORKDAYS(A2,B2,$E$3:$E$4)

Artık, hem hafta sonlarını hem de listelediğim tatilleri hariç tutarak çalışma günlerini hesaplar. Bu da iş günlerini doğru saymak için işi oldukça kolaylaştırır.

Excel’de NETWORKDAYS() ile tarihler arasında tatilleri hariç tutarak günleri bulun

NETWORKDAYS() işlevini kullanma. Görsel: Yazar.

Bazen hafta sonlarım varsayılan Cumartesi ve Pazar değildir. Bu durumda NETWORKDAYS.INTL() işlevini kullanırım. Bu işlev, özel hafta sonları tanımlamama olanak tanır. Sözdizimi şöyledir:

NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])

Hafta sonu argümanı için bir numara kullanarak ön tanımlı bir hafta sonu seçebilirim (örneğin Cumartesi-Pazar için 1 veya Cuma-Cumartesi için 7) ya da her bir basamağı haftanın bir gününü temsil eden 0000011 gibi özel bir metin dizisi kullanabilirim (Pazartesi ile başlar). 1 hafta sonunu, 0 ise çalışma gününü belirtir.

Diyelim ki hafta sonlarım Cuma ve Cumartesi. Bunun için şu formülü kullanırım:

=NETWORKDAYS.INTL(A2, B2, 7, $E$2:$E$3)

Excel’de NETWORKDAYS.INTL() ile tarihler arasındaki günleri bulunNETWORKDAYS.INTL() ile tarihler arasındaki günleri bulun. Görsel: Yazar.

Yöntem 5: TODAY() işlevi

Belirli bir tarihten bu yana kaç gün geçtiğini ya da gelecekteki bir tarihe kaç gün kaldığını hesaplamak istediğimde her zaman TODAY() işlevini kullanırım. Bu işlev geçerli tarihi döndürür, böylece her gün güncellemek zorunda kalmam. Sözdizimi şöyledir: 

=TODAY() - past_date

Diyelim ki geçmiş tarih A3 hücresinde. O halde şu formülü B3 hücresine giriyorum:

=TODAY()-A3

Excel’de TODAY() işleviyle bir tarihten bu yana geçen günleri bulun

TODAY() işleviyle bir tarihten bu yana geçen günleri bulun. Görsel: Yazar.

Gelecekteki bir tarihe kaç gün kaldığını bilmem gerektiğinde, formülü tersine çeviririm:

=Future_date - TODAY()

Yani şu hale gelir: 

=A3 - TODAY()

Excel’de TODAY() işleviyle gelecekteki bir tarihe kadar kalan günleri bulun

TODAY() işleviyle bir tarihe kadar kalan günleri bulun. Görsel: Yazar.

Benim görüşüm: Tüm işlevlerin hızlı karşılaştırması 

Yöntem Sevdiğim yönü Sevmediğim yönü
Basit çıkarma Hızlı ve kolay Hafta sonlarını veya tatilleri hesaba katmaz
DAYS() Açık ve düzenli sözdizimi Yalnızca günler için çalışır
DATEDIF() Gün, ay veya yıl için esnektir Değer negatif olduğunda hata verir

NETWORKDAYS()

NETWORKDAYS.INTL()

Hafta sonlarını ve tatilleri hariç tutar Tatiller için ek kurulum gerektirir
TODAY() Her gün otomatik olarak güncellenir Yalnızca bugünü içeren hesaplamalar için çalışır

İleri Teknikler

Temellerin yanı sıra, daha karmaşık senaryolarla çalışıyorsanız şu ileri teknikler işinize yarar: 

Negatif değerlerle başa çıkma

Tarihlerin sırası ters olduğunda negatif değer elde ederiz. Bunu düzeltmek için DAYS() işlevini ABS() içinde şu şekilde sararım:

=ABS(DAYS(B2,A2))

Sonuçları aşağıdaki görselde görebilirsiniz: 

Excel’de negatif tarih değerleriyle başa çıkma

Negatif değerleri yönetmek için ABS() işlevini kullanın. Görsel: Yazar.

Hata yönetimi

Karşılaştığım yaygın Excel tarih hataları ve bunları nasıl düzelttiğim aşağıda.

  • #VALUE! hatası: Sistemimde tarih biçimi mm/dd/yyyy iken formülüm dd/mm/yyyy kullandığında bu hata oluştu. Bunu, formüldeki tarihleri sistemimin biçimiyle uyumlu olacak şekilde güncelleyerek düzelttim.

  • #NUM! hatası: DAYS() işlevini kullanırken aldım; nedeniyse tarihlerden birinin geçerli tarih aralığı dışında sayısal bir değere sahip olmasıydı. Bunu önlemek için değerin geçerli aralıkta olduğundan emin olun. 

  • #NAME? hatası: Genellikle yazım hatasından kaynaklanır (DATEIF() yerine DATEDIF()). Bu tür sorunları önlemek için yazımı iki kez kontrol edin.

İşlevleri birleştirme

Bazen tek bir tarih işlevi karmaşık görevler için yeterli olmaz; bu yüzden farklı senaryoları ele alan dinamik bir formül oluşturmak için birden fazla işlevi birleştiririm.

Diyelim ki sınavlara kadar kaç okul günü kaldığını bulmak istiyorum. Bunun için çalışma günlerini saymak üzere NETWORKDAYS() kullanır ve geçersiz tarihleri yönetmek için IFERROR() eklerim. Bu durumda formül şöyle görünür: 

=IFERROR(NETWORKDAYS(TODAY(), A2, $B$3:$B$4), "Check Dates")

Excel’de sınavlara kaç gün kaldığını bulmak için IFERROR’ı NETWORKDAYS() ve TODAY() ile birleştirin

IFERROR()’ı NETWORKDAYS ile birleştirin. Görsel: Yazar. 

Excel’de Tarihler Arasındaki Günleri Hesaplamaya Ne Zaman İhtiyaç Duyabilirsiniz?

Yakın zamanda projelerimde bu işlevleri nasıl kullandığıma dair birkaç gerçek örnek paylaşayım.

Yaş hesaplama 

Bireylerin doğum tarihlerine göre yaşlarını hesaplamam için bir tarih listesi verildi. Bunu yapmak için DATEDIF() işlevini kullandım. Örnek veri kümesini aşağıda görebilirsiniz. B2 hücresine şunu giriyorum:

=DATEDIF(A2,TODAY(),"Y")

Bu formül, A2 (doğum tarihi) ile bugünün tarihi arasında geçen tam yıl sayısını hesaplar.

Excel’de IF() ve TODAY() işlevleriyle yaş bulun

DATEDIF() işleviyle yaşı bulun. Görsel: Yazar.

Toplam ay veya gün gibi daha spesifik detaylara ihtiyaç duyarsam formülü şu şekilde ayarlayabilirim:

  • m doğumdan bu yana geçen ay sayısını bulmak için.

  • d gün sayısını bulmak için.

Proje zaman çizelgesi takibi

Bir projede kalan çalışma günlerini de NETWORKDAYS() işleviyle takip ettim. Bunun için başlangıç ve bitiş tarihlerini A2 ve B2 hücrelerine girdim, tatilleri ise C2:C5 hücrelerine listeledim. Ardından, proje için çalışma günlerini hesaplamak üzere şu formülü D2 hücresine yazdım:

=NETWORKDAYS(A2,B2,$C$3:$C$5)

Excel’de NETWORKDAYS() işlevleriyle projede kalan çalışma günlerini bulun

NETWORKDAYS() işlevleriyle projede kalan günleri bulun. Görsel: Yazar.

Proje zaman çizelgesi değiştiğinde yalnızca tarihleri güncelliyordum; formül otomatik olarak uyum sağlıyordu. Böylece son teslim tarihlerini kolayca takip edebildim.

Finansal analiz

Bir seferinde birden fazla sözleşme bitiş tarihini takip etmem gerekti. Bu yüzden Excel’de süresi dolan veya aktif olanları kolayca ayırt etmek için basit bir sistem kurdum.

Basitçe şu formülü C2 hücresine girdim:

=IF(B2 < TODAY(), "Expired", "Active")

Bu, bitiş tarihi geçmiş olup olmadığına göre her sözleşmeyi otomatik olarak etiketledi.

Ayrıca netlik için durumlarına göre hücreleri renklendirmek üzere koşullu biçimlendirme de kullanıyorum. Active olan sözleşmeler yeşil, Expired olanlar kırmızı ile işaretlenir. 

Bunu yapmak için Conditional Formatting altında New Rule seçeneğini seçtim ve Use a formula to determine which cells to format seçeneğini tercih ettim. Ardından ayrı ayrı =B2="Expired" ve =B2="Active" formüllerini girdim. Bu şekilde, dikkat gerektiren sözleşmeleri belirleyebildim.

Excel’de sözleşme bitiş tarihinin bugün aktif mi yoksa süresi dolmuş mu olduğunu kontrol edin

Sözleşme bitiş tarihini takip edin. Görsel: Yazar.

Artık her şey kendiliğinden güncelleniyor. Yeni sözleşmeler eklediğimde veya bitiş tarihlerini değiştirdiğimde formüller anında uyum sağlıyor.

İlaç yenileme aralıkları

Reçete yenileme aralığını da Excel’de hesaplayabilirsiniz. Diyelim ki ebeveynleriniz 1 Ocak 2025’te 30 günlük ilaç tedariki aldı; ancak bugün 5 Şubat 2025 ve ne kadar süre ilaçsız kaldıklarını hesaplamak istiyorsunuz. 

Aşağıdaki veri kümesinde, A2 hücresi ilacın en son ne zaman alındığını gösteriyor. Bugünü bu tarihten çıkarıp 30 ekliyoruz. (Bu, Excel işlevlerini pratik etmek amacıyla verilmiş bir örnektir; tıbbi durumlar için doktorunuza danışın.)

=TODAY()-(A3+30)

Excel’de TODAY() işlevini kullanarak ilaç yenileme aralıklarını hesaplama

Son ilaç yenilemesini bulun. Görsel: Yazar

Bu şekilde, her yenilemeden bu yana geçen günleri kolayca takip ettim ve bir sonrakini tahmine gerek kalmadan planladım.

İpuçları ve En İyi Uygulamalar

Şimdi ilerlerken işinize yarayacak birkaç ipucu ve en iyi uygulama:

  • Tarih hücrelerinin doğru biçimlendirildiğinden her zaman emin olurum. Aksi halde Excel bunları tarih olarak tanımayabilir ve hesaplamalar bozulabilir. Bu yüzden hücrelerin Home sekmesindeki Name grubu biçiminden Date olarak ayarlandığını iki kez kontrol ederim.

  • Formüllerimi basit ve anlaşılır tutarım. =DAYS("1/10/2025", "1/1/2025") gibi tarihleri formülün içine yazmak yerine her zaman A2 ve B2 gibi hücre başvuruları kullanırım. Böylece tarihleri güncellemem gerektiğinde formüle dokunmadan sadece hücre değerlerini değiştiririm.

  • TODAY() işlevini kullanırken hücrenin Number biçiminde olduğundan emin olurum — aksi takdirde #### hatası veya yanlış tarih gösterilir.

Son Düşünceler

Bu yazıda, basit çıkarmadan DAYS(), DATEDIF(), NETWORKDAYS() ve TODAY() gibi ileri işlevlere kadar Excel’de tarihlerle çalışmanın en iyi yollarını paylaştım. Bu işlevler zaman çizelgelerini takip etmek ve tatilleri yönetmek için harikadır.

Bu işlevlerle rahat etmenin en iyi yolu pratik yapmaktır. Kendi çalışma sayfalarınızda deneyin ve işinizi nasıl kolaylaştırdıklarını görün. 

Becelerinizi daha da ilerletmeye hazırsanız, Data Analysis in Excel kursunu, Data Preparation in Excel kursunu ve Data Visualization in Excel kursunu öneririm. Bu kurslar, işinizi daha da verimli hale getirebilecek ileri özellikler ve stratejileri kapsar. 


Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Karmaşık konuları basitleştirmeyi seven bir içerik stratejistiyim. Splunk, Hackernoon ve Tiiny Host gibi şirketlerin hedef kitleleri için ilgi çekici ve bilgilendirici içerikler üretmelerine yardımcı oldum.

SSS

Diğer birimleri yok sayarak iki zaman arasındaki farkı saat, dakika ve saniye cinsinden nasıl hesaplarım?

Şu formülleri kullanabilirsiniz:

  • Saat: =HOUR(B2-A2)

  • Dakika: =MINUTE(B2-A2)

  • Saniye: =SECOND(B2-A2)

Not: Sonuç 24 saati veya 60 dakika/saniyeyi aşmayacaktır.

Excel’de iki zaman arasındaki saat sayısını nasıl hesaplarım?

Saatleri ondalık olarak hesaplamak için =(B2-A2)*24, tam saatleri almak için =INT((B2-A2)*24) kullanın.

Excel’de geçerli tarihi veya saati hızlıca eklemek için klavye kısayolları nelerdir?

Bunu şu şekilde yapabilirsiniz:

  • Geçerli tarihi eklemek için Ctrl + ; tuşlarına basın.
  • Geçerli saati eklemek için Ctrl + Shift + ; tuşlarına basın.

İki tarih arasındaki hafta sayısını nasıl hesaplarım?

İki tarih arasındaki hafta sayısını hesaplamak için gün sayısını 7’ye bölün. Şu formülü kullanabilirsiniz: = (End_Date - Start_Date) / 7.

Konular

DataCamp ile Excel öğrenin

Kurs

Excel’e Giriş

4 sa
225.8K
Excel'in temellerine hakim olun ve etkili analizler yapmak için bu elektronik tablo aracını kullanmayı öğrenin.
Ayrıntıları GörRight Arrow
Kursa Başla
Devamını GörRight Arrow