Indholdsfortegnelse
Du lærer en håndfuld formler til at beregne alder som et antal hele år, få den nøjagtige alder i år, måneder og dage på dagens dato eller en bestemt dato.
Der er ingen særlig funktion til at beregne alder i Excel, men der findes nogle få forskellige måder at konvertere fødselsdato til alder på. Denne vejledning forklarer fordele og ulemper ved hver enkelt måde, viser hvordan man laver en perfekt formel til beregning af alder i Excel og justerer den til at løse nogle specifikke opgaver.
Sådan beregnes alder ud fra fødselsdato i Excel
I hverdagen er spørgsmålet " Hvor gammel er du? " indebærer normalt et svar, der angiver, hvor mange år du har været i live. I Microsoft Excel kan du lave en formel til at beregne en nøjagtig alder i måneder, dage, timer og endda minutter. Men lad os være traditionelle og først lære at beregne alder fra DOB i år.
Grundlæggende Excel-formel for alder i år
Hvordan finder du normalt ud af en persons alder? Simpelthen ved at trække fødselsdatoen fra den aktuelle dato. Denne konventionelle aldersformel kan også bruges i Excel.
Hvis vi antager, at der er en fødselsdato i celle B2, lyder formlen til beregning af alder i år således:
=(I DAG()-B2)/365
Den første del af formlen (TODAY()-B2) returnerer forskellen mellem den aktuelle dato og fødselsdatoen i dage, og derefter dividerer du dette tal med 365 for at få antallet af år.
Formlen er indlysende og nem at huske, men der er dog et lille problem: I de fleste tilfælde returnerer den et decimaltal, som vist i skærmbilledet nedenfor.
Hvis du vil vise antallet af hele år, skal du bruge INT-funktionen til at afrunde et decimaltal nedad til det nærmeste hele tal:
=INT((I DAG()-B2)/365)
Ulemper: Denne aldersformel i Excel giver ret præcise resultater, men ikke fejlfri. At dividere med det gennemsnitlige antal dage i et år fungerer fint det meste af tiden, men nogle gange giver den en forkert alder. Hvis en person f.eks. er født den 29. februar og i dag er den 28. februar, vil formlen gøre personen en dag ældre.
Som et alternativ kan du dividere med 365,25 i stedet for 365, da hvert fjerde år har 366 dage. Denne fremgangsmåde er dog heller ikke perfekt. Hvis du f.eks. beregner alderen på et barn, der endnu ikke har oplevet et skudår, giver det et forkert resultat at dividere med 365,25.
Alt i alt fungerer det fint at trække fødselsdatoen fra den aktuelle dato i det normale liv, men det er ikke den ideelle fremgangsmåde i Excel. Længere fremme i denne vejledning lærer du et par specielle funktioner, der beregner alder fejlfrit uanset årstal.
Beregn alder ud fra fødselsdato med YEARFRAC-funktionen
En mere pålidelig måde at konvertere DOB til alder i Excel er ved hjælp af YEARFRAC-funktionen, der returnerer brøkdelen af året, dvs. antallet af hele dage mellem to datoer.
Syntaksen for YEARFRAC-funktionen er som følger:
YEARFRAC(start_dato, slut_dato, [basis])De to første argumenter er indlysende og kræver næppe nogen yderligere forklaring. Basis er et valgfrit argument, der definerer det dagtællingsgrundlag, der skal anvendes.
For at lave en perfekt sand aldersformel skal du angive følgende værdier til YEARFRAC-funktionen:
- Start_dato - fødselsdato.
- End_date - TODAY() funktionen til at returnere dagens dato.
- Basis - anvendelsesgrundlag 1 der fortæller Excel, at det skal dividere det faktiske antal dage pr. måned med det faktiske antal dage pr. år.
I betragtning af ovenstående er en Excel-formel til at beregne alder ud fra fødselsdato som følger:
YEARFRAC( fødselsdato , TODAY(), 1)Hvis vi antager, at fødselsdatoen står i celle B2, får formlen følgende formular:
=YEARFRAC(B2, TODAY(), 1)
Ligesom i det foregående eksempel er resultatet af YEARFRAC-funktionen også et decimaltal. For at løse dette skal du bruge funktionen ROUNDDOWN med 0 i det sidste argument, fordi du ikke ønsker nogen decimaler.
Så her er en forbedret YEARFRAC-formel til at beregne alder i Excel:
=ROUNDDOWN(YEARFRAC(B2, TODAY(), 1), 1), 0)
Beregn alder i Excel med DATEDIF
En anden måde at konvertere fødselsdato til alder i Excel på er ved hjælp af DATEDIF-funktionen:
DATEDIF(start_dato, slut_dato, enhed)Denne funktion kan returnere forskellen mellem to datoer i forskellige tidsenheder som f.eks. år, måneder og dage, afhængigt af den værdi, du angiver i enhed argument:
- Y - returnerer antallet af hele år mellem start- og slutdatoen.
- M - returnerer antallet af hele måneder mellem datoerne.
- D - returnerer antallet af dage mellem de to datoer.
- YM - vender tilbage måneder , uden hensyntagen til dage og år.
- MD - returnerer forskellen i dage , uden at tage hensyn til måneder og år.
- YD - returnerer forskellen i dage , ignorere år.
Da vi har til formål at beregne alder i år , vi bruger enheden "y":
DATEDIF( fødselsdato , TODAY(), "y")I dette eksempel er fødselsdatoen i celle B2, og du henviser til denne celle i din aldersformel:
=DATEDIF(B2, TODAY(), "y")
I dette tilfælde er der ikke behov for en yderligere afrundingsfunktion, fordi en DATEDIF-formel med enheden "y" beregner antallet af hele år:
Sådan får du alder fra fødselsdag i år, måneder og dage
Som du lige har set, er det nemt at beregne alder som antallet af hele år, som en person har levet, men det er ikke altid tilstrækkeligt. Hvis du vil kende den nøjagtige alder, dvs. hvor mange år, måneder og dage der er mellem en persons fødselsdato og den aktuelle dato, skal du skrive 3 forskellige DATEDIF-funktioner:
- For at få antallet af år:
=DATEDIF(B2, TODAY(), "Y")
- For at få antallet af måneder:
=DATEDIF(B2, TODAY(), "YM")
- For at få antallet af dage:
=DATEDIF(B2,TODAY(), "MD")
Hvor B2 er fødselsdatoen.
Derefter skal du sammenkæde ovenstående funktioner i en enkelt formel, som her:
=DATEDIF(B2,TODAY(), "Y") & DATEDIF(B2,TODAY(), "YM") & DATEDIF(B2,TODAY(), "MD")
Ovenstående formel returnerer 3 tal (år, måneder og dage) sammenkædet i en enkelt tekststreng, som vist i skærmbilledet nedenfor:
Det giver ikke meget mening, vel? For at gøre resultaterne mere meningsfulde kan du adskille tallene med kommaer og definere, hvad hver værdi betyder:
=DATEDIF(B2,TODAY(), "Y") & " År, " & DATEDIF(B2,TODAY(), "YM") & " Måneder, " & DATEDIF(B2,TODAY(), "MD") & " Dage"
Resultatet ser meget bedre ud nu:
Formlen fungerer fint, men du kan forbedre den yderligere ved at skjule nulværdier. Tilføj derfor 3 IF-udsagn, der kontrollerer for 0'er, et for hvert DATEDIF:
=IF(DATEDIF(B2, TODAY(), "y")=0,"",DATEDIF(B2, TODAY(), "y")&" år, ")& IF(DATEDIF(B2, TODAY(), "ym")=0,""",DATEDIF(B2, TODAY(), "ym")&" måneder, ")& IF(DATEDIF(B2, TODAY(), "md")=0,"",DATEDIF(B2, TODAY(), "md")&" dage")
Følgende skærmbillede viser den endelige Excel-aldersformel i aktion - den returnerer alder i år, måneder og dage, og viser kun ikke-nul værdier:
Tip. Hvis du leder efter en Excel-formel til at beregne alder i år og måneder , tag ovenstående formel og fjern den sidste IF(DATEDIF())-blok, der beregner dage.
Specifikke formler til beregning af alder i Excel
De generiske aldersberegningsformler, der er beskrevet ovenfor, fungerer fint i de fleste tilfælde. I nogle situationer kan du dog have brug for noget meget specifikt. Det er naturligvis ikke muligt at dække alle scenarier, men de følgende eksempler vil give dig nogle idéer til, hvordan du kan justere en aldersformel afhængigt af din særlige opgave.
Sådan beregner du alder på en bestemt dato i Excel
Hvis du vil kende en persons alder på en bestemt dato, skal du bruge DATEDIF-aldersformlen som beskrevet ovenfor, men erstatte funktionen TODAY() i det andet argument med den specifikke dato.
Hvis vi antager, at fødselsdatoen er i B1, vil følgende formel give alderen pr. 1. januar 2020:
=DATEDIF(B1, "1/1/2020", "Y") & " År, " & DATEDIF(B1, "1/1/2020", "YM") & " Måneder, " & DATEDIF(B1, "1/1/2020", "MD") & " Dage"
Hvis du vil gøre din aldersformel mere fleksibel, kan du indtaste datoen i en celle og henvise til denne celle i formlen:
=DATEDIF(B1, B2, "Y") & " År, "& DATEDIF(B1,B2, "YM") & " Måneder, "&DATEDIF(B1,B2, "MD") & " Dage"
Hvor B1 er DOB, og B2 er den dato, hvor du vil beregne alderen.
Beregne alder i et bestemt år
Denne formel er praktisk i situationer, hvor den fuldstændige dato, der skal beregnes, ikke er defineret, og du kun kender årstallet.
Lad os sige, at du arbejder med en medicinsk database, og at dit mål er at finde ud af patienternes alder på det tidspunkt, hvor de sidst blev undersøgt af en læge.
Hvis man antager, at fødselsdatoerne står i kolonne B fra række 3, og at året for den sidste lægeundersøgelse står i kolonne C, kan man beregne alderen på følgende måde:
=DATEDIF(B3,DATE(C3, 1, 1), "y")
Da den nøjagtige dato for lægeundersøgelsen ikke er defineret, bruger du funktionen DATE med et vilkårligt dato- og månedsargument, f.eks. DATE(C3, 1, 1, 1).
DATE-funktionen udtrækker året fra celle B3, laver en komplet dato ved hjælp af de måneds- og dagstal, du har angivet (1-Jan i dette eksempel), og sender denne dato til DATEDIF. Resultatet er patientens alder pr. 1. januar i et bestemt år:
Find ud af en dato, hvor en person fylder N år
Hvis din ven blev født den 8. marts 1978, hvordan ved du så, hvilken dato han fylder 50 år? Normalt lægger du blot 50 år til personens fødselsdato. I Excel gør du det samme ved hjælp af DATE-funktionen:
=DATE(ÅR(B2) + 50, MÅNED(B2), DAG(B2))
Hvor B2 er fødselsdatoen.
I stedet for at indtaste antallet af år i formlen kan du henvise til en bestemt celle, hvor dine brugere kan indtaste et vilkårligt antal år (F1 i skærmbilledet nedenfor):
Beregne alder ud fra dag, måned og år i forskellige celler
Når en fødselsdato er opdelt i 3 forskellige celler (f.eks. år i B3, måned i C3 og dag i D3), kan du beregne alder på denne måde:
- Få fødselsdatoen ved at bruge funktionerne DATE og DATEVALUE:
DATE(B3,MONTH(DATEVALUE(C3& "1")),D3)
- Indsæt ovenstående formel i DATEDIF for at beregne alder ud fra fødselsdato i år, måneder og dage:
=DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "y") & " År, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3),TODAY(), "ym") & " Måneder, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "md") & " Dage"
Du kan finde flere eksempler på beregning af antallet af dage før/efter en dato under Sådan beregner du dage siden eller indtil en dato i Excel.
Aldersberegner i Excel
Hvis du gerne vil have din egen aldersberegner i Excel, kan du lave en ved hjælp af et par forskellige DATEDIF-formler, som forklares nedenfor. Hvis du hellere vil undgå at genopfinde hjulet, kan du bruge den aldersberegner, som vores Excel-specialister har lavet.
Sådan opretter du en aldersberegner i Excel
Nu hvor du ved, hvordan du laver en aldersformel i Excel, kan du lave en brugerdefineret aldersberegner, f.eks. denne:
Bemærk. Hvis du vil se den indlejrede arbejdsbog, skal du tillade marketingcookies.
Det, du ser ovenfor, er et indlejret Excel Online-ark, så du er velkommen til at indtaste din fødselsdato i den tilsvarende celle, og du vil få din alder om et øjeblik.
Regnemaskinen bruger følgende formler til at beregne alder baseret på fødselsdatoen i celle A3 og dagens dato.
- Formlen i B5 beregner alderen i år, måneder og dage:
=DATEDIF(B2,TODAY(), "Y") & " År, " & DATEDIF(B2,TODAY(), "YM") & " Måneder, " & DATEDIF(B2,TODAY(), "MD") & " Dage"
- Formlen i B6 beregner alderen i måneder:
=DATEDIF($B$3,TODAY(), "m")
- Formlen i B7 beregner alderen i dage:
=DATEDIF($B$3,TODAY(), "d")
Hvis du har erfaring med Excel-formularkontroller, kan du tilføje en mulighed for at beregne alder på en bestemt dato, som vist i følgende skærmbillede:
Tilføj hertil et par valgknapper ( fanen Udvikler > Indsæt > Kontrolelementer til formularer > Valgknap ), og knyt dem til en celle, og skriv derefter en IF/DATEDIF-formel for at få alderen enten på dags dato eller på den dato, som brugeren har angivet.
Formlen fungerer med følgende logik:
- Hvis den Dagens dato er markeret, vises værdien 1 i den tilknyttede celle (I5 i dette eksempel), og formlen for alder beregnes på grundlag af datoen i dag:
IF($I$5=1, DATEDIF($B$3,TODAY(), "Y") & " År, " & DATEDIF($B$3,TODAY(), "YM") & " Måneder, " & DATEDIF($B$3, TODAY(), "MD") & " Dage")
- Hvis den Specifik dato er valgt OG der er indtastet en dato i celle B7, beregnes alderen på den angivne dato:
IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") & " År, " & DATEDIF($B$3, $B$7, "YM") & " Måneder, " & DATEDIF($B$3, $B$7, "MD") & " Dage", "")))
Til sidst skal du sætte ovenstående funktioner ind i hinanden, og du vil få den komplette formel til beregning af alder (i B9):
=IF($I$5=1, DATEDIF($B$3, TODAY(), "Y") & " År, " & DATEDIF($B$3, TODAY(), "YM") & " Måneder, " & DATEDIF($B$3, TODAY(), "MD") & " Dage", IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") & " År, " & DATEDIF($B$3, $B$7, "YM") & " Måneder, " & DATEDIF($B$3, $B$7, "MD") & " Dage", "")))
Formlerne i B10 og B11 fungerer efter samme logik, men de er naturligvis meget enklere, fordi de kun indeholder en enkelt DATEDIF-funktion, der returnerer alder som antallet af hele måneder eller dage.
Hvis du vil vide mere om detaljerne, kan du downloade denne Excel-aldersberegner og undersøge formlerne i cellerne B9:B11.
Download Age Calculator til Excel
Klar til brug aldersberegner til Excel
Brugerne af vores Ultimate Suite behøver ikke at bekymre sig om at lave deres egen aldersberegner i Excel - det er kun et par klik væk:
- Vælg en celle, hvor du vil indsætte en aldersformel, gå til Ablebits-værktøjer faneblad> Dato & Tid gruppe, og klik på Guiden Dato & Tid knap.
- Guiden Dato & Tid starter, og du går direkte til den Alder fanebladet.
- På den Alder er der 3 ting, som du skal angive:
- Fødselsdata som en cellereference eller en dato i formatet mm/dd/åååå.
- Alder på dato i dag eller bestemt dato .
- Vælg, om alderen skal beregnes i dage, måneder, år eller nøjagtig alder.
- Klik på den Indsæt formel knap.
Færdig!
Formlen indsættes kortvarigt i den valgte celle, og du dobbeltklikker på udfyldningshåndtaget for at kopiere den ned i kolonnen.
Som du måske har bemærket, er formlen, der er skabt af vores Excel-aldersberegner, mere kompleks end dem, vi har diskuteret hidtil, men den tager højde for ental og flertal af tidsenheder som "dag" og "dage".
Hvis du vil slippe af med nulenheder som "0 dage", skal du vælge Må ikke vise nul enheder afkrydsningsfeltet:
Hvis du er nysgerrig efter at teste denne aldersberegner og opdage 60 andre tidsbesparende tilføjelser til Excel, er du velkommen til at downloade en prøveversion af vores Ultimate Suite i slutningen af dette indlæg.
Sådan fremhæves bestemte aldre (under eller over en bestemt alder)
I nogle situationer kan det være nødvendigt ikke blot at beregne alder i Excel, men også at fremhæve celler, der indeholder aldre, som er under eller over en bestemt alder.
Hvis din formel til beregning af alder returnerer antallet af hele år, kan du oprette en regel for betinget formatering baseret på en simpel formel som denne:
- For at fremhæve aldersgrupper på 18 år eller derover: =$C2>=18
- For at fremhæve aldersgrupper under 18 år: =$C2<18
Hvor C2 er den øverste celle i alderskolonnen (uden kolonnehovedet).
Men hvad hvis din formel viser alder i år og måneder eller i år, måneder og dage? I dette tilfælde skal du oprette en regel baseret på en DATEDIF-formel, der beregner alder ud fra fødselsdato i år.
Hvis vi antager, at fødselsdatoerne står i kolonne B, begyndende med række 2, er formlerne som følger:
- For at fremhæve aldre under 18 (gul):
=DATEDIF($B2, TODAY(), "Y")<18
- For at fremhæve aldre mellem 18 og 65 (grøn):
=AND(DATEDIF($B2, TODAY(), "Y")>=18, DATEDIF($B2, TODAY(), "Y")<=65)
- For at fremhæve aldre på 65 (blå):
=DATEDIF($B2, TODAY(), "Y")>65
Hvis du vil oprette regler baseret på ovenstående formler, skal du vælge de celler eller hele rækker, du vil fremhæve, gå til Hjem faneblad> Stilarter gruppe, og klik på Betinget formatering > Ny regel... > Brug en formel til at bestemme, hvilke celler der skal formateres .
Du kan finde de detaljerede trin her: Sådan laver du en regel for betinget formatering baseret på en formel.
Sådan beregner du alder i Excel. Jeg håber, at formlerne var nemme at lære for dig, og at du vil prøve dem i dine regneark. Tak fordi du læste med og håber at se dig på vores blog i næste uge!
Tilgængelige downloads
Eksempler på beregning af alder i Excel (.xlsx-fil)
Ultimate Suite 14-dages fuldt funktionsdygtig version (.exe-fil)