ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • About
  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Dates
  3. Calculate a Retirement Date From a Birth Date in Excel

Calculate a Retirement Date From a Birth Date in Excel

By ExcelReady Team·Updated November 3, 2026·6 min read

The short answer

To calculate a retirement date in Excel, put the retirement age in a cell, such as F1, and use =EDATE(B2,12*$F$1), where B2 holds the birth date. EDATE adds that many months and returns the date of the birthday at that age. If the rule is the end of that month, use =EOMONTH(B2,12*$F$1) instead.

Key takeaways

  • =EDATE(birth_date, 12*age) returns the exact birthday at the retirement age.
  • Keep the retirement age in its own cell and lock it with $, so one change updates every row.
  • =EOMONTH(birth_date, 12*age) gives the last day of the birthday month, a common rule in HR and pension policies.
  • EDATE moves a 29 February birthday to 28 February in non-leap years; DATE(YEAR+age, MONTH, DAY) moves it to 1 March.
  • Format the result as a date, or you will see a serial number like 48684.
On this page+
  1. Set up the sheet
  2. Calculate a retirement date with EDATE
  3. Retire at the end of the month or the start of the next
  4. What happens with a 29 February birthday?
  5. Calculate the time left until retirement
  6. Ages with months, and the retirement year
  7. Common mistakes
  8. Practise it

To calculate a retirement date in Excel, add the retirement age, in months, to the birth date with EDATE: =EDATE(B2,12*$F$1). Keep the retirement age in its own cell, because the right age depends on the person's country, pension scheme or contract, and it can change. This guide is for HR, payroll and finance staff who plan headcount or pensions, and it covers exact birthdays, month-end rules, leap-day births and time left.

Set up the sheet#

Put names and birth dates in columns, and the retirement age in a single cell. The examples use this sheet:

ABCDEF
1NameBirth dateRetirement dateRetirement age65
2Ana15-Apr-1968
3Ben29-Feb-1964
4Chloe31-Oct-1971

The 65 in F1 is only an example. Use the age that applies to your people, and check it against the official rules or policy before you rely on the dates. If different groups retire at different ages, put the age in a column next to each person instead.

The birth dates must be real Excel dates, not text. If they came from another system, see the date basics lesson for how Excel stores dates as serial numbers.

Calculate a retirement date with EDATE#

EDATE adds a number of months to a date and keeps the same day of the month. Since an age is in years, multiply it by 12:

Excel formula
=EDATE(B2,12*$F$1)
  1. Click C2 and type the formula.
  2. Press Enter. You may see 48684, which is how Excel stores 15 April 2033.
  3. Format the cell as a date: Ctrl+Shift+# on Windows, ⌃⇧# on a Mac, or Format Cells > Date.
  4. Fill the formula down to C4 (Windows: Ctrl+D; Mac: ⌘D).

The $ signs in $F$1 keep the reference fixed as you fill down. Without them, C3 would look at F2, which is empty, and return Ben's birth date.

NameBirth dateRetirement date
Ana15-Apr-196815-Apr-2033
Ben29-Feb-196428-Feb-2029
Chloe31-Oct-197131-Oct-2036

The EDATE function guide explains each argument, and the article on adding days, months and years to a date shows other ways to shift dates.

Retire at the end of the month or the start of the next#

Many policies don't use the exact birthday. They use the last day of the birthday month, or the first day of the next month. EOMONTH handles both:

RuleFormulaResult for Ana
Exact birthday=EDATE(B2,12*$F$1)15-Apr-2033
Day before the birthday=EDATE(B2,12*$F$1)-114-Apr-2033
Last day of the birthday month=EOMONTH(B2,12*$F$1)30-Apr-2033
First day of the next month=EOMONTH(B2,12*$F$1)+11-May-2033

EOMONTH moves forward the given number of months and then jumps to the last day of that month. Adding 1 lands on the 1st of the following month. See the EOMONTH function guide and the side-by-side comparison in EDATE and EOMONTH explained.

What happens with a 29 February birthday?#

EDATE moves a leap-day birthday to 28 February when the target year has no 29 February. Ben was born on 29 February 1964, and 2029 is not a leap year, so =EDATE(B3,12*$F$1) returns 28-Feb-2029.

Some people build the date from its parts instead:

Excel formula
=DATE(YEAR(B3)+$F$1,MONTH(B3),DAY(B3))

This returns 1-Mar-2029, because DATE rolls 29 February 2029 over into March. Both formulas are valid. The point is to pick the one that matches your policy and use it for everyone, so nobody's date is a day off.

Calculate the time left until retirement#

DATEDIF counts complete years and months between two dates. With the retirement date in C2:

Excel formula
=DATEDIF(TODAY(),C2,"y")&" years, "&DATEDIF(TODAY(),C2,"ym")&" months"

TODAY() changes every day, so the answer changes too. To make a report that stays fixed, use a set "as of" date instead. As of 3 November 2026, =DATEDIF(DATE(2026,11,3),C2,"y") returns 6 and the "ym" version returns 5, so Ana has 6 years and 5 months to go. For days, simply subtract: =C2-DATE(2026,11,3) gives 2,355 days.

DATEDIF returns #NUM! if the first date is later than the second, which happens for anyone already past their retirement date. Wrap it in IF to show a label instead:

Excel formula
=IF(C2<=TODAY(),"Retired",DATEDIF(TODAY(),C2,"y"))

The same DATEDIF pattern works for current age and length of service, covered in how to calculate age and tenure and age in years and months.

Ages with months, and the retirement year#

Some rules use an age such as 66 years and 4 months. Put the years in F1 and the extra months in G1, then add both:

