Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Converting Mainframe Date Formats.
Written by Allen Wyatt (last updated November 9, 2024)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021
Some of the data you work with in Excel may start as output from large systems in your office. Sometimes the date formats used by the large systems may be completely misunderstood by Excel. For instance, the output may provide dates in the format yyyydddtttt, where yyyy is the year, ddd is the ordinal day of the year (1 through 366), and tttt is the time based on a 24-hour clock. At first glance, you may not know how to convert such a date to something that Excel can use.
There are many ways that a solution could be approached. Perhaps the best formula, however, is the following:
=DATE(LEFT(A1,4),1,1)+MID(A1,5,3)-1+TIME(MID(A1,8,2),RIGHT(A1,2),0)
This formula first figures out the date serial number for January 1 of the specified year, then adds the correct number of days to that date. The formula then calculates the right time based on what is provided.
When a formula like this is invoked, the result is a date serial number. This means that the cell still needs to be formatted to display a date format.
This approach will work just fine, provided that the information that you start with makes sense. For instance, you will always get the expected result if ddd really is within the range of 1 through 366, or if tttt is a properly formatted 24-hour representation of time. If you anticipate original data that could be out of bounds, then the best solution is to create a custom function (using a macro) that will tear apart the original data and check the values provided for each portion. If the data is out of bounds, the function could return an error value that would be easily detected within the worksheet.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9241) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021. You can find a version of this tip for the older menu interface of Excel here: Converting Mainframe Date Formats.
Solve Real Business Problems Master business modeling and analysis techniques with Excel and transform data into bottom-line results. This hands-on, scenario-focused guide shows you how to use the latest Excel tools to integrate data from multiple tables. Check out Microsoft Excel 2013 Data Analysis and Business Modeling today!
If you use Excel to track information based on dates, you may wonder how to get a sum for only certain dates that you ...
Discover MoreCalculating a retirement date can be as simple as doing some date math to see when a person reaches a certain age. ...
Discover MoreWhen entering times in a worksheet, you may have a need to round whatever you enter to the nearest 15-minute increment. ...
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 © 2024 Sharon Parq Associates, Inc.
Comments