MS Excel veya Excel, çok çeşitli yerleşik araç ve özelliklere sahip, yaygın olarak kullanılan bir elektronik tablo yazılımıdır. Çeşitli veri kümelerini kaydetmemize ve bunlar üzerinde birden fazla hücreyle hesaplamalar yapmamıza yardımcı olur. Klasik hesaplamaya bir örnek, iki tarih arasındaki farkın hesaplanmasıdır. Ancak kullanışlı bir hesaplama gibi görünmüyor. Ancak aynı teknik, Microsoft Excel'de birisinin veya bir şeyin yaşını bulmak veya hesaplamak için de oldukça önemlidir.
Herhangi bir kişinin yaşını bulmanın yanı sıra, aynı kavramı herhangi bir projenin süresini, herhangi bir şirketin varlık yılını, belirtilen tarihler arasında geçen yıl sayısını vb. hesaplamak için de kullanabiliriz.
Bu derste Excel'de yaşın nasıl hesaplanacağına dair farklı yöntemleri veya çözümleri tartışıyoruz. Öğretici, yaşları, geçerli tarihteki veya belirli bir tarihteki tam yıl, ay ve gün sayısı olarak hesaplamayı öğrenmemize yardımcı olur.
Excel'de yaşı nasıl hesaplayabiliriz?
Excel'de yaşı hesaplamak için özel bir işlev olmamasına rağmen, yaşı farklı senaryolarda farklı şekilde hesaplamanın birçok yolu vardır. Ancak bireyin asıl doğum tarihini (D.O.B.) bilmeliyiz. Daha sonra yaşı hesaplamak veya tarihler arasında ayrım yapmak için doğum tarihini Excel işlevleriyle, özellikle de TARİHLİ ve BUGÜN ile birlikte sağlıyoruz. Şimdi yaşı bulmanın yaygın senaryolarını tartışalım:
Yıllara Göre Yaş Hesaplama
Herhangi bir kişinin yaşını hesaplarken genellikle birkaç faktörü göz önünde bulundururuz. Örneğin yaşı yıl, ay, gün veya bunların hepsini bir arada hesaplamak zorunda kalabiliriz. Ancak bir kişinin yaşını yıl cinsinden hesaplamak Excel'in en sık kullanılan görevidir.
Doğum tarihini bildiğimizi varsayarsak, Excel'deki birkaç farklı işlev, bir kişinin yaşını yıl cinsinden hesaplamamıza yardımcı olabilir. Her yararlı yaş formülünü ayrıntılı olarak tartışalım:
TARİHLİ EĞER İşlevini Kullanma
Excel'deki TARİHLİ EĞER işlevi, bir kişinin yaşını hesaplamak için en yaygın işlevdir. Doğum tarihini giriş tarihi olarak kabul eden ve kişinin yaşını çıkış verisi olarak döndüren, kullanımı kolay, yerleşik ve en uygun fonksiyondur.
Başka bir şekilde, TARİHLİ EĞER işlevi genellikle doğum tarihini karşılık gelen kişinin yaşına dönüştürür. TARİHLİ EĞER işlevinin birincil avantajı, yaşı yalnızca yıl, yalnızca ay, yalnızca gün veya yıl, ay ve tarihlerin birleşik biçimi gibi çeşitli formatlarda hesaplamak için kullanılabilmesidir.
Diğer Excel işlevlerinden farklı olarak TARİHLİ EĞER işlevi, işlevlerin hızlı listesinde görünmez. Bu, bir Excel hücresine eşittir işaretinden sonra yazmaya başladığımızda TARİHLİ EĞER işlevini öneri olarak görmediğimiz anlamına gelir. Ancak bu işlev Excel'in tüm sürümlerinde çalışır. Excel'de ETARİHLİ işlevini kullanmak için sözdizimini ve gerekli argümanları bilmeliyiz.
TARİHLİ EĞER işlevinin genel sözdizimi aşağıdaki gibi tanımlanır:
=DATEDIF(start_date, end_date, unit)
Burada gösterildiği gibi, işlev aşağıdaki üç bağımsız değişkeni gerektirir:
Y, M ve D'nin sırasıyla tam yıl, ay ve gün cinsinden sayıları döndürdüğünü unutmamak önemlidir. Buna karşılık, YM, karşılık gelen gün ve yılları yok sayarak yalnızca ay cinsinden tarih farkını döndürür; MD, ilgili ay ve yılları yok sayarak yalnızca gün olarak tarih farkını döndürür ve YD, karşılık gelen yılları yok sayarak gün olarak tarih farkını döndürür.
TARİHLİ EĞER işlevini kullanarak yıl cinsinden yaşı hesaplarken, daha tanıdık söz dizimi şu şekilde tanımlanabilir:
=TARİHLİEĞER(Doğum_Tarihi,Belirli_Tarih,'Y')
Doğum tarihinden bugüne kadar olan yaşı hesaplamak için Specific_Date yerine güncel tarihi belirtebiliriz. Ayrıca güncel tarih yerine BUGÜN fonksiyonunu da kullanabiliriz. İşte bir kişinin yaşını bugünün tarihine kadar yıl cinsinden hesaplamak için ilgili formül:
=TARİHLİ(Doğum_Tarihi,BUGÜN(),'Y')
Diyelim ki B2 hücresinde bir kişinin doğum tarihi var ve mevcut yaşını yıl cinsinden hesaplamamız gerekiyor. Daha sonra son formüldeki doğum tarihi referansını şu şekilde kullanabiliriz:
=TARİHLİEĞER(B2,BUGÜN(),'Y')
Bazen yıl cinsinden yaş yerine belirli bir tarih görebiliriz. Böyle bir durumda, Ana Sayfa sekmesi > Sayı Formatı açılır menüsüne gidip 'Tarih' yerine 'Genel'i seçmeliyiz.
YILFRAC İşlevini Kullanma
Excel'de yaşı hesaplamanın bir başka yararlı yöntemi, YILFRAC işlevinin kullanılmasını içerir. Kullanımı kolay bir Excel işlevidir ve genellikle yıl cinsinden yaşları hesaplamak için kullanılır. Verilen doğum tarihinden belirli bir tarihe kadar olan yaşı almamıza yardımcı olur.
YEARFRAC işlevini kullanarak bir kişinin yaşını hesaplamaya yönelik genel sözdizimi aşağıdaki gibi tanımlanır:
=YEARFRAC(Birth_Date,Specific_Date)
Eğer doğumdan bu güne kadar olan yaşı hesaplamamız gerekiyorsa Specific_Date yerine güncel tarihi belirtebiliriz. Alternatif olarak YEARFRAC fonksiyonunu BUGÜN fonksiyonuyla aşağıdaki şekilde de birleştirebiliriz:
=YILFRAC(Doğum_Tarihi,BUGÜN())
Varsayılan olarak yukarıdaki formül, sonuçları ondalık sayılarla döndürür. Bir kişinin yaşı hesaplanırken bu pek hoş görünmüyor. Bu nedenle, karşılık gelen yaşı bir tamsayı olarak döndürmek için formülü INT işlevi içinde birleştirir veya içine alırız. Bu nedenle, Excel'de YILFRAC işlevini kullanarak yaşı hesaplamak için kullanılan formülün tamamı aşağıdaki gibi tanımlanır:
=INT(YILFRAC(Doğum_Tarihi,Belirli_Tarih))
A2 hücresinde güncel tarihin, B2 hücresinde ise kişinin doğum tarihinin bulunduğunu varsayalım. Bu durumda o kişinin yaşını aşağıdaki formülü kullanarak hesaplayabiliriz:
=INT(YILFRAC(B2;A2))
java merhaba dünya
Yıl cinsinden yaşı hesaplamak için BUGÜN fonksiyonuyla birlikte YILFRAC fonksiyonunu kullanırsak formül şöyle görünür:
=INT(YILFRAC(B2, BUGÜN()))
BUGÜN işleviyle birleştirildiğinde, YILFRAC işlevi yalnızca geçerli veya yıl cinsinden en son yaşı döndürür.
AŞAĞIYUVARLAMA İşlevini Kullanma
Nadiren kullanılsa da Excel'de yaş hesaplamak için AŞAĞIYUVARLAMA fonksiyonunu da kullanabiliriz. Aşağıda, ROUNDDOWN formülünü kullanarak Excel'de yaşı hesaplamak için kullanılan sözdizimi verilmiştir:
=ROUNDDOWN((Specific_Date - Birth_Date)/365.25,0)
Genel olarak ROUNDDOWN işlevi ondalık basamakların aşağı yuvarlanmasına yardımcı olur. Ancak formülü, yaş bazında hesaplayacak şekilde özelleştirdik. Formülde dört yılda bir gelen artık yıl (yılda 366 gün) için 365,25 kullanıyoruz. Yaştaki ondalık basamakları yok saymak için ROUNDDOWN işlevinde son argüman olarak 0'ı kullanırız.
AŞAĞIYUVARLA formülü yaşı hesaplamak için iyi bir uygulamadır ancak kusursuz olmadığı için önerilmez. Bir çocuğun henüz herhangi bir artık yıl yaşamadığını varsayalım ve bu formülü 365,25'e bölerek yaşını hesaplıyoruz; formül yanlış yaşı döndürecektir.
Yıldaki ortalama gün sayısına bölmek de çoğu durumda işe yarar; yani 365,25 yerine 365 güne bölebiliriz. Ancak bu durumun da bazı sorunları var ve bazen yanlış sonuçlar doğurabiliyor. Örneğin, birinin D.O.B. 29 Şubat, şu anki tarih ise 28 Şubat. Bu durumda 365'e bölersek formülün getirdiği yaş bir gün büyük olacaktır. Bu durumda tarihi hesaplamak için 365,25'e bölmemiz gerekir. Dolayısıyla bu iki yaklaşım mükemmel değildir. Excel'de bir kişinin yaşını hesaplamak için TARİHLİ EĞER işlevinin kullanılması her zaman önerilir.
Diyelim ki A2 hücresinde güncel tarih var ve birisinin D.O.B. B2 hücresinde. Bu durumda o kişinin yaşını aşağıdaki formülü kullanarak hesaplayabiliriz:
=AŞAĞIYUVARLAMA((A2-B2)/365.25,0)
Ayrıca kişinin yaşını geçerli tarihe göre hesaplamak için Specific_Date yerine BUGÜN fonksiyonunu da kullanabiliriz.
BUGÜN İşlevini Kullanma
Yaş en yaygın olarak geçerli tarihten doğum tarihinin çıkarılmasıyla hesaplandığından, Excel'deki BUGÜN işlevi de yaşı hesaplamamıza bir ölçüde yardımcı olur. AŞAĞIYUVARLAMA formülü gibi BUGÜN formülü de Excel'de birinin yaşını hesaplamak için mükemmel değildir.
Diyelim ki B2 hücresinde birinin doğum tarihi var; yaşı hesaplamak için BUGÜN formülünü şu şekilde uygulayabiliriz:
=(BUGÜN()-B2)/365
Bazı durumlara göre bazen 365 yerine 365,25'e bölmemiz gerekebilir. Bu formülde ilk kısım (BUGÜN()-B2) genellikle güncel tarih ile doğum tarihi arasındaki farkı hesaplar. Formülün ikinci kısmı, yıl sayısını (yani yıl cinsinden yaşı) bulmak için farkın 365'e bölünmesine yardımcı olur.
Ne yazık ki, BUGÜN formülü, tıpkı YILFRAC işlevi gibi, sonuçları ondalık sayılarla sağlar. Bu nedenle, yaşı tam yıl olarak veya en yakın tam sayı değerini görüntülemek için BUGÜN formülünü INT fonksiyonu içerisine dahil ediyoruz. Dolayısıyla, yıl cinsinden yaşı hesaplamak için son TOPLAM formül şu şekildedir:
c dilinde dize dizisi
=INT((BUGÜN()-B2)/365)
Ay Olarak Yaş Hesaplama
Daha önce de söylediğimiz gibi, TARİHLİ EĞER işlevi, birinin yaşını farklı formatlarda hesaplamamıza yardımcı olabilir. Böylece aynı ETARİHLİ formülü çalışma sayfamızda tekrar kullanabiliriz. Ancak formüldeki birimi 'Y'den 'M'ye çevirmemiz gerekiyor. Bu, Excel'e yaşı ay cinsinden görüntülemesini veya döndürmesini söyler.
Birinin doğum tarihinin B2 hücresinde olduğu aynı örnek veri kümesini yeniden ele alalım. Mevcut yaşı ay cinsinden hesaplamamız gerekiyor. Daha sonra DATEDIF formülündeki doğum tarihinin referansını şu şekilde kullanabiliriz:
=TARİHLİEĞER(B2,BUGÜN(),'A')
Yaşın Gün Olarak Hesaplanması
TARİHLİ EĞER işlevinin sözdizimini zaten bildiğimizde, gün cinsinden yaşı hesaplamak kolaylaşır. Önceki örnekte olduğu gibi, birim bağımsız değişkenini 'Y' yerine 'M' olarak değiştirdik; bu, kişinin yaşını ay cinsinden hesaplamamıza yardımcı oldu. Benzer şekilde, birim argümanını 'M'den 'D'ye değiştirirsek, işlev yaşı gün cinsinden döndürecektir. Dolayısıyla, bir kişinin D.O.B. B2 hücresindeyse formül aşağıdaki gibi olacaktır:
=TARİHLİEĞER(B2,BUGÜN(),'G')
Yaşın Yıl, Ay ve Gün Cinsinden Toplu Olarak Hesaplanması
Yukarıda tartışıldığı gibi, bir kişinin yaşını tek tek yıl, ay ve gün cinsinden hesaplamak şaşırtıcı derecede kolaydır. Ancak bu her zaman yeterli olmayabilir. Kişinin tam yaşını yıl, ay ve gün olarak toplam olarak bulmamız veya hesaplamamız gereken durumlar olabilir. Bu gibi durumlarda formül biraz uzun olur ama yine de kolaydır.
Kişinin tam yaşını yıl, ay ve gün cinsinden tam olarak hesaplamak için üç farklı TARİHLİ EĞER fonksiyonunu kullanmalı ve bunları aynı anda bir formülde birleştirmeliyiz. Diyelim ki kişinin doğum tarihi B2 hücresindeyse, üç farklı TARİHLİ EĞER işlevi aşağıdaki gibi olacaktır:
- Tam yılların sayısını hesaplamak için: =TARİHLİEĞER(B2,BUGÜN(),'Y')
- Kalan ay sayısını hesaplamak için: =TARİHLİEĞER(B2,BUGÜN(),'YM')
- Kalan gün sayısını hesaplamak için: =TARİHLİEĞER(B2,BUGÜN(),'MD')
Artık tüm bu TARİHLİ EĞER işlevini '&' operatörünü kullanarak aşağıdaki şekilde birleştiriyoruz:
=TARİHLİEĞER(B2,BUGÜN(),'Y')&TARİHLİEĞER(B2,BUGÜN(),'YM')&TARİHLİEĞER(B2,BUGÜN(),'MD')
Yaşı yıl, ay ve tarih cinsinden tek bir dize olarak alsak da anlamlı değildir. Sonuçların (veya yaşın) etkili veya anlaşılır olmasını sağlamak için her birimi virgülle ayırıp her değerin ne anlama geldiğini belirliyoruz. Böylece formül şu hale gelir:
=TARİHLİEĞER(B2,BUGÜN(),'Y') & ' Yıllar, ' & ETARİHLİ(B2,BUGÜN(),'YM') & ' Aylar, ' & ETARİHLİ(B2,BUGÜN(),'MD') & 'Günler'
Yukarıdaki görsel, yaş sonuçlarının öncekine göre nispeten daha anlamlı olduğunu göstermektedir. Ancak bazı sıfır değerleri de görüntüler. Sıfırları kontrol etmek ve ortadan kaldırmak için DATEDIF formülümüzü üç farklı IF ifadesinde birleştirerek daha da geliştirebiliriz. Böylece, bir kişinin mevcut yaşını yıl, ay ve gün cinsinden hesaplamak için son Excel yaş formülü şu şekilde olur:
=EĞER(TARİHLİ(B2, BUGÜN(),'Y')=0,'',TARİHLİ(B2, BUGÜN(),'Y')&' Yıllar, ')& IF(TARİHLİ(B2, BUGÜN(), 'YM')=0,'',TARİHLİ(B2, BUGÜN(),'YM')&' Aylar, ')& IF(TARİHLIIF(B2, BUGÜN(),'MD')=0,'',TARİHLİIF (B2, BUGÜN(),'MD')&' Günler')
Yukarıdaki görselde kişinin yaşına ait sadece sıfır olmayan değerleri görüyoruz. Ancak formül yalnızca kişinin o anki yaşını buluyor.
Herhangi Belirli/Belirli Bir Tarihte Yaşın Hesaplanması
Yukarıdaki formüllerin sözdiziminde, birinin belirli bir tarihteki yaşını bulmamızı sağlayan yolu zaten tartışmıştık. Örneğin, aşağıdaki TARİHLİ formül bir kişinin belirli bir tarihteki yaşını hesaplar:
=TARİHLİEĞER(Doğum_Tarihi,Belirli_Tarih,'Y')
Birim argümanı gerektiği gibi değiştirilebilir. Yukarıdaki formülde, genellikle her iki tarih için de hücre referansını sağlayabiliriz ve sonuç, hedef hücrede görünecektir.
Belirli bir tarihte kişinin yaşını hesaplamak için aynı formülü kullanmanın bir başka tipik yöntemi de istenen tarihi doğrudan formülde belirtmek olacaktır. Örneğin, B2 hücresinde birinin D.O.B (30/05/1995) numarasının bulunduğunu ve bu kişinin 01/01/2021 tarihindeki yaşını bilmek istediğimizi varsayalım. Dolayısıyla, TARİHLİ EĞER işlevini TARİH işleviyle birlikte şu şekilde kullanabiliriz:
=TARİHLİEĞER(B2,TARİH(2021,1,1),'Y')
Yukarıdaki görüntüde, belirli bir tarihi doğrudan TATEDIF işlevinde sağlamak için DATE işlevini kullanıyoruz, B2 referansı ise D.O.B için kullanılıyor.
Bunun dışında, belirli bir tarihte kişinin tarihini yıl, ay ve gün cinsinden bulmamız gerekirse, yukarıda tartışılan üç DATEDIF fonksiyonunu birleştirdiğimiz aynı DATEIF kavramını kullanabiliriz. Ancak ikinci argümandaki TODAY() fonksiyonunu istediğimiz tarihle değiştirmeliyiz.
Yani bir kişinin doğum tarihi B2 hücresinde yer alıyor ve 01/01/2021 itibarıyla yaşını hesaplamamız gerekiyorsa aşağıdaki formülü kullanıyoruz:
=EĞER(TARİHLİEĞER(B2, '1/1/2021','Y')=0,'',TARİHLİEĞER(B2, '1/1/2021','Y')&' Yıllar, ')& IF( DATEDIF(B2, '1/1/2021','YM')=0,'',DATEDIF(B2, '1/1/2021','YM')&' Ay, ')& IF(DATEDIF(B2) , '1/1/2021','MD')=0,'',TARİHLİ(B2, '1/1/2021','MD')&' Günler')
Formüle belirli bir tarih koymak yerine, belirli bir tarih için hücre referansı kullanabilir ve formülümüzün anlaşılmasını kolaylaştırabiliriz. Kişinin doğum tarihinin B2 hücresinde olduğunu ve yaşını hesaplamak istediğimiz belirli tarihin C2 hücresinde olduğunu varsayalım, o zaman esnek yaş formülü aşağıdaki gibi olacaktır:
=EĞER(TARİHLİEĞER(B2, C2,'Y')=0,'',TARİHLİEĞER(B2, C2,'Y')&' Yıllar, ')& IF(TARİHLİEĞER(B2, C2,'YM')=0 ,'',TARİHLİEĞER(B2, C2,'YM')&' Aylar, ')& IF(TARİHLİEĞER(B2, C2,'MD')=0,'',TARİHLİEĞER(B2, C2,'MD')& 'Günler')