![](https://cdn.wiki-base.com/7491933/excel_formula_get_age_from_birthday__2.png.webp)
Splošna formula
=DATEDIF(birthdate,TODAY(),"y")
Povzetek
Za izračun starosti od rojstnega datuma lahko uporabite funkcijo DATEDIF skupaj s funkcijo DANES. V prikazanem primeru je formula v kopirani celici E5:
=DATEDIF(D5,TODAY(),"y")
Ker DANES vedno vrne trenutni datum, bo formula tudi v prihodnje izračunavala pravilno starost.
Pojasnilo
Funkcija DATEDIF (Date + Dif) je nekoliko nepravilnost v Excelu. Funkcija združljivosti, ki izvira iz Lotus 1-2-3, Excel ne bo pomagala pri podajanju argumentov ob vnosu funkcije. Vendar DATEDIF deluje v vseh sodobnih različicah Excela in je uporabna funkcija za izračun intervala med dvema datumoma v letih, mesecih in dneh.
V prikazanem primeru je cilj izračunati starost v letih. Formula v E5 je:
=DATEDIF(D5,TODAY(),"y")
Prva dva argumenta za DATEDIF sta datum_ začetka in datum_konca. Začetni datum izhaja iz celice D5 (15. maja 2001) v primeru. Končni datum se ustvari s funkcijo DANES. DANES vedno vrne trenutni datum v Excelu. Od trenutka pisanja je trenutni datum 24. november 2020. Zadnji argument v DATEDIF določa časovno enoto. Funkcija DATEDIF tukaj podpira več možnosti, vendar je v tem primeru cilj starost v celih letih, zato z "y" določimo celotna leta.
Na tej točki lahko formulo prepišemo kot spodaj:
=DATEDIF("15-May-2001","24-Nov-2020", "y")
Ker so Excelovi datumi dejansko serijske številke, so neobdelane vrednosti:
=DATEDIF(37026,44159,"y")
S temi vnosi DATEDIF vrne 19 kot končni rezultat.
Starost na določen datum
Če želite izračunati starost na določen datum, funkcijo DANES zamenjajte s ciljnim datumom. Preprost in varen način za določitev določenega datuma v formulo je uporaba funkcije DATUM. Na primer, za izračun starosti od 1. januarja 2021 lahko uporabite naslednjo formulo:
=DATEDIF(D5,DATE(2022,1,1),"y") // returns 20
Ta formula bo vrnila starost Michaela Changa 1. januarja 2022, to je 20 let.
Odrasli ali mladoletni
Če želite preveriti datum rojstva in vrniti »Manjši« ali »Odrasli«, lahko formulo v funkcijo IF zavijete tako:
=IF(DATEDIF(D5,TODAY(),"y")<18,"Minor","Adult")
Zgornja formula je primer gnezdenja. 18 zamenjajte s katero koli starostjo.
Starost v letih, mesecih in dneh
Za izračun starosti v letih, mesecih in dneh uporabite tri primerke DATEDIF-a, kot je ta:
=DATEDIF(A1,TODAY(),"y")&"y "&DATEDIF(A1,TODAY(),"ym")&"m "&DATEDIF(A1,TODAY(),"md")&"d"
Prvi primerek DATEDIF vrne leta, drugi primerek mesece in tretji primerek vrne dni. To je primer združevanja, rezultat pa je besedilni niz, kot je ta:
19y 6m 9d
Upoštevajte, da začetni in končni datum ostaneta enaka v vseh treh DATEDIF-jih; samo enota se spremeni.
LETO z INT
Druga možnost za izračun starosti od datuma rojstva uporablja funkcijo YEARFRAC skupaj s funkcijo INT v formuli, kot je ta:
=INT(YEARFRAC(D5,TODAY()))
YEARFRAC izračuna decimalno število, ki predstavlja del leta med dvema datumoma. Za izračun ulomka leta kot decimalno vrednost Excel uporabi dneve med dvema datumoma. Kot zgoraj je datum rojstva naveden kot začetni_datum iz celice D5, današnji datum pa kot končni_datum, zahvaljujoč funkciji DANES.
S trenutnim datumom 24. novembra 2020 je rezultat programa YEARFRAC za Michaela Changa:
19.5290896646133
Nato funkcija INT prevzame in zaokroži to številko na celoštevilčno vrednost, ki je številka 19.
=INT(19.5290896646133) // returns 19
Ta formula se zdi povsem logična in v večini primerov deluje dobro. Vendar lahko YEARFRAC vrne številko, ki ni pravilna na datume obletnice (rojstni dnevi). Nisem natančno prepričan, zakaj se to zgodi, vendar je povezano s tem, kako YEARFRAC uporablja dneve za določanje delnih let, kar nadzira osnovni argument. Na primer:
=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
Bistvo je, da je formula DATEDIF z datumom varnejša in enostavnejša možnost, kadar je cilj poročanje o starosti v celih letih.