Alan is president of the local Little League baseball team and he needs to know the ages of each child on May 1 of each year. He wonders if there is a formula that will return the age on that day.
There are actually a couple of ways you can approach the task. Assuming that the child's birth date is in cell A1, you could use the following formula in most instances:
=(DATE(YEAR(NOW()),5,1)-A1)/365.25
This formula calculates the date serial number (used by Excel internally) for May 1 in the current year. It then subtracts the birth date in A1 from that serial number. This results in the number of days between the two dates. This is then divided by 365.25, an approximate number of days in each year.
For most birth dates, this formula will work fine. If you want something more precise (the imprecision is introduced by the way in which leap days occur), then you can rely on the DATEDIF function in your formula:
=DATEDIF(A1,"5/1/" & YEAR(NOW()),"y")
This returns the age of the person as of May 1 of the current year. If you want even more detail in the results, try this formula:
=DATEDIF(A1,"5/1/" & YEAR(TODAY()),"y") & " years, " & DATEDIF(A1,"5/1/" & YEAR(TODAY()),"ym") & " months, " & DATEDIF(A1,"5/1/" & YEAR(TODAY()),"md") & " days"
Remember that this is a single formula—make sure it is entered as a single line in whatever cell you place it.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (11858) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Office 365. You can find a version of this tip for the older menu interface of Excel here: Calculating an Age On a Given Date.
Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!
Different industries and different computer systems specify dates in all sorts of strange ways. If you need to convert a ...
Discover MoreYou can use a couple of different worksheet functions to enter today's date in a cell. What if you want to calculate ...
Discover MoreMany businesses organize information according to calendar quarters, especially when it comes to fiscal information. ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2020-07-07 03:50:04
Chris
It wouldn't bother the Little leaguers, but here is just a quick note of caution for those interested in calculating ancestor's ages: these formulas won't work if any of the dates involved are pre-1900; you will need to search for information on calculating ages in older date systems.
2015-10-26 12:06:58
@Ron: that is correct, the function was removed from the list around 2000. Nobody really knows why... but it still works;
@Dennis: try your formula with birthday 1962-03-31, you will notice that the calc is not correct and 1 year off. Datadif is correct, this 1 day can be important fe. in case of HR contracts.
2015-10-26 11:30:22
Dennis Ralph
I have to calculate a players age within our own Over40s Soccer League.
I created a spreadsheet with the following data:
1.....I placed my year end date in cell J7 as '2016-03-31'.
2.....I enter the players ages in cells J8:J70 as ie: '1962-06-15'.
3.....In the cell next to the age cell (K8:K70) I have a formula as: '=+$J$7-J8', which is formatted to Custom > yy and I copy it down the list so the only cell reference that changes is the J8:J70's.
This works great for me. Seems much simpler than all the "fancy formulas" you show in this tip. Seems to me as a bit overkill.
2015-10-26 09:42:47
Ron Wroczynski
if I type in "Datedif" as a formula copying the examples it works fine. But I do not find it in the list of Excel functions in the formulas tab in my Excel 2010. Why is that?
2015-10-24 06:36:58
For me in such case, =YEARFRAC() function seems to be the easiest.
2015-10-24 05:01:42
Or to calculate someone's age based on todays date:
=DATEDIF(A2;TODAY();"Y")
A2=date of birth
As a separator, use commas (,) in the US or (;) in Europe.
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2021 Sharon Parq Associates, Inc.
Comments