Excel formula: Pridobite starost od rojstnega dne -

Kazalo

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.

Zanimive Članki...