Excel formula
=EDATE(B2,12*$F$1+$G$1)

You can also type a decimal age such as 62.5 in F1. EDATE then adds 750 months. Be careful with decimals that are not whole months, because EDATE ignores any part of a month.

If you only need the year, add the age to the birth year: =YEAR(B2)+$F$1 returns 2033 for Ana. To count how many people retire in a given year, combine that with COUNTIF, a common step in HR analytics in Excel.

Common mistakes#

These are the slips that give wrong retirement dates:

  1. Adding years instead of months. =EDATE(B2,65) adds 65 months, not 65 years. Multiply by 12.
  2. Adding days. =B2+65*365 drifts by a day or more because of leap years. Use EDATE.
  3. Forgetting the $ signs. Without $F$1, the age cell moves as you fill down.
  4. Text dates. A birth date stored as text gives #VALUE!. Convert it with DATEVALUE or Text to Columns.
  5. Hard-coding the age. =EDATE(B2,780) hides the rule inside the formula. A labelled age cell is easier to check and update.

Practise it#

EDATE and EOMONTH are quick to learn once you have typed them a few times. Practise EDATE, EOMONTH and WEEKDAY in a live spreadsheet: you write the formula and it checks the date instantly. If dates still show as numbers, start with the date basics lesson. Then try the exercise on this page to work out Ana's retirement date.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

Ana was born on 15 April 1968, and the example retirement age is in F1. In C2, type =EDATE(B2,12*$F$1) and press Enter to get her retirement date.

fx
ABCDEFG
1
Name
Birth date
Retirement date
Retirement age
65
2
Ana
24943
3
Ben
23436
4
Chloe
26237
5
6
7

Tip: EDATE needs a start date and a number of months. 65 years is 12*65 months. The result is 15 April 2033, which may show as the serial number 48684 until you format it as a date.

Practise this in a lesson

LessonRenewals and month-ends: EDATE, EOMONTH, WEEKDAYShift dates by whole months with EDATE, jump to month-end with EOMONTH, and find the day of the week with WEEKDAY.LessonHow Excel stores dates: DATE, YEAR, MONTH, DAYLearn why every date is secretly a number, then build dates with DATE and take them apart with YEAR, MONTH and DAY.Function guideEDATEAdd months to a date with Excel's EDATE for renewals, probation ends and due dates. Month-end behaviour, mistakes and a live practice exercise.Function guideEOMONTHFind the last day of any month with Excel's EOMONTH for due dates, month totals and days in a month. Examples, pitfalls and a live exercise.

Frequently asked questions

What is the formula for retirement date in Excel?

+

With the birth date in B2 and the retirement age in F1, use =EDATE(B2,12*$F$1). It adds the age in months to the birth date and returns the birthday at that age.

How do I calculate retirement at the end of the month?

+

Use =EOMONTH(B2,12*$F$1). It returns the last day of the month in which the person reaches the age in F1. Add 1 to get the first day of the next month.

How do I calculate years left until retirement?

+

Put the retirement date in C2 and use =DATEDIF(TODAY(),C2,"y") for whole years. Add =DATEDIF(TODAY(),C2,"ym") to show the extra months.

Why does my retirement date show as a number?

+

Excel stores dates as serial numbers, and EDATE returns one. Format the cell as a date with Ctrl+Shift+# on Windows or Control+Shift+# on a Mac, or through Format Cells.

Can the retirement age include half years?

+

Yes. Store 62.5 in the age cell and =EDATE(B2,12*$F$1) adds 750 months. Keeping whole months avoids rounding surprises, because EDATE ignores any fraction of a month.

Sources

  • EDATE function - Microsoft Support
  • EOMONTH function - Microsoft Support
  • DATEDIF function - Microsoft Support

Written and checked by the ExcelReady Team. First published November 3, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. Set up the sheet
  2. Calculate a retirement date with EDATE
  3. Retire at the end of the month or the start of the next
  4. What happens with a 29 February birthday?
  5. Calculate the time left until retirement
  6. Ages with months, and the retirement year
  7. Common mistakes
  8. Practise it

Keep reading

Dates· 6 min read

EDATE and EOMONTH: Add Months and Find Month-End

EDATE moves a date by whole months: =EDATE(start_date, months) keeps the day where it can, so Mar 15 plus 12 months is Mar 15 next year. EOMONTH moves by months and then jumps to the month's last day: =EOMONTH(B2,0) is the end of B2's month. Negative months go backwards.

Dates· 6 min read

Calculate Age or Years of Service in Excel

To calculate age in Excel, use =DATEDIF(B2,TODAY(),"Y"), where B2 is the birth date. It counts complete years, so the age only goes up on the birthday. Years of service work the same way with the hire date. For a report that must not change, replace TODAY() with a fixed "as of" date cell.

Dates· 6 min read

Add Days, Months or Years to a Date in Excel

To add days to a date in Excel, just add the number: =A2+30. For working days, use =WORKDAY(A2,10). To add months, use =EDATE(A2,3), which handles months of different lengths. To add years, use =EDATE(A2,12*n), for example =EDATE(A2,24) for two years. Use negative numbers to go back in time.

More on dates

  • Round Time to the Nearest 15 Minutes in Excel
  • Semimonthly Pay Schedule in Excel: 15th and Month-End Paydays
  • Calculate the Difference Between Two Times in Excel
  • TODAY Function in Excel: Always-Current Dates
  • Convert a Unix Timestamp to a Date in Excel
  • Find Upcoming Birthdays in Excel With a Formula
All dates articles →

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free