![](https://cdn.wiki-base.com/7491933/excel_formula_get_age_from_birthday__2.png.webp)
Generička formula
=DATEDIF(birthdate,TODAY(),"y")
Sažetak
Da biste izračunali dob iz datuma rođenja, možete koristiti funkciju DATEDIF zajedno s funkcijom DANAS. U prikazanom primjeru, formula u kopiji ćelije E5 je:
=DATEDIF(D5,TODAY(),"y")
Budući da DANAS uvijek vraća trenutni datum, formula će i ubuduće izračunavati točnu dob.
Obrazloženje
Funkcija DATEDIF (Date + Dif) pomalo je anomalija u Excelu. Funkcija kompatibilnosti koja izvorno dolazi iz Lotusa 1-2-3, Excel neće pomoći u pružanju argumenata kada se funkcija unese. Međutim, DATEDIF radi u svim modernim verzijama Excela i korisna je funkcija za izračunavanje intervala između dva datuma u godinama, mjesecima i danima.
U prikazanom primjeru cilj je izračunati dob u godinama. Formula u E5 je:
=DATEDIF(D5,TODAY(),"y")
Prva dva argumenta za DATEDIF su datum_početka i datum_završetka. Datum početka dolazi iz ćelije D5 (15. svibnja 2001.) u primjeru. Datum završetka generira se funkcijom DANAS. DANAS uvijek vraća trenutni datum u Excelu. Od pisanja ovog članka, trenutni je datum 24. studenog 2020. Posljednji argument u DATEDIF-u navodi vremensku jedinicu. Funkcija DATEDIF ovdje podržava nekoliko opcija, ali u ovom je primjeru cilj dob u cijelim godinama, pa koristimo "y" za određivanje kompletnih godina.
U ovom trenutku formulu možemo prepisati kao u nastavku:
=DATEDIF("15-May-2001","24-Nov-2020", "y")
Budući da su Excel datumi zapravo serijski brojevi, neobrađene vrijednosti su:
=DATEDIF(37026,44159,"y")
Ovim ulazima DATEDIF vraća 19 kao konačni rezultat.
Dob na određeni datum
Da biste izračunali dob na određeni datum, zamijenite funkciju DANAS ciljnim datumom. Jednostavan i siguran način za utvrđivanje određenog datuma u formulu jest upotreba funkcije DATUM. Na primjer, za izračun dobi od 1. siječnja 2021. možete koristiti formulu poput ove:
=DATEDIF(D5,DATE(2022,1,1),"y") // returns 20
Ova će formula vratiti dob Michaela Changa 1. siječnja 2022. godine, koja je 20 godina.
Odrasla ili maloljetna
Da biste provjerili datum rođenja i vratili "Manje" ili "Odraslo", formulu možete umotati u funkciju IF na sljedeći način:
=IF(DATEDIF(D5,TODAY(),"y")<18,"Minor","Adult")
Gornja formula je primjer gniježđenja. Zamijenite 18 sa godinom prikladnom.
Starost u godinama, mjesecima i danima
Da biste izračunali dob u godinama, mjesecima i danima, upotrijebite tri primjerka DATEDIF-a na sljedeći način:
=DATEDIF(A1,TODAY(),"y")&"y "&DATEDIF(A1,TODAY(),"ym")&"m "&DATEDIF(A1,TODAY(),"md")&"d"
Prva instanca DATEDIF-a vraća godine, druga instanca vraća mjesece, a treća instanca vraća dane. Ovo je primjer spajanja, a rezultat je tekstualni niz poput ovog:
19y 6m 9d
Napomena da su datumi početka i završetka isti u sva tri DATEDIF-a; mijenja se samo jedinica.
GODIŠNJAK INTN
Druga opcija za izračunavanje dobi od datuma rođenja koristi funkciju YEARFRAC zajedno s funkcijom INT u formuli poput ove:
=INT(YEARFRAC(D5,TODAY()))
YEARFRAC izračunava decimalni broj koji predstavlja udio godine između dva datuma. Da bi izračunao djelić godine kao decimalnu vrijednost, Excel koristi dane između dva datuma. Kao i gore, datum rođenja naveden je kao početni_dat iz ćelije D5, a današnji datum naveden je kao krajnji datum, zahvaljujući funkciji DANAS.
S trenutnim datumom 24. studenog 2020., rezultat YEARFRAC-a za Michaela Changa je:
19.5290896646133
Dalje, funkcija INT preuzima i zaokružuje taj broj na cijelu vrijednost, a to je broj 19.
=INT(19.5290896646133) // returns 19
Ova se formula čini posve logičnom i u većini slučajeva dobro funkcionira. Međutim, YEARFRAC može vratiti broj koji nije točan na datume obljetnice (rođendane). Nisam siguran zašto se to točno događa, ali to je povezano s načinom na koji YEARFRAC koristi dane da bi odredio razlomljene godine, što se kontrolira osnovnim argumentom. Na primjer:
=YEARFRAC(DATE(1960,6,30),DATE(1962,6,30),1) // 1.998, should be 2 =YEARFRAC(DATE(1960,3,3),DATE(1964,3,3),1) // 3.998, should be 4
Dno crta je da je formula datuma DATEDIF sigurnija i jednostavnija opcija kada je cilj prijaviti dob u cijelim godinama.