Excel

Få alder fra fødselsdagen

Get Age From Birthday

Excel-formel: Få alder fra fødselsdagenGenerisk formel
= DATEDIF (birthdate, TODAY (),'y')
Resumé

For at beregne alder fra en fødselsdato kan du bruge DATEDIF-funktion sammen med I DAG-funktion . I det viste eksempel er formlen i celle E5, kopieret ned,:

hvad er blandet reference i excel
 
= DATEDIF (D5, TODAY (),'y')

Da DAG altid returnerer den aktuelle dato, fortsætter formlen med at beregne den korrekte alder i fremtiden.



Forklaring

Det DATEDIF-funktion (Date + Dif) er lidt af en anomali i Excel. En kompatibilitetsfunktion, der oprindeligt kommer fra Lotus 1-2-3, hjælper ikke Excel med at levere argumenter, når funktionen indtastes. DATEDIF fungerer dog i alle moderne versioner af Excel og er en nyttig funktion til beregning af intervallet mellem to datoer i år, måneder og dage.



I det viste eksempel er målet at beregne alder i år. Formlen i E5 er:

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

De to første argumenter for DATEDIF er startdato og slutdato. Startdatoen kommer fra celle D5 (15. maj 2001) i eksemplet. Slutdatoen genereres med funktionen I DAG. I DAG returnerer altid den aktuelle dato i Excel. I skrivende stund er den aktuelle dato den 24. november 2020. Det sidste argument i DATEDIF specificerer tidsenheden. DATEDIF-funktionen understøtter flere muligheder her , men for dette eksempel er målet alder i hele år, så vi bruger 'y' til at specificere komplette år.



På dette tidspunkt kan vi omskrive formlen som nedenfor:

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

Fordi Excel-datoer er faktisk serienumre , råværdierne er:

 
= DATEDIF (37026,44159,'y')

Med disse input returnerer DATEDIF 19 som et endeligt resultat.



Alder på specifik dato

For at beregne alder på en bestemt dato skal du erstatte TODAY-funktionen med måldatoen. En nem og sikker måde at kode en bestemt dato ind i en formel er at bruge DATE-funktion . For eksempel kan du beregne alder pr. 1. januar 2021 ved at bruge en formel som denne:

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

Denne formel returnerer Michael Changs alder 1. januar 2022, som er 20.

Voksen eller mindreårig

For at kontrollere fødselsdato og returnere 'Mindre' eller 'Voksen' kan du pakke formlen i HVIS-funktion ligesom:

hvordan man slukker rulle-lås windows 7
 
= IF ( DATEDIF (D5, TODAY (),'y')<18,'Minor','Adult')

Ovenstående formel er et eksempel på indlejring . Udskift 18 med den alder, der passer.

Alder i år, måneder og dage

For at beregne alder i år, måneder og dage skal du bruge tre forekomster af DATEDIF som denne:

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

Den første forekomst af DATEDIF returnerer år, den anden forekomst returnerer måneder, og den tredje forekomst returnerer dage. Dette er et eksempel på sammenkædning , og resultatet er en tekststreng sådan her:

 
19y 6m 9d

Bemærk start- og slutdatoer forbliver de samme i alle tre DATEDIF'er, kun enheden ændres.

YEARFRAC med INT

En anden mulighed for beregning af alder fra fødselsdato bruger YEARFRAC-funktion sammen med INT-funktionen i en formel som denne:

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

YEARFRAC beregner et decimaltal, der repræsenterer brøkdelen af ​​et år mellem to datoer. For at beregne brøkdelen af ​​et år som en decimalværdi bruger Excel dage mellem to datoer. Som ovenfor leveres fødselsdatoen som startdato fra celle D5, og dagens dato leveres som slutdato, takket være funktionen I DAG.

Med en aktuel dato den 24. november 2020 er resultatet fra YEARFRAC for Michael Chang:

excel hvordan man indsætter en række
 
19.5290896646133

Dernæst INT-funktion overtager og afrunder tallet til heltalets værdi, som er tallet 19.

 
= INT (19.5290896646133) // returns 19

Denne formel virker perfekt logisk, og den fungerer i de fleste tilfælde fint. YEARFRAC kan dog returnere et nummer, der ikke er korrekt, på jubilæumsdatoer (fødselsdage). Jeg er ikke helt sikker på, hvorfor dette sker, men det er relateret til, hvordan YEARFRAC bruger dage til at bestemme brøkår, som styres af grundargument . 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

Bundlinjen er, at datoen DATEDIF-formlen er en sikrere og lettere mulighed, når målet er at rapportere alder i hele år.

Vedhæftede filer Fil få alder fra fødselsdato.xlsx Forfatter Dave Bruns


^