„Excel“ formulė: gaukite amžių nuo gimtadienio

Turinys

Bendroji formulė

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

Santrauka

Norėdami apskaičiuoti amžių pagal gimimo datą, galite naudoti funkciją DATEDIF kartu su funkcija TODAY. Parodytame pavyzdyje E5 langelio formulė, nukopijuota žemiau, yra:

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

Kadangi TODAY visada pateikia dabartinę datą, formulė ir toliau skaičiuos teisingą amžių ateityje.

Paaiškinimas

Funkcija DATEDIF (Data + Dif) yra šiokia tokia „Excel“ anomalija. Suderinamumo funkcija, kilusi iš „Lotus 1-2-3“, „Excel“ nepadės pateikti argumentų, kai įvesite funkciją. Tačiau DATEDIF veikia visose šiuolaikinėse „Excel“ versijose ir yra naudinga funkcija skaičiuojant intervalą tarp dviejų datų metais, mėnesiais ir dienomis.

Parodytame pavyzdyje tikslas yra apskaičiuoti amžių metais. E5 formulė yra:

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

Pirmieji du DATEDIF argumentai yra pradžios data ir pabaigos data. Pradžios data gaunama iš pavyzdžio D5 langelio (2001 m. Gegužės 15 d.). Pabaigos data sugeneruojama naudojant funkciją TODAY. TODAY visada pateikia dabartinę datą „Excel“. Šiuo metu dabartinė data yra 2020 m. Lapkričio 24 d. Paskutinis argumentas DATEDIF nurodo laiko vienetą. Funkcija DATEDIF palaiko keletą variantų, tačiau šiame pavyzdyje tikslas yra amžius sveikais metais, todėl mes naudojame „y“, kad nurodytume visus metus.

Šiuo metu mes galime perrašyti formulę taip:

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

Kadangi „Excel“ datos iš tikrųjų yra serijos numeriai, neapdorotos vertės yra šios:

=DATEDIF(37026,44159,"y")

Su šiais įvestimis DATEDIF grąžina 19 kaip galutinį rezultatą.

Amžius konkrečią datą

Norėdami apskaičiuoti amžių konkrečią dieną, pakeiskite funkciją TODAY tiksline data. Paprastas ir saugus būdas perkelti konkrečią datą į formulę yra DATE funkcijos naudojimas. Pavyzdžiui, norint apskaičiuoti amžių nuo 2021 m. Sausio 1 d., Galite naudoti tokią formulę:

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

Ši formulė grąžins Michaelo Chango amžių 2022 m. Sausio 1 d., Ty 20 metų.

Suaugęs ar nepilnametis

Norėdami patikrinti gimimo datą ir grąžinti „Nepilnametis“ arba „Suaugęs“, formulę galite įterpti į IF funkciją taip:

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

Pirmiau pateikta formulė yra lizdo pavyzdys. 18 pakeiskite bet kokiu tinkamu amžiumi.

Amžius metais, mėnesiais ir dienomis

Norėdami apskaičiuoti amžių metais, mėnesiais ir dienomis, naudokite tris tokius DATEDIF atvejus:

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

Pirmasis DATEDIF atvejis pateikia metus, antrasis - mėnesius, o trečiasis - dienas. Tai yra sujungimo pavyzdys, o rezultatas yra tokia teksto eilutė:

19y 6m 9d

Visų trijų DATEDIF pradžios ir pabaigos datos išlieka tos pačios; keičiamas tik vienetas.

YEARFRAC be INT

Kita galimybė skaičiuoti amžių nuo gimimo datos naudoja YEARFRAC funkciją kartu su INT funkcija tokioje formulėje:

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

YEARFRAC apskaičiuoja dešimtainį skaičių, nurodantį metų dalį tarp dviejų datų. Norėdami nustatyti metų dalį kaip dešimtainę vertę, „Excel“ naudoja dienas tarp dviejų datų. Kaip ir aukščiau, gimimo data pateikiama kaip pradžios data iš langelio D5, o šios dienos data pateikiama kaip pabaigos data, sutinkant su funkcija TODAY.

Pagal dabartinę 2020 m. Lapkričio 24 d. YEARFRAC rezultatus Michaelui Changui yra:

19.5290896646133

Toliau INT funkcija perima ir suapvalina tą skaičių iki sveiko skaičiaus vertės, kuri yra skaičius 19.

=INT(19.5290896646133) // returns 19

Ši formulė atrodo visiškai logiška ir daugeliu atvejų ji veikia gerai. Tačiau YEARFRAC gali pateikti neteisingą skaičių jubiliejaus datomis (gimtadieniais). Nesu tikras, kodėl taip atsitinka, bet tai yra susiję su tuo, kaip YEARFRAC naudoja dienas, kad nustatytų trupmeninius metus, kuriuos valdo pagrindinis argumentas. Pavyzdžiui:

=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

Esmė ta, kad datos DATEDIF formulė yra saugesnė ir lengvesnė parinktis, kai siekiama pranešti apie amžių ištisus metus.

Įdomios straipsniai...