Excel formula: Dobijte dob od rođendana -

Sadržaj

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.

Zanimljivi članci...