Excel-formel: Få alder fra bursdag -

Innholdsfortegnelse

Generisk formel

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

Sammendrag

For å beregne alder fra fødselsdato, kan du bruke DATEDIF-funksjonen sammen med DAG-funksjonen. I eksemplet vist er formelen i celle E5, kopiert ned,:

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

Fordi I DAG alltid returnerer gjeldende dato, vil formelen fortsette å beregne riktig alder i fremtiden.

Forklaring

DATEDIF-funksjonen (Date + Dif) er litt av en anomali i Excel. En kompatibilitetsfunksjon som opprinnelig kommer fra Lotus 1-2-3, hjelper ikke Excel med å levere argumenter når funksjonen er angitt. DATEDIF fungerer imidlertid i alle moderne versjoner av Excel og er en nyttig funksjon for å beregne intervallet mellom to datoer i år, måneder og dager.

I eksemplet som er vist er målet å beregne alder i år. Formelen i E5 er:

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

De to første argumentene for DATEDIF er startdato og sluttdato. Startdatoen kommer fra celle D5 (15. mai 2001) i eksemplet. Sluttdatoen genereres med TODAY-funksjonen. I DAG returnerer alltid gjeldende dato i Excel. I skrivende stund er nåværende dato 24. november 2020. Det siste argumentet i DATEDIF spesifiserer tidsenheten. DATEDIF-funksjonen støtter flere alternativer her, men for dette eksemplet er målet alder i hele år, så vi bruker "y" for å spesifisere komplette år.

På dette punktet kan vi omskrive formelen som nedenfor:

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

Fordi Excel-datoer faktisk er serienumre, er råverdiene:

=DATEDIF(37026,44159,"y")

Med disse inngangene returnerer DATEDIF 19 som et endelig resultat.

Alder på spesifikk dato

For å beregne alder på en bestemt dato, erstatt TODAY-funksjonen med måldatoen. En enkel og trygg måte å hardkode en bestemt dato til en formel er å bruke DATE-funksjonen. For eksempel, for å beregne alder fra 1. januar 2021, kan du bruke en formel som denne:

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

Denne formelen vil returnere Michael Changs alder 1. januar 2022, som er 20 år.

Voksen eller mindreårig

For å sjekke fødselsdato og returnere "Mindre" eller "Voksen", kan du pakke inn formelen i IF-funksjonen slik:

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

Ovenstående formel er et eksempel på hekking. Erstatt 18 med hvilken alder som helst.

Alder i år, måneder og dager

For å beregne alder i år, måneder og dager, bruk tre forekomster av DATEDIF slik:

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

Den første forekomsten av DATEDIF returnerer år, den andre forekomsten returnerer måneder, og den tredje forekomsten returnerer dager. Dette er et eksempel på sammenkobling, og resultatet er en tekststreng som denne:

19y 6m 9d

Merk start- og sluttdatoer forblir de samme i alle tre DATEDIF-ene; bare enheten endres.

YEARFRAC med INT

Et annet alternativ for å beregne alder fra fødselsdato bruker YEARFRAC-funksjonen sammen med INT-funksjonen i en formel som denne:

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

YEARFRAC beregner et desimaltall som representerer brøkdelen av et år mellom to datoer. For å beregne brøkdelen av et år som en desimalverdi, bruker Excel dager mellom to datoer. Som ovenfor er fødselsdatoen gitt som startdato fra celle D5, og dagens dato leveres som sluttdato, med tillatelse til TODAY-funksjonen.

Med en nåværende dato 24. november 2020 er resultatet fra YEARFRAC for Michael Chang:

19.5290896646133

Deretter tar INT-funksjonen over og avrunder tallet til heltallverdien, som er tallet 19.

=INT(19.5290896646133) // returns 19

Denne formelen virker helt logisk, og den fungerer bra i de fleste tilfeller. YEARFRAC kan imidlertid returnere et nummer som ikke stemmer på jubileumsdatoer (fødselsdager). Jeg er ikke sikker på nøyaktig hvorfor dette skjer, men det er relatert til hvordan YEARFRAC bruker dager for å bestemme brøkår, som styres av grunnargumentet. For eksempel:

=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

Poenget er at datoen DATEDIF-formelen er et tryggere og enklere alternativ når målet er å rapportere alder i hele år.

Interessante artikler...