Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, and 2013. 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 an Unsupported Date Format.
by Allen Wyatt
(last updated August 16, 2014)
It is not uncommon to load information from other programs into Excel. For instance, you may have data generated by another program, and you want to analyze that data in Excel. When you import data into Excel, it does a fairly good job of assigning the proper data types to information, and it can even parse and convert some data.
When it comes to dates and times, however, not all programs speak in a way that Excel can understand. For instance, if your other program stores dates in the format "Mon Jan 10 14:33:03 2011", then Excel won't be able to parse the date and you will need to do the conversion in some other manner.
Fortunately, most programs generate their dates and times in a format that follows a pattern. Assuming, for instance, that "Mon Jan 10 14:33:03 2001" represents the format followed by all dates, you can do the conversion using a simple formula:
=DATEVALUE(MID(A1,9,2)&MID(A1,5,3)&RIGHT(A1,4)) + TIMEVALUE(MID(A1,12,8))
This formula assumes that the foreign date/time format is in cell A1. Simply format the result of the formula using one of Excel's date/time formats, and you'll have no problem.
If you prefer, you can use the Text to Columns function to break the foreign date/time format into its integral parts:
Figure 1. The Convert Text to Columns Wizard.
The dates and times are now separated into five individual columns. You can now use a formula to put a valid date/time back together. For instance, assuming that the exploded version of the date/time is in cells A1:E1, you could use the following:
Again, format the result using a date/time format, and you are all set.
If you prefer to use a macro to do the conversion, then the following macro will step through all the selected cells and do the conversion:
Sub ConvDate() Dim c As Range For Each c In Selection.Cells c = DateValue(Mid(c, 5, 6) & ", " _ & Mid(c, 21, 4)) + TimeValue(Mid(c, 12, 8)) c.NumberFormat = "dd MMMM yyyy h:mm:ss" Next c End Sub
The macro converts the text string to an acceptable date/time (using DateValue) and then formats the cell to display the value property.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9779) applies to Microsoft Excel 2007, 2010, and 2013. You can find a version of this tip for the older menu interface of Excel here: Converting an Unsupported Date Format.
Excel Smarts for Beginners! Featuring the friendly and trusted For Dummies style, this popular guide shows beginners how to get up and running with Excel while also helping more experienced users get comfortable with the newest features. Check out Excel 2013 For Dummies today!
When you load data into Excel that was created in other programs, the formatting used for some types of data (such as dates) ...Discover More
Excel is brilliant at handling dates—as long as they aren't dates earlier than the base date used by the program. If ...Discover More
Want to know which day of the month is the first business day? The easiest way to determine the date is to use the WORKDAY ...Discover More
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
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.