Excel'de tarihlerle çalışma: Yaştan hücre rengine kadar
Doğum tarihine göre yaş belirlemek için =DATEDIF(A2; BUGÜN(); "Y") formülünü kullanın. Ayı çıkarmak için =AY(A2) veya metin formatı için =METNEÇEVİR(A2; "aaaa") uygulayın. Aralığı (çeyreği) belirlemek YUKARIYUVARLA ve AY fonksiyonlarının kombinasyonu ile yapılırken, hücre renginin kontrolü yalnızca VBA makroları veya koşullu biçimlendirme yoluyla mümkündür. Aşağıda her görev için ayrıntılı talimatlar ve hazır çözümler sunulmaktadır.
Yaş ve zaman aralıklarının hesaplanması
En sık karşılaşılan görev, bir kişinin tam yaşını veya bir belgenin geçerlilik süresini mevcut tarihe göre hesaplamaktır. Standart FARKLI (veya İngilizce sürümde DATEDIF) fonksiyonu bu işlem için idealdir, çünkü artık yılları ve gün farklarını dikkate alır.
Tam yaş formülü
Tam yıl sayısını elde etmek için:
=FARKLI(A2; BUGÜN(); "Y")
Burada A2, doğum tarihini içeren hücredir.
Ay ve gün bilgisi içeren yaş
Daha detaylı bilgi gerekiyorsa (örneğin, "35 yıl 4 ay"), birkaç fonksiyon çağrısını birleştirin:
=FARKLI(A2; BUGÜN(); "Y") & " yıl " & FARKLI(A2; BUGÜN(); "YM") & " ay"
"YM" parametresi, yılları yok sayarak ay sayısını döndürür; bu da tam yıllar hesaplandıktan sonra kalanı elde etmenizi sağlar.
BUGÜN() fonksiyonu dosya her açıldığında otomatik olarak güncellenir. Yaşı belirli bir tarihte sabitlemek istiyorsanız (örneğin, rapor tarihi itibarıyla), BUGÜN() yerine o tarihi içeren bir hücreye referans verin veya tarihi tırnak içinde manuel olarak yazın: "01.01.2026".
Ayın çıkarılması ve dönemlere göre gruplama
Özet tablolar ve raporlar için tarihi anlaşılır bir döneme (ay, çeyrek veya yıl) dönüştürmek sıklıkla gerekir.
Ay adının elde edilmesi
15.04.2026 tarihini "Nisan" kelimesine dönüştürmek için:
=METNEÇEVİR(A2; "aaaa")
Kısaltılmış versiyon ("Nis") için:
=METNEÇEVİR(A2; "aaa")
Çeyreğin belirlenmesi (Q1–Q4)
Excel'de çeyrek için ayrı bir fonksiyon yoktur, ancak matematiksel olarak kolayca oluşturulabilir. Ay numarasını 3'e bölüp sonucu yukarı yuvarlayın:
="Q" & YUKARIYUVARLA(AY(A2)/3; 0) & " " & YIL(A2)
Bu formül Q2 2026 gibi bir dize döndürür.
Birleşik "Ay Yıl" dönemi
Raporlarda satır başlıkları için kullanışlı bir format:
=METNEÇEVİR(A2; "aaaa yyyy")
Sonuç: Nisan 2026.
Tarih aralığının belirlenmesi
"Aralık" terimi genellikle bir tarihin belirli bir zaman dilimine (örneğin mali yıla veya kampanyaya) ait olup olmadığını ifade eder.
Aralığa düşmenin kontrol edilmesi
Sınırları kontrol etmek için VE (AND) fonksiyonunu kullanın:
=EĞER(VE(A2>=TARİH(2026;1;1); A2<=TARİH(2026;3;31)); "1. Çeyrek"; "Diğer Dönem")
Bu yöntem, sınırları açıkça belirttiği için basit karşılaştırmadan daha güvenilirdir.
Dinamik gruplama
Bir dönem listesine (başlangıç ve bitiş) sahip bir tablonuz varsa, yaklaşık eşleşme ile DÜŞEYARA veya ARA kullanın:
=ARA(A2; $F$2:$F$10; $G$2:$G$10)
Burada F sütunu dönem başlangıçlarını, G sütunu ise isimlerini içerir. F sütunundaki veriler artan düzende sıralanmalıdır.
Hücre renginin analizi
Excel'de hücre dolgu rengini okumak için yerleşik bir formül yoktur (örneğin, =GETCOLOR(A2) mevcut değildir). Renk, bir veri değeri değil, biçimlendirme öğesidir. Görevi iki şekilde çözebilirsiniz.
Yöntem 1: Koşullu Biçimlendirme (Önerilen)
Rengi okumak yerine, boyama için kullanılan koşula bağlı olarak metin durumu atayan bir kural oluşturun. Örnek: Tarih geçmişse, "Gecikmiş" yazın.
=EĞER(A2<BUGÜN(); "Gecikmiş"; "Güncel")
Ardından koşullu biçimlendirmeyi ayarlayın: Hücre "Gecikmiş" içeriyorsa, onu kırmızıya boyayın. Bu, verileri şeffaf ve sıralanabilir hale getirir.
Yöntem 2: Özel VBA Fonksiyonu
Görsel rengi okumak kritik öneme sahipse (örneğin, biri kurallar olmadan hücreleri manuel olarak boyadıysa), bir makro gerekecektir.
Alt + F11tuşlarına basın, yeni bir modül ekleyin.- Kodu yapıştırın:
Function GetCellColor(rng As Range) As Long
GetCellColor = rng.Interior.Color
End Function
- Hücrede şu formülü kullanın:
=GetCellColor(A2). Bu, renk için sayısal kodu döndürür (örneğin, kırmızı için 255).
Makro içeren dosyaların .xlsm formatında kaydedilmesi gerekir. Bu tür dosyaları meslektaşlarınıza gönderirken, onların bilgisayarlarında makro yürütme devre dışı bırakılmış olabilir, bu da #AD? hatasına neden olur.
Formül özet tablosu
| Görev | Formül (Türkçe Excel için) | Örnek Sonuç |
|---|---|---|
| Yaş (tam yıl) | =FARKLI(A2; BUGÜN(); "Y") | 35 |
| Yaş (yıl ve ay) | =FARKLI(A2; BUGÜN(); "Y") & " y. " & FARKLI(A2; BUGÜN(); "YM") & " ay" | 35 y. 4 ay |
| Ay adı | =METNEÇEVİR(A2; "aaaa") | Nisan |
| Ay numarası | =AY(A2) | 4 |
| Çeyrek | ="Q"&YUKARIYUVARLA(AY(A2)/3; 0) | Q2 |
| Yıl | =YIL(A2) | 2026 |
| Haftanın günü | =METNEÇEVİR(A2; "GGGG") | Pazartesi |
Sık yapılan hatalar
- Tarih metin olarak kaydedilmiş. Formüller hata döndürüyorsa, hücre formatını kontrol edin. Tarih varsayılan olarak sağa hizalanmalıdır. Sola hizalıysa, formatı "Tarih" olarak değiştirin veya dönüştürme için "Sütunlara Dönüştür" özelliğini kullanın.
- Yanlış ayraçlar. Türkçe yerel ayarlarda fonksiyon argümanları virgül (
;) yerine noktalı virgül (;) ile ayrılır.=DATEDIF(A2, TODAY(), "Y")formülü hata verecektir, doğru yazım:=FARKLI(A2; BUGÜN(); "Y"). - Negatif yaş.
FARKLIfonksiyonu, bitiş tarihinin başlangıç tarihinden büyük olmasını gerektirir. Doğum tarihi gelecekteyse, formül#SAYI!döndürür. Kontrol ekleyin:=EĞER(A2>BUGÜN(); "Hata"; FARKLI(...)).
SSS
Çalışma süresini yıl ve ay cinsinden hesaplayabilir miyim?
Evet, mantık yaş hesaplamasıyla aynıdır. Doğum tarihi yerine işe giriş tarihini kullanın: =FARKLI(IseGirisTarihi; BUGÜN(); "Y") & " yıl " & FARKLI(IseGirisTarihi; BUGÜN(); "YM") & " ay".
Mevcut ayın tüm tarihlerini renkle nasıl vurgularım?
Tarih aralığını seçin, "Koşullu Biçimlendirme" → "Yeni Kural" → "Formül Kullan" seçeneğini belirleyin. Şunu girin: =VE(AY(A2)=AY(BUGÜN()); YIL(A2)=YIL(BUGÜN())). İstediğiniz dolgu rengini seçin.
VBA üzerinden renk formülü neden çalışmıyor? Dosyanın "Makro Etkin Excel Çalışma Kitabı (.xlsm)" olarak kaydedildiğinden ve güvenlik ayarlarında makro yürütmenin etkin olduğundan emin olun. Ayrıca fonksiyon, renk değiştiğinde otomatik olarak güncellenmez; sayfayı yeniden hesaplamak gerekir (F9 tuşu).