
Sometimes when we import data from another source in to excel, the dates are not imported properly. This can be due to any number of reasons, including,
- The date format is different from one that is understood by excel
- The data has some extra spaces, other characters before and after the date values.
- The dates are formatted for another country (or date system) and hence your version of Excel wont recognize them.
- The separator between date, month and year is not a known separator (for eg. 12=DEC=2009 instead of 12-Dec-2009), etc.
In this post, we will learn some tricks and ideas you can use to quickly convert text to dates.
Technique 1: Use Text to Columns Utility
- First copy the source data and paste it in a text file (open Notepad and paste there).
- Now copy the values from text file and paste them in Excel.
- At this point, Excel will prompt you for using “Text to columns” utility (or Text Import Wizard as it is called in Excel 2007)

- Go to the Text Import Wizard (or Text to Columns dialog).
- Leave defaults or make changes in step 1 & 2.
- In step 3, select “Date” and specify the format of the date – like YMD, MDY, DMY, YDM, MYD or DYM. It doesn’t matter what is the format of source date, month or year is. Excel can smartly understand them.

- Click “Finish”.
That is all. Your text dates are now converted to excel understandable dates.
Technique 2: Using Formulas to Convert Text to Dates
- Paste the data in a column (say “A”)
- Now depending on the format of source data, write one of the below formulas to convert text to dates.
Using DATEVALUE formula
DATEVALUE formula tells excel to fetch the date from a given input. It is a smart formula capable of converting dates stored as text to excel understandable date format. To convert a text in cell A1 to date, you just write =DATEVALUE(A1)
However, DATEVALUE formula has some limitations. It cannot process all types of dates. For eg. I have shown a few sample dates along with corresponding DATEVALUE output.

Readjusting Date Text so that it works with DATEVALUE formula
Whenever possible, your next best option is to re-adjust the source data text so that it can be understood by DATEVALUE formula. Here is an example.

We can use the text formulas like LEFT, RIGHT and MID to extract portions of the date text and then regroup them using & operator to create meaningful date text format that would be understood by DATEVALUE formula.
Technique 3: Using DATE formula to Convert Text to Dates
If your data has separate columns for date, month and year, you can use DATE formula to convert the data to dates like this:
=DATE(year,month,day)
For eg. =DATE(2009,12,31) will give the date 31st December, 2009.
Bonus Technique: Converting Dates to Text
If you want to convert excel dates to text values (for your report or some other purpose), you can use the TEXT formula like this:
=TEXT(A1,"DD-MMM-YYYY") will convert date in Cell A1 to DD-MMM-YYYY format. You can pass any other date / time formats to TEXT formula as well. [more: tutorials on TEXT() formula]
How do you deal with troublesome dates?
Of course, if it is a real date, we can always bolt. But if it is a date in the data, we need some tools to deal with it. I used to rely on formula based methods to clean the dates. But recently I discovered the import-text date conversion method. This is very powerful and straightforward. Now, I use it whenever possible to clean up my date data.
What about you? How do you deal with buggy / faulty dates in Excel?
Recommended Articles:















11 Responses to “Who is the most consistent seller? [BYOD]”
The Date column in the sample file is Text not Dates
[…] http://chandoo.org/wp/2015/02/18/calculating-consistency-in-excel/?utm_source=feedburner&utm_med… […]
Great Chandoo. Keep it up, Looking forward more from BYOD..
Thanks
With Excel 2013 the pivot table could be connected to the data model which provides a distinct count.
This will do for invoice count
=COUNTIF(F:F,H12)
Instead of
=COUNTIFS(sales[SELLER],$H12)
Excellent document. How did you make the last graphic? Witch app. Thanks for answer.
Can someone tell me what =countif(sales[date],sales[date]) is counting? The value is 19. Its found in the =SUMPRODUCT(IF(sales[SELLER]=H12,1/COUNTIFS(sales[SELLER],H12,sales[date],sales[date]),0))
Hi Chris,
=countif(sales [date],sales[date]) function is counting the unique dates in the table.
Vândalo
Excellent document!
Can you explain more about the calculation on Weighted consistency? More specific the small number is 0,00001 ?
How come the number should be smaller if there is more sellers?
Hi,
Not understood this formula: {=SUMPRODUCT(IF(sales[SELLER]=H12,1/COUNTIFS(sales[SELLER],H12,sales[date],sales[date]),0))}
Please explain.
Thanks.