Innehållsförteckning
I handledningen visas olika sätt att få fram ålder från födelsedag i Excel. Du lär dig en handfull formler för att beräkna ålder som ett antal hela år, få fram exakt ålder i år, månader och dagar vid dagens datum eller ett visst datum.
Det finns ingen särskild funktion för att beräkna ålder i Excel, men det finns några olika sätt att omvandla födelsedatum till ålder. Den här handledningen förklarar fördelarna och nackdelarna med varje sätt, visar hur man skapar en perfekt formel för beräkning av ålder i Excel och hur man kan anpassa den för att lösa vissa specifika uppgifter.
Hur man beräknar ålder från födelsedatum i Excel
I vardagen är frågan " Hur gammal är du? " innebär vanligtvis ett svar som anger hur många år du har levt. I Microsoft Excel kan du göra en formel för att beräkna en exakt ålder i månader, dagar, timmar och till och med minuter. Men låt oss vara traditionella och först lära oss hur man beräknar ålder från DOB i år.
Grundläggande Excel-formel för ålder i år
Hur räknar du normalt ut någons ålder? Helt enkelt genom att subtrahera födelsedatumet från det aktuella datumet. Denna konventionella åldersformel kan också användas i Excel.
Om du antar att födelsedatumet finns i cell B2, kan formeln för att beräkna åldern i år se ut på följande sätt:
=(IDAG()-B2)/365
Den första delen av formeln (TODAY()-B2) ger skillnaden mellan det aktuella datumet och födelsedatumet i dagar, och sedan dividerar du det talet med 365 för att få fram antalet år.
Formeln är uppenbar och lätt att komma ihåg, men det finns ett litet problem: I de flesta fall returnerar den ett decimaltal, vilket visas i skärmdumpen nedan.
Om du vill visa antalet hela år använder du INT-funktionen för att avrunda en decimal till närmaste heltal:
=INT((IDAG()-B2)/365)
Nackdelar: Den här åldersformeln i Excel ger ganska exakta resultat, men inte felfria. Att dividera med det genomsnittliga antalet dagar på ett år fungerar bra för det mesta, men ibland blir åldern fel. Om en person till exempel är född den 29 februari och det är 28 februari i dag, gör formeln personen en dag äldre.
Som ett alternativ kan du dividera med 365,25 i stället för 365, eftersom vart fjärde år har 366 dagar. Detta tillvägagångssätt är dock inte heller perfekt. Om du till exempel beräknar åldern på ett barn som ännu inte har upplevt ett skottår, ger divideringen med 365,25 ett felaktigt resultat.
Att subtrahera födelsedatumet från det aktuella datumet fungerar bra i det vanliga livet, men är inte det perfekta tillvägagångssättet i Excel. Längre fram i den här handledningen kommer du att lära dig ett par specialfunktioner som beräknar åldern felfritt oavsett år.
Beräkna ålder från födelsedatum med funktionen YEARFRAC
Ett mer tillförlitligt sätt att konvertera DOB till ålder i Excel är att använda funktionen YEARFRAC som returnerar bråkdelen av året, dvs. antalet hela dagar mellan två datum.
Syntaxen för YEARFRAC-funktionen är följande:
YEARFRAC(start_datum, slut_datum, [basis])De två första argumenten är uppenbara och kräver knappast någon ytterligare förklaring. Grundläggande är ett valfritt argument som definierar vilken dagräkningsgrund som ska användas.
Om du vill skapa en perfekt sann åldersformel kan du ange följande värden i YEARFRAC-funktionen:
- Start_datum - födelsedatum.
- Slutdatum - TODAY() för att få fram dagens datum.
- Grundläggande - användningsområde 1 som säger åt Excel att dividera det faktiska antalet dagar per månad med det faktiska antalet dagar per år.
Med tanke på ovanstående är en Excel-formel för att beräkna ålder utifrån födelsedatum följande:
YEARFRAC( födelsedatum , TODAY(), 1)Om vi antar att födelsedatumet finns i cell B2 får formeln följande form:
=ÅRFRAC(B2, TODAY(), 1)
Precis som i det föregående exemplet är resultatet av YEARFRAC-funktionen också ett decimaltal. För att åtgärda detta använder du funktionen ROUNDDOWN med 0 i det sista argumentet eftersom du inte vill ha några decimaler.
Här är en förbättrad YEARFRAC-formel för att beräkna ålder i Excel:
=AVRUNDNING(YEARFRAC(B2, TODAY(), 1), 0)
Beräkna ålder i Excel med DATEDIF
Ett annat sätt att konvertera födelsedatum till ålder i Excel är att använda funktionen DATEDIF:
DATEDIF(start_datum, slut_datum, enhet)Den här funktionen kan återge skillnaden mellan två datum i olika tidsenheter, t.ex. år, månader och dagar, beroende på det värde som du anger i enhet argument:
- Y - anger antalet hela år mellan start- och slutdatum.
- M - anger antalet hela månader mellan datumen.
- D - anger antalet dagar mellan de två datumen.
- YM - återvändande månader , utan hänsyn till dagar och år.
- MD - återger skillnaden i dagar , utan att ta hänsyn till månader och år.
- YD - återger skillnaden i dagar , ignorerar år.
Eftersom vårt mål är att beräkna ålder i år Vi använder enheten "y":
DATEDIF( födelsedatum , TODAY(), "y")I det här exemplet finns DOB i cell B2 och du hänvisar till denna cell i formeln för ålder:
=DATEDIF(B2, TODAY(), "y")
Ingen ytterligare avrundningsfunktion behövs i detta fall eftersom en DATEDIF-formel med enheten "y" beräknar antalet hela år:
Hur man får fram ålder från födelsedagen i år, månader och dagar
Som du just har sett är det enkelt att beräkna ålder som antalet hela år som en person har levt, men det räcker inte alltid. Om du vill veta den exakta åldern, dvs. hur många år, månader och dagar det är mellan en persons födelsedatum och det aktuella datumet, ska du skriva tre olika DATEDIF-funktioner:
- För att få fram antalet år:
=DATEDIF(B2, TODAY(), "Y")
- För att få fram antalet månader:
=DATEDIF(B2, TODAY(), "YM")
- För att få fram antalet dagar:
=DATEDIF(B2,TODAY(), "MD")
Där B2 är födelsedatum.
Sammanfoga sedan ovanstående funktioner i en enda formel, till exempel så här:
=DATEDIF(B2,TODAY(), "Y") & DATEDIF(B2,TODAY(), "YM") & DATEDIF(B2,TODAY(), "MD")
Formeln ovan returnerar tre siffror (år, månader och dagar) sammanfogade i en enda textsträng, vilket visas i skärmdumpen nedan:
För att göra resultaten mer meningsfulla kan du separera siffrorna med kommatecken och definiera vad varje värde betyder:
=DATEDIF(B2,TODAY(), "Y") & " År, " & DATEDIF(B2,TODAY(), "YM") & " Månader, " & DATEDIF(B2,TODAY(), "MD") & " Dagar"
Resultatet ser mycket bättre ut nu:
Formeln fungerar utmärkt, men du kan förbättra den ytterligare genom att dölja nollvärden. Lägg till tre IF-meddelanden som kontrollerar nollvärden, ett per DATEDIF:
=IF(DATEDIF(B2, TODAY(), "y")=0,"",DATEDIF(B2, TODAY(), "y")&" år, ")& IF(DATEDIF(B2, TODAY(), "ym")=0,"",DATEDIF(B2, TODAY(), "ym")&" månader, ")& IF(DATEDIF(B2, TODAY(), "md")=0,"",DATEDIF(B2, TODAY(), "md")&" dagar")
Följande skärmdump visar den slutliga Excel-formeln för ålder i praktiken - den returnerar ålder i år, månader och dagar och visar endast icke-noll värden:
Tips. Om du letar efter en Excel-formel för att beräkna ålder i år och månader , ta ovanstående formel och ta bort det sista IF(DATEDIF())-blocket som beräknar dagar.
Specifika formler för att beräkna ålder i Excel
De generiska formlerna för åldersberäkning som diskuteras ovan fungerar bra i de flesta fall. I vissa situationer kan du dock behöva något mycket specifikt. Det är naturligtvis inte möjligt att täcka alla scenarier, men följande exempel ger dig några idéer om hur du kan anpassa en åldersformel beroende på din specifika uppgift.
Hur man beräknar ålder på ett visst datum i Excel
Om du vill veta någons ålder vid ett visst datum använder du DATEDIF-formeln för ålder som diskuteras ovan, men ersätter funktionen TODAY() i det andra argumentet med det specifika datumet.
Om du antar att födelsedatumet är B1, ger följande formel åldern den 1 januari 2020:
=DATEDIF(B1, "1/1/2020", "Y") & " År, " & DATEDIF(B1, "1/1/2020", "YM") & " Månader, " & DATEDIF(B1, "1/1/2020", "MD") & " Dagar"
För att göra din åldersformel mer flexibel kan du ange datumet i en cell och referera till den cellen i formeln:
=DATEDIF(B1, B2, "Y") & " År, "& DATEDIF(B1,B2, "YM") & " Månader, "&DATEDIF(B1,B2, "MD") & " Dagar"
Där B1 är DOB och B2 är det datum som du vill beräkna åldern.
Beräkna ålder under ett visst år
Den här formeln är praktisk i situationer där det fullständiga datumet för beräkningen inte är definierat och du bara känner till året.
Låt oss säga att du arbetar med en medicinsk databas och att ditt mål är att ta reda på patienternas ålder när de genomgick sin senaste fullständiga läkarundersökning.
Om födelsedatumet står i kolumn B med början på rad 3 och året för den senaste läkarundersökningen står i kolumn C, kan åldersberäkningen göras enligt följande:
=DATEDIF(B3,DATE(C3, 1, 1), "y")
Eftersom det exakta datumet för läkarundersökningen inte är fastställt använder du funktionen DATE med ett godtyckligt datum och en godtycklig månad, t.ex. DATE(C3, 1, 1).
DATE-funktionen hämtar året från cell B3, skapar ett fullständigt datum med hjälp av de siffror för månad och dag som du angett (1-Jan i det här exemplet) och skickar det datumet till DATEDIF. Resultatet är patientens ålder från och med den 1 januari ett visst år:
Ta reda på ett datum då en person fyller N år.
Anta att din vän föddes den 8 mars 1978. Hur vet du vilket datum han fyller 50 år? Vanligtvis lägger du helt enkelt till 50 år till personens födelsedatum. I Excel gör du samma sak med hjälp av DATE-funktionen:
=DATE(ÅR(B2) + 50, MÅNAD(B2), DAG(B2))
Där B2 är födelsedatum.
Istället för att skriva in antalet år i formeln kan du hänvisa till en viss cell där användarna kan skriva in ett valfritt antal år (F1 i skärmdumpen nedan):
Beräkna ålder från dag, månad och år i olika celler
När ett födelsedatum är uppdelat i tre olika celler (t.ex. år i B3, månad i C3 och dag i D3) kan du beräkna ålder på detta sätt:
- Få fram födelsedatumet med hjälp av funktionerna DATE och DATEVALUE:
DATE(B3,MONTH(DATEVALUE(C3& "1")),D3)
- Införliva ovanstående formel i DATEDIF för att beräkna ålder från födelsedatum i år, månader och dagar:
=DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "y") & " Years, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3),TODAY(), "ym") & " Months, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "md") & " Days"
För fler exempel på hur du beräknar antalet dagar före/efter ett datum, se Hur man beräknar dagar sedan eller fram till ett datum i Excel.
Ålderskalkylator i Excel
Om du vill ha en egen ålderskalkylator i Excel kan du skapa en genom att använda några olika DATEDIF-formler som förklaras nedan. Om du hellre vill slippa uppfinna hjulet på nytt kan du använda ålderskalkylatorn som skapats av våra Excel-experter.
Hur man skapar en ålderskalkylator i Excel
Nu när du vet hur du skapar en åldersformel i Excel kan du skapa en egen åldersberäknare, till exempel den här:
Observera: För att kunna se den inbäddade arbetsboken måste du tillåta cookies för marknadsföring.
Det du ser ovan är ett inbäddat Excel Online-ark, så skriv gärna in ditt födelsedatum i motsvarande cell, så får du din ålder på ett ögonblick.
Kalkylatorn använder följande formler för att beräkna ålder baserat på födelsedatumet i cell A3 och dagens datum.
- Formeln i B5 beräknar ålder i år, månader och dagar:
=DATEDIF(B2,TODAY(), "Y") & " År, " & DATEDIF(B2,TODAY(), "YM") & " Månader, " & DATEDIF(B2,TODAY(), "MD") & " Dagar"
- Formeln i B6 beräknar åldern i månader:
=DATEDIF($B$3,TODAY(), "m")
- Formeln i B7 beräknar åldern i dagar:
=DATEDIF($B$3,TODAY(), "d")
Om du har erfarenhet av Excel-formulärkontroller kan du lägga till ett alternativ för att beräkna åldern vid ett visst datum, som visas i följande skärmdump:
Lägg till ett par alternativknappar ( Fliken för utvecklare > Infoga > Formulärkontroller > Alternativknapp ) och koppla dem till en cell. Skriv sedan en IF/DATEDIF-formel för att få fram åldern antingen vid dagens datum eller vid det datum som användaren anger.
Formeln fungerar enligt följande logik:
- Om den Dagens datum markeras, visas värdet 1 i den länkade cellen (I5 i det här exemplet) och formeln för ålder beräknas utifrån dagens datum:
IF($I$5=1, DATEDIF($B$3,TODAY(), "Y") & " År, " & DATEDIF($B$3,TODAY(), "YM") & " Månader, " & DATEDIF($B$3, TODAY(), "MD") & " Dagar")
- Om den Specifikt datum är markerad OCH ett datum anges i cell B7, beräknas åldern till det angivna datumet:
IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") & " År, " & DATEDIF($B$3, $B$7, "YM") & " Månader, " & DATEDIF($B$3, $B$7, "MD") & " Dagar", ""))
Slutligen, för in ovanstående funktioner i varandra och du får den fullständiga formeln för beräkning av ålder (i B9):
=IF($I$5=1, DATEDIF($B$3, TODAY(), "Y") & " Years, " & DATEDIF($B$3, TODAY(), "YM") & " Months, " & DATEDIF($B$3, TODAY(), "MD") & " Days", IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") & " Years, " & DATEDIF($B$3, $B$7, "YM") & " Months, " & DATEDIF($B$3, $B$7, "MD") & " Days", ""))
Formlerna i B10 och B11 fungerar enligt samma logik, men de är naturligtvis mycket enklare eftersom de bara innehåller en DATEDIF-funktion för att återge åldern som antalet hela månader respektive dagar.
Om du vill veta mer om detaljerna kan du ladda ner den här Excel-åldersräknaren och undersöka formlerna i cellerna B9:B11.
Ladda ner Ålderskalkylator för Excel
Färdiga åldersberäknare för Excel
Användarna av vår Ultimate Suite behöver inte bry sig om att göra en egen ålderskalkylator i Excel - det är bara några få klick bort:
- Markera en cell där du vill infoga en åldersformel, gå till Verktyg för Ablebits flik> Datum & Tid gruppen och klicka på Guiden Datum & Tid knapp.
- Guiden Date & Time Wizard startar och du går direkt till Ålder fliken.
- På den Ålder Det finns tre saker som du måste ange:
- Uppgifter om födelse som en cellreferens eller ett datum i formatet mm/dd/ååå.
- Ålder vid Dagens datum. eller . ett visst datum. .
- Välj om du vill beräkna åldern i dagar, månader, år eller exakt ålder.
- Klicka på Infoga formel knapp.
Klart!
Formeln sätts in i den markerade cellen och du dubbelklickar på fyllningshandtaget för att kopiera den ner i kolumnen.
Som du kanske har märkt är formeln som skapats av vår Excel-åldersräknare mer komplex än de vi har diskuterat hittills, men den är anpassad för singular och plural av tidsenheter som "dag" och "dagar".
Om du vill bli av med nollenheter som "0 dagar" väljer du Gör det inte. visa noll enheter kryssrutan:
Om du är nyfiken på att testa den här åldersräknaren och upptäcka 60 fler tidsbesparande tillägg för Excel kan du ladda ner en testversion av vår Ultimate Suite i slutet av det här inlägget.
Hur man markerar vissa åldrar (under eller över en viss ålder)
I vissa situationer kan det vara nödvändigt att inte bara beräkna åldern i Excel, utan också att markera celler som innehåller åldrar som ligger under eller över en viss ålder.
Om formeln för åldersberäkning returnerar antalet hela år kan du skapa en vanlig regel för villkorlig formatering baserad på en enkel formel som denna:
- För att markera åldrar som är lika med eller högre än 18 år: =$C2>=18
- För att markera åldrar under 18 år: =$C2<18
Där C2 är den översta cellen i ålderskolumnen (exklusive kolumnhuvudet).
Men vad händer om formeln visar ålder i år och månader eller i år, månader och dagar? I det här fallet måste du skapa en regel som bygger på en DATEDIF-formel som beräknar ålder utifrån födelsedatum i år.
Om vi antar att födelsedatumen finns i kolumn B med början på rad 2 är formlerna följande:
- Att lyfta fram åldrar under 18 (gul):
=DATEDIF($B2, TODAY(), "Y")<18
- Att lyfta fram åldrar mellan 18 och 65 (grönt):
=AND(DATEDIF($B2, TODAY(), "Y")>=18, DATEDIF($B2, TODAY(), "Y")<=65)
- Att lyfta fram åldrar på 65 (blå):
=DATEDIF($B2, TODAY(), "Y")>65
Om du vill skapa regler baserade på ovanstående formler markerar du de celler eller hela rader som du vill markera, går till Hem flik> Stilar grupp och klicka på Villkorlig formatering > Ny regel... > Använd en formel för att bestämma vilka celler som ska formateras .
De detaljerade stegen finns här: Hur man skapar en regel för villkorlig formatering baserad på en formel.
Så här beräknar du ålder i Excel. Jag hoppas att formlerna var lätta att lära dig och att du kommer att prova dem i dina kalkylblad. Tack för att du läste och hoppas att vi ses på vår blogg nästa vecka!
Tillgängliga nedladdningar
Exempel på beräkning av ålder i Excel (.xlsx-fil)
Ultimate Suite 14-dagars fullt fungerande version (.exe-fil)