Age
Years = floor((Reference Date − Birth Date) in days / 365.25) Months = remaining months after full years Days = remaining days after full months Next birthday = days until next occurrence of birth month/day

The calculation accounts for leap years by using exact calendar month boundaries rather than a fixed 365-day year. Each month's length is respected precisely.

Age in years (DOB in A1, today)
=DATEDIF(A1,TODAY(),"Y")
Age in months
=DATEDIF(A1,TODAY(),"M")
Days until next birthday
=DATE(YEAR(TODAY()),MONTH(A1),DAY(A1))-TODAY()

Why Exact Age Calculation Is Tricky

Calculating age sounds simple but involves several subtleties. The most obvious: leap years. A year is not exactly 365 days โ€” it averages 365.25 days. This means simply dividing the number of days since birth by 365 gives a slightly wrong answer for many dates.

Calendar months have different lengths (28, 29, 30, or 31 days depending on the month and whether it is a leap year). A person born on January 31 who is 1 month old could be measured on February 28 or 29, March 1, or March 2 depending on how "one month" is defined. The standard convention: one month later means the same day number in the following month, or the last day of that month if the number doesn't exist.

Leap day birthdays (February 29) present a special case: in non-leap years, most conventions celebrate the birthday on either February 28 or March 1, depending on jurisdiction. Legal age calculations in many countries recognize February 28 as the effective birthday in non-leap years.

Age Calculations in Legal and Medical Contexts

Legal age thresholds (voting at 18, retirement at 65, pediatric dosing calculations) require precise age determination. In most jurisdictions, you reach a given age on the anniversary of your birth date โ€” the start of your birthday, not the end. A person born on December 31 turns 18 at 12:00:01 AM on December 31 of their 18th year.

Medical dosing, especially for children, sometimes uses age in months rather than years for precision. A 23-month-old and a 24-month-old may receive different medication doses despite being very close in age. Pediatric growth charts use age in months through age 2 for the same reason.

Frequently Asked Questions

Multiply your age in years by 365.25 for an approximation. A 30-year-old has lived approximately 10,957 days. The calculator above shows the precise day count based on your actual birth date and today's date.
Use =DATEDIF(birth_date, today, "Y") for years, =DATEDIF(birth_date, today, "YM") for remaining months, and =DATEDIF(birth_date, today, "MD") for remaining days. DATEDIF is an undocumented but widely supported Excel function specifically designed for date interval calculations.
Add 6 months to your birth date. If you were born on March 15, your half-birthday is September 15. If you were born on August 31, your half-birthday is February 28/29 (the last day of February, since August 31 + 6 months lands on a non-existent date).
Most common law countries calculate that you attain a given age on the anniversary of your birth date. Some countries calculate that you complete an age at the start of the next day after the anniversary. For critical legal matters (driving, voting, pension eligibility), consult the specific statute in your jurisdiction.