Welcome toExcel.Tips.Net
Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment
ExcelTips FAQ
ExcelTips Premium
Learn Access Now
Free Printable Forms
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips
Advertise on the
ExcelTips Site
Filtering Columns for Unique Values
Printing Multiple Worksheets on a Single Page
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 Apr 16 14:33:03 2007", 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 Apr 16 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:
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:
=(C1&B1&E1)+D2
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 (3014) applies to Microsoft Excel versions: 97 2000 2002 2003 2007
Save Time and Money! Many people need to keep track of employee time, but don't know where to start when it comes to creating a spreadsheet. Here's a way to save time, effort, and money with ready-to-use timesheet templates.