Exceli valem: vanuse saamine sünnipäevast -

Lang L: none (table-of-contents)

Üldine valem

=DATEDIF(birthdate,TODAY(),"y")

Kokkuvõte

Vanuse arvutamiseks sünnikuupäevast saate kasutada funktsiooni DATEDIF koos funktsiooniga TÄNA. Näidatud näites on lahtris E5 valem, mis on kopeeritud allpool:

=DATEDIF(D5,TODAY(),"y")

Kuna TÄNA tagastab alati praeguse kuupäeva, jätkab valem õige vanuse arvutamist ka edaspidi.

Selgitus

Funktsioon DATEDIF (kuupäev + dif) on Excelis veidi anomaalia. Ühilduvusfunktsioon, mis pärineb algselt Lotus 1-2-3-st, ei aita Excel funktsiooni sisestamisel argumente pakkuda. Kuid DATEDIF töötab Exceli kõigis kaasaegsetes versioonides ja on kasulik funktsioon kahe kuupäeva vahelise intervalli arvutamiseks aastates, kuudes ja päevades.

Näidatud näites on eesmärk vanuse arvutamine aastates. E5 valem on:

=DATEDIF(D5,TODAY(),"y")

Esimesed kaks argumenti DATEDIF jaoks on alguskuupäev ja lõppkuupäev. Alguskuupäev pärineb näite lahtrist D5 (15. mai 2001). Lõppkuupäev genereeritakse funktsiooniga TÄNA. TÄNA tagastab Excelis alati praeguse kuupäeva. Selle kirjutise seisuga on praegune kuupäev 24. november 2020. DATEDIF-i viimane argument täpsustab ajaühikut. Funktsioon DATEDIF toetab siin mitut võimalust, kuid selle näite eesmärk on vanus tervetes aastates, seega kasutame tervete aastate määramiseks "y".

Siinkohal võime valemi ümber kirjutada järgmiselt:

=DATEDIF("15-May-2001","24-Nov-2020", "y")

Kuna Exceli kuupäevad on tegelikult seerianumbrid, on lähteväärtused järgmised:

=DATEDIF(37026,44159,"y")

Nende sisenditega tagastab DATEDIF lõpptulemuseks 19.

Vanus kindlal kuupäeval

Vanuse arvutamiseks konkreetsel kuupäeval asendage funktsioon TÄNA sihtkuupäevaga. Lihtne ja turvaline viis kindla kuupäeva valemiks sisestamiseks on funktsiooni DATE kasutamine. Näiteks vanuse arvutamiseks 1. jaanuarist 2021 võite kasutada järgmist valemit:

=DATEDIF(D5,DATE(2022,1,1),"y") // returns 20

See valem tagastab Michael Changi vanuse 1. jaanuaril 2022, mis on 20 aastat.

Täiskasvanu või alaealine

Sünniaja kontrollimiseks ja "Alaealine" või "Täiskasvanu" tagastamiseks võite valemi IF-funktsiooni sisestada nii:

=IF(DATEDIF(D5,TODAY(),"y")<18,"Minor","Adult")

Ülaltoodud valem on pesitsemise näide. 18 asendage sobiva vanusega.

Vanus aastates, kuudes ja päevades

Vanuse arvutamiseks aastates, kuudes ja päevades kasutage kolme järgmist DATEDIF-i eksemplari:

=DATEDIF(A1,TODAY(),"y")&"y "&DATEDIF(A1,TODAY(),"ym")&"m "&DATEDIF(A1,TODAY(),"md")&"d"

DATEDIF-i esimene eksemplar tagastab aastad, teine ​​eksemplar kuud ja kolmas eksemplar - päevad. See on liitmise näide ja tulemuseks on selline tekstistring:

19y 6m 9d

Märkus: algus- ja lõppkuupäevad jäävad kõigis kolmes DATEDIF-is samaks; vahetatakse ainult üksust.

YEARFRAC INT

Teine võimalus vanuse arvutamiseks alates sünnikuupäevast kasutab funktsiooni YEARFRAC koos funktsiooniga INT sellises valemis:

=INT(YEARFRAC(D5,TODAY()))

Aasta YEARFRAC arvutab kümnendarvu, mis tähistab kahe kuupäeva vahelist aasta murdosa. Aasta murdosa arvutamiseks kümnendarvuna kasutab Excel kahe kuupäeva vahelisi päevi. Nagu ülalpool, on sünnikuupäev lahtrist D5 alguskuupäev ja tänane kuupäev funktsiooni TÄNA viisakalt lõpupäev.

Praeguse kuupäevaga 24. november 2020 on YEARFRACi tulemus Michael Changile järgmine:

19.5290896646133

Järgmisena võtab funktsioon INT üle ja ümardab selle arvu täisarvuks, milleks on number 19.

=INT(19.5290896646133) // returns 19

See valem tundub täiesti loogiline ja töötab enamikul juhtudel hästi. Kuid YEARFRAC võib tagastada numbri, mis pole aastapäeva kuupäevadel (sünnipäevadel) õige. Ma pole kindel, miks see täpselt juhtub, kuid see on seotud sellega, kuidas YEARFRAC kasutab osade aastate määramiseks päevi, mida kontrollib alusargument. Näiteks:

=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

Alumine rida on see, et kuupäeva valem DATEDIF on turvalisem ja lihtsam variant, kui eesmärk on teatada vanusest tervete aastate jooksul.

Huvitavad Artiklid...