Get a person's age in whole years from their date of birth.
Copy this formula
=DATEDIF(A2, TODAY(), "Y")DATEDIF measures the difference between the birth date and today. The "Y" unit returns complete years, correctly accounting for whether this year's birthday has passed.
=DATEDIF("1990-06-23", TODAY(), "Y")→36Age in completed years as of today.
=DATEDIF(DATE(2000,3,15), DATE(2026,3,14), "Y")→25The day before the 26th birthday still counts as 25.
=INT(YEARFRAC(A2, TODAY()))→36An alternative that does not rely on DATEDIF.
Years and months
=DATEDIF(A2, TODAY(), "Y") & "y " & DATEDIF(A2, TODAY(), "ym") & "m"Shows age like "36y 0m".
Yes — TODAY() recalculates each day the workbook opens, so the age stays current.
DATEDIF is an undocumented compatibility function, so Excel does not suggest it as you type. It still works when you enter it in full.
Replace TODAY() with that date: =DATEDIF(A2, DATE(2026,12,31), "Y").
The start date is later than the end date. Put the birth date first and the later date second.
Need a formula for your own data?
Describe what you want in plain language and let ExcelGPT write, explain, and verify the formula — free to start, no plugin.