Kurs
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

Çı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.

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.

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.
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.

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)
NETWORKDAYS.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

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()

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:

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()yerineDATEDIF()). 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")

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.

DATEDIF() işleviyle yaşı bulun. Görsel: Yazar.
Toplam ay veya gün gibi daha spesifik detaylara ihtiyaç duyarsam formülü şu şekilde ayarlayabilirim:
-
mdoğumdan bu yana geçen ay sayısını bulmak için. -
dgü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)

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.

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)

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.
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.
