Excel can calculate age using DATEDIF(birthday, TODAY(), "Y") — but the function is undocumented, has known bugs with month-end dates, and requires you to open a spreadsheet. For a single age calculation, a browser-based age calculator gives the same answer in 2 seconds.
| Formula | Returns | Example (Born Mar 20, 1990) |
|---|---|---|
| =DATEDIF(A1, TODAY(), "Y") | Full years | 36 |
| =DATEDIF(A1, TODAY(), "M") | Total months | 432 |
| =DATEDIF(A1, TODAY(), "D") | Total days | 13,164 |
| =DATEDIF(A1, TODAY(), "YM") | Months after years | 0 |
| =DATEDIF(A1, TODAY(), "MD") | Days after months | 15 |
| =DATEDIF(A1, TODAY(), "YD") | Days after years | 15 |
To combine into a single cell: =DATEDIF(A1,TODAY(),"Y")&" years, "&DATEDIF(A1,TODAY(),"YM")&" months, "&DATEDIF(A1,TODAY(),"MD")&" days"
DATEDIF is inherited from Lotus 1-2-3 (a 1983 spreadsheet program). Microsoft kept it for compatibility but never documented it in Excel help. Known issues:
| Scenario | Excel | Online Calculator | Winner |
|---|---|---|---|
| Single quick age lookup | ✗ Open Excel, type formula | ✓ Open page, enter birthday | Online |
| Calculate ages for 500 employees | ✓ Formula applies to entire column | ✗ One at a time | Excel |
| Need years + months + days | ~Works but DATEDIF has bugs | ✓ Handles edge cases correctly | Online |
| Age on a specific date (not today) | ✓ Replace TODAY() with any date | ✓ Built-in target date field | Tie |
| No Excel/Sheets license | ✗ Need software | ✓ Works in any browser | Online |
| Audit trail for HR/legal | ✓ Formula in spreadsheet is auditable | ✗ No saved record | Excel |
| Phone or tablet | ✗ Mobile Excel is clunky | ✓ Works on any device | Online |
For a single age calculation, the browser tool is faster than opening Excel.
Open Age CalculatorGoogle Sheets supports the same DATEDIF syntax and is free. If you work in Google Workspace, Sheets is often the better choice over Excel for age calculations:
=DATEDIF(A1, TODAY(), "Y")If you do not trust DATEDIF, here are two DATEDIF-free formulas:
Age in years (exact):
=YEAR(TODAY())-YEAR(A1)-IF(DATE(YEAR(TODAY()),MONTH(A1),DAY(A1))>TODAY(),1,0)
This checks whether your birthday has occurred yet this year and subtracts 1 if not.
Age as decimal:
=YEARFRAC(A1, TODAY())
Returns a decimal like 36.04 — useful for financial formulas but not for human-readable "years, months, days" output.
One birthday. One click. Exact age — no formula, no bugs.
Open Age Calculator