Sally needs a formula that will return the number of years, months, weeks, and days that have elapsed since a beginning date. She's been able to find a formula that shows years, months, and days, but the inclusion of weeks is something that has eluded her for some time.
If Sally needed to only find the number of days or weeks or months or years between two dates, the math is rather simple. (Just calculate the number of days and divide by the appropriate average number of days in the week, month, or year.) That is not what she wants, however. She wants to know an answer that shows the number of elapsed years, months, weeks, and days between two dates.
Thus, if the starting date was June 10, 1966, and the ending date was February 5, 2019, then the answer she seeks would be "52 years, 7 months, 3 weeks, and 5 days." If the ending date is changed to February 7, 2019, then the answer would be "52 years, 7 months, 4 weeks, and 0 days." In this answer, each progressively granular date gradation functions only on the remainder of the preceding parts of the answer.
The formula to which Sally refers—which does not include an indicator for weeks—can be found at this page on the ExcelTips site:
https://excelribbon.tips.net/T011360
That tip shows several different formulas to arrive at a desired result, most relying on the DATEDIF function. (It doesn't make sense to recreate, on this page, the extensive information provided on the other ExcelTips page. You may want to go take a look at it, however.)
If adding weeks into the mix, the basic idea is to simply use the same DATEDIF approach, show the number of weeks, and adjust the number of days to take those weeks into account, in this manner:
=DATEDIF(A1,B1,"y") & " years, " & DATEDIF(A1,B1,"ym") & " months, " & INT(DATEDIF(A1,B1,"md")/7) & " weeks, " & MOD(DATEDIF(A1,B1,"md"),7) & " days"
This is essentially a modified version of the first full DATEDIF formula on the other ExcelTips page, referenced above. It doesn't take grammar and punctuation into account (as do the later formulas on the page), but it provides the desired information. It is a relatively simple extension of this base formula to get the grammar and punctuation correct.
This formula relies on A1 containing the starting date and B1 containing the ending date (the ending date could easily be set to today's date).
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12947) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
Excel makes working with a list of dates relatively easy. If you have a list of dates, you may need to know how many of ...
Discover MoreWant to push a date to some pre-defined day of the month? Here are some ways to force the issue.
Discover MoreSome industries (such as the military) have special formatting that they use to represent dates. Here is one such format ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
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 © 2022 Sharon Parq Associates, Inc.
Comments