Tüm Detaylarıyla, Excel'de Tarih ve Saat Hesaplamaları
Yayınlanma Tarihi: 15 September 2025
Selam!
Günlük işlerinde; bir projenin süresini, bir faturanın son ödeme tarihine kalan gün sayısını veya bir çalışanın yaşını hesaplaman gerekebilir. İlk bakışta kolay gibi görünen bu hesaplamalar bazen insanı çıldırtabiliyor. 😊 İşte bu noktada, Excel’in tarih ve saat mantığını bilmek işini çok kolaylaştırır. Örneğin, iki tarihi birbirinden çıkardığında karşına “42632” gibi bir değer çıkarsa, bunun ne anlama geldiğini ve nasıl doğru şekilde kullanacağını bilmek oldukça faydalı olur.
Haydi Başlayalım.
Öncelikle, Excel'in tarih ve saat verilerini nasıl işlediğine bakalım
Excel'in Tarih ve Saatleri Algılama ve İşleme Mantığı
Excel, tarih ve saatleri bildiğin gibi görmez, onları sayısal değerler olarak saklar.
- Tarih: Excel, 1 Ocak 1900 tarihini 1 olarak kabul eder. Bu mantığa göre, bugün, 15 Eylül 2025, Excel için 45914 değerine eşittir. Yani 1 Ocak 1900'den bu yana tam 45914 gün geçmiştir. (Artık iki tarih birbirinden çıktığında gelen sayının ne anlama geldiğini biliyorsun)
- Saat: Saatler ise günün bir kesri olarak gösterilir. Günün 24 saat olduğu düşünülürse, her saat, ondalık bir sayıya karşılık gelir. (Bursa işler biraz karışıyor gibi sanki.)
Örneğin, öğle saati olan 12:00, 12 / 24 = 0,5 değerine,
Sabah 06:00, 6 / 24 = 0,25 değerine,
Akşam 18:00 ise, 18 / 24 = 0,75 değerine karşılık gelir.
Bu ondalık sayılar, tarih değerine eklendiğinde o günün belirli bir saatini gösterir. Örneğin, 15 Eylül 2025 tarihi olan 45914'e 0,5 eklersen, 45914,5 değeri 15 Eylül 2025 saat 12:00'ı ifade eder.
Bu mantığı anladığında, tarih ve saatler üzerinde toplama, çıkarma ve karşılaştırma işlemleri yapman çok daha kolaylaşır.
Sık Kullanılan Tarih ve Saat Fonksiyonları
İşte en yaygın kullanılan ve işine yarayacak fonksiyonlar:
Güncel Tarih ve Saati Getirme
=BUGÜN() (TODAY): Bulunduğu hücreye bugünün tarihini ekler.
=ŞİMDİ() (NOW): Bugünün tarihini ve anlık saati birlikte getirir.
Dikkat! Bu fonksiyonlar, dosyanı her açtığında otomatik olarak güncellenir.
Tarih ve Saat Oluşturma
=TARİH(yıl;ay;gün) (DATE): Farklı hücrelerdeki yıl, ay ve gün değerlerini birleştirerek geçerli bir tarih oluşturur.
=SAAT(saat;dakika;saniye) (TIME): Parçalardan bir saat değeri oluşturur.
Tarih ve Saatlerden Bölüm Çekme
=YIL(seri_no) (YEAR): Bir tarihten sadece yılı çeker.
=AY(seri_no) (MONTH): Bir tarihten sadece ayı çeker.
=SAAT(seri_no) (HOUR): Bir tarih-saat değerinden sadece saati çeker. Excel'in Türkçe versiyonunda SAAT() fonksiyonu hem saat oluşturmak (TIME) hem de saat çekmek (HOUR) için kullanılır.
=HAFTANINGÜNÜ(seri_no;[dönüş_türü]) (WEEKDAY): Bir tarihin haftanın kaçıncı günü olduğunu (1'den 7'ye kadar) sayısal olarak verir. (Bizim için haftanın birinci günü Pazartesi, dolayısıyla dönüş_türü parametresine 2 yazılır)
Yılın Hafta Sayısını Hesaplama: Farklı Sistemler
Excel, bir tarihin yılın kaçıncı haftasına denk geldiğini hesaplamak için HAFTASAY (WEEKNUM) ve ISOHAFTASAY (ISOWEEKNUM) fonksiyonlarını kullanır.
1. Amerika Birleşik Devletleri Sistemi (US)
- Bu sistemde yılın ilk haftası, 1 Ocak'ı içeren haftadır. Bu sistem, Pazar gününü haftanın ilk günü olarak kabul eder.
- Excel'de Uygulanışı: HAFTASAY(seri_num;1) (WEEKNUM) formülü kullanılır.
2. ISO 8601 Sistemi (Avrupa ve Uluslararası Standart)
- Bu sistem, yılın ilk haftasını, içinde en az dört gün bulunan ilk hafta olarak tanımlar. Bu nedenle, ilk hafta 4 Ocak'ı mutlaka içermelidir. Bu sistem, haftanın ilk gününü Pazartesi olarak kabul eder.
- Excel'de Uygulanışı: Bu standardı hesaplamak için ISOHAFTASAY(tarih) (ISOWEEKNUM) fonksiyonu kullanılır. Bu fonksiyon, doğrudan ISO 8601 standardına göre hafta sayısını hesaplar. Alternatif olarak HAFTASAY(tarih;21) (WEEKNUM) de kullanılabilir.
Önemli Not: Excel, bu hesaplamaları uluslararası standartlara göre yapar, ancak şirketinizin resmi takvimi (mali yıl başlangıcı veya özel tatiller) farklı olabilir. Bu nedenle, hesaplama sonuçlarını her zaman şirketinizin takvimiyle karşılaştırmayı unutmayın.
İleri Düzey Uygulamalar ve Sık Yapılan Hatalar
İki Tarih Arasındaki Farkı Hesaplama
- Yaş Hesaplama: Bir kişinin yaşını veya iki tarih arasındaki tam yıl farkını hesaplamak için Excel'in gizli bir fonksiyonu olan ETARİHLİ (DATEDIF) kullanılır. Bu fonksiyon, formül listesinde görünmez, bu yüzden elle yazman gerekir.
Örnek: A1 hücresinde doğum tarihi varsa, =ETARİHLİ(A1; BUGÜN(); "y") formülü, kişinin bugün itibarıyla tam yaşını hesaplar.
Sık Karşılaşılan Hatalar
- Metin Formatı Sorunu: Excel, "15/09/25" gibi bazı tarihleri metin olarak algılayabilir ve bu durum hesaplama yapmanı engeller. Bu sorun genellikle bölgesel ayarların farklı olmasından kaynaklanır.
Çözüm: Metni tarihe dönüştürmek için TARİHSAYISI() (DATEVALUE) fonksiyonunu kullanın. Örneğin,
=TARİHSAYISI(A1) formülü, metin olarak yazılmış bir tarihi gerçek bir tarih değerine çevirir.
İş Günü ile Hesaplama ve Tatiller
- İŞGÜNÜ() (WORKDAY): Bu fonksiyon, başlangıç tarihine belirli sayıda iş günü eklerken, sadece hafta sonlarını (Cumartesi-Pazar) atlar.
- TAMİŞGÜNÜ() (NETWORKDAYS): İki tarih arasındaki toplam iş günü sayısını hesaplar.
Örnek: A1 ve B1 tarihleri arasındaki iş günlerini bulmak için: =TAMİŞGÜNÜ(A1;B1)
Fonksiyonun [tatiller] parametresiyle belirli bir hücre aralığındaki tatil günlerini de dahil edebilirsin.
Zaman Dilimi Farklılıkları
Uluslararası projelerde zaman dilimi farklarını hesaplarken, örneğin A1 hücresindeki tarihe =A1 + 3/24 formülünü girerek 3 saat ekleyebilirsin.
Ay Sonu ve Gün Sonu Hesaplamaları
- SERİAY() (EOMONTH): Ayın son gününü bulmak için kullanılır. Fatura son ödeme tarihleri veya aylık raporlamalar için idealdir.
Örnek: A1'deki tarihine ait ayının son gününü bulmak için: =SERİAY(A1;0)
Gelişmiş Saat ve Vardiya Hesaplamaları
Toplam Çalışma Saati: Bir saat aralığındaki toplam çalışma süresini toplamak için hücre formatını [s]:dd olarak ayarla.
Gece Vardiyaları: Gece yarısı saat geçişi yapan vardiyaları hesaplamak için EĞER (IF) fonksiyonunu kullanabilirsin.
Örnek: Başlangıç saati A1, bitiş saati B1 ise: =EĞER(B1<A1;B1+1;B1)-A1
Burada yapılan işlem şu :
B1<A1: Eğer bitiş saati, başlangıç saatinden küçükse (örneğin 06:00 < 22:00), bu gece yarısı geçişi olduğunu gösterir.
B1+1: Excel'de 1 tam gün = 1.00 olduğu için, B1'e 1 eklemek, saati ertesi güne taşır. Örneğin 06:00 + 1 = 1.25 (yani 30 saatlik seri numara gibi düşün, bir gün 24 saat + 0,25 = 6 saat toplam 30 saat.)
EĞER(...): Eğer gece geçişi varsa, B1+1 kullanılır; yoksa doğrudan B1 alınır.
Sonuçtan A1 çıkarılır: Böylece pozitif bir saat farkı elde edilir.
Koşullu Biçimlendirme ile Görsel İpuçları
Vadesi geçmiş faturaları veya yaklaşan randevuları vurgulamak için koşullu biçimlendirme kullanabilirsiniz.
Örnek: Bir tarihin bugünden küçük olması durumunda hücreyi kırmızıya boyamak için: =B1<BUGÜN()
Performans İpuçları
BUGÜN() ve ŞİMDİ() gibi değişken (volatile) fonksiyonlar, her dosya açıldığında yeniden hesaplanır. Bu, büyük dosyalarda performansı olumsuz etkiler.
Öneri: Eğer referans tarihin değişmesine gerek yoksa, BUGÜN() yerine o günün tarihini elle girerek sabit bir değer kullan.
Sonuç olarak, Excel'de tarih ve saatle yapılan hesaplamalarda pratik yöntemleri bilmek hem zamandan tasarruf etmenizi hem de olası hataların önlemenizi sağlar. Doğru formül, her zaman güvenilir sonuçlar getirir.
Yazı burada Bitti. Devamında her şeyin detayını bilmeliyim diyenler için ek açıklamalar yer alıyor.
Ayrıca bu konudaki rehber sayfasına buradan ulaşabilirsin.
Meraklısı için Ekstra Bilgi
1900 Artık Yıl Hatası ve 1904 Tarih Sistemi (Evet böyle bir şey var)
Excel'in 1900 Tarih Sistemi, modern Gregoryen takvim kurallarına göre çalışıyor. Gregoryen takvimde, bir yılın artık yıl olabilmesi için üç kural var:
- Yıl, 4'e tam bölünebiliyorsa artık yıldır. 1900/4 = 475
- Ancak, yıl, 100'e tam bölünebiliyorsa artık yıl değildir. 1900/100 = 19
- Yine de, yıl, 400'e tam bölünebiliyorsa artık yıldır. 1900/400 = 4,75
Bu kurallara göre, 1900 yılı 4'e bölünebilir (kural 1),
Ancak 100'e de bölünebildiği için artık yıl değildir (kural 2).
400'e bölünemediği için (kural 3) de kuralı bozmaz.
Dolayısıyla, 1900 yılı bir artık yıl değildir ve Şubat ayında 28 gün bulunur. Windows için geliştirilen Excel versiyonu, bu kuralı doğru bir şekilde uygular.
Peki Hata Nerede Ortaya Çıktı?
Excel’in ilk sürümleri, Lotus 1-2-3 isimli elektronik tablo yazılımıyla rekabet halindeydi.
- Lotus 1-2-3, IBM uyumlu PC’lerde çalışıyordu ve 1 Ocak 1900 tarihini başlangıç olarak kabul ediyordu.
- Microsoft, Excel’i geliştirirken Lotus ile uyumlu olmayı hedefledi. Böylece kullanıcılar dosyalarını kolayca Excel’e taşıyabilecekti.
- Bu nedenle Excel, Lotus’un tarih sistemini bilinçli olarak taklit etti—hatta 1900 yılının artık yıl olduğunu varsayma hatasını bile! 😊
Orijinal Mac için geliştirilen ilk Excel versiyonu Gregoryen takvim kuralını tam olarak uygulamadı ve 1900 yılını hatalı bir şekilde artık yıl olarak kabul etti. Bu, 29 Şubat 1900 diye bir tarihin var olduğunu varsaydı.
Bu yanlış varsayım nedeniyle, Mac Excel'de 1900'den sonraki tüm tarihler, gerçek tarihten bir gün fazla hesaplandı. Örneğin, 1 Mart 1900 tarihi, aslında olması gerekenden bir gün sonraki bir sayıyla eşleşiyordu.
Çözüm: 1904 Tarih Sisteminin Doğuşu
Microsoft, bu hatayı Mac Excel'in temel kodundan kaldırmak yerine, kullanıcıların mevcut tablolarının bozulmaması için yeni bir tarih sistemi yaratmayı tercih etmiş. Bu yeni sistem, adından da anlaşıldığı gibi 1 Ocak 1904'ten itibaren günleri saymaya başlıyor. Ve bu tarih, 0 değerine karşılık geliyor.
Böylece, 1900 yılındaki artık yıl hatası atlanmış oluyor ve 1904'ten sonraki tüm artık yıllar her iki sistemde de doğru bir şekilde hesaplanıyor.
Günümüzde, Excel'in hem Windows hem de Mac sürümlerinde varsayılan olarak 1900 Tarih Sistemi kullanılırken, eski dosyalarla uyumluluk sağlamak amacıyla 1904 sistemini kullanma seçeneği de hala mevcut.
Benzer Yazılar
0 Yorum
Bu yazıya henüz yorum yapılmamış.