Converting US dates to UK format in Excel

Posted: August 5, 2014 in Microsoft Office, Solved

This has bugged me for YEARS.

Take a column full of US dates in Excel that have been formatted as text and convert them to a “proper” format that can actually be used to sort by… i.e. the date format used by the rest of the world.

While annoying, this is relatively easy if all your dates are in fixed width mm/dd/yy (e.g. 03/12/14) or mm/dd/yyyy format, you can just use simple mid/left/right formulas to extract them knowing exactly where each will be.

If on the other hand the dates are in m/d/yy (e.g. 3/5/14 or 25/11/14) or m/d/yyyy format then it gets a bit messier as you now need to start finding and splitting the text at the slashes.

Today I found a really simple way to do it.

Without using overly complex formulas (or any at all), without needing to export and import or anything else.

Example to convert dates currently in US m/d/y format to UK d/m/y:

  1. Select the column of dates
  2. Under DATA, select “Text to Columns”
  3. Select Delimited – Next
  4. Untick ALL delimiters – Next
  5. Select column format “Date: MDY” – Finish
    1. Note this data format should be what the dates are currently in, not what you want them to be
  6. The text will now be recognised by Excel as a date and appear as right-justified in the column
  7. Right-click the still highlighted column (or select it again) and open Format Cells and change date format to the style you require

Simple

Advertisements
Comments
  1. Peak Demand says:

    Great tip – thanks.

  2. Prasanjit says:

    wow..never knew this function of text to column

  3. Nilesh Shah says:

    thank you so much.. I was really struggling with American dates. Now this is helpful even segregating time from data comes from the system.

  4. Ioana says:

    This is awesome! Extremely helpful!!!! THANK YOU!

  5. CT says:

    Thank you so much. It works. This is the most helpful tip regarding this issue.

  6. If only Microsoft made simple single button click conversions for date, timezones, weights, measurements. This is a big time saver.

  7. Drakuun says:

    What if there is a time notation behind the bad date? Everything is messed up on some sheets…

    • Scott says:

      You would need to split the date and time into separate columns, either using a “text to columns” or doing a formula using something like LEFT(A1,8) or whatever to pull the date text out.
      Then you can work the date magic on the date, and recombine the new date and the original time columns if you need it in that format.

      • Ralse says:

        I tried that but unsuccessful. The person that sent me the sheet had already saved it once. This caused that bad dates to partially be recognised as ‘ok’ but switching month and day. The ones that were still bad I could do ‘left’ on but of course not in bulk anymore due to the mix. I then tried to filter them first and apply the conversion on the ones that were recognised before but it failed to do so correctly.

        • Scott says:

          Depending on the state of the data now, you may find doing a convert to text using something like TEXT(A1,”mm/dd/yy”) and then doing text manipulation on it.
          However, if some cells have already been correctly “formatted” you may have a problem with knowing if the current value (eg. 6/9/17) should be “9th June” or “6th September”
          Depending on how critical the dates are to this data set, my best suggestion would be to ask for a new copy of the original data.

        • Ralse says:

          I just told him to take the report again but before opening to change his region settings 🙂

        • Scott says:

          If that fixes it, however even then some reports may only present the data in a “static” format that may still be US based. Either way, as long as you know what that format is then you can manipulate it in a consistent manner to what you need it to be.
          Best of luck

  8. Patrick says:

    The above works brilliantly – however my US date/time formats needed cleaning up before the above worked, due to months having sometimes 1 digit and sometimes 2 digits!!

    Look at the 2 US Date/Time formats below, first has month of 1 digit (Sept), second has 2-digits (Oct)
    9/20/2012 4:00:00 AM +00:00
    10/12/2012 4:00:00 AM +00:00

    Here’s how I cleaned it up:
    1. If Column A has the US date, first extract to ColB the date only with no space characters using =LEFT(A2,FIND(” “,A2,1)-1)
    US Date/Time Cleaned
    9/20/2012 4:00:00 AM +00:00 9/20/2012 (no spaces)
    10/20/2012 4:00:00 AM +00:00 10/20/2012 (no spaces)

    2. I then had to copy/paste the second column to remove the formula before applying the TEXT to column

    US Cleaned Copy/Paste cleaned data (no formula)
    9/20/2012 4:00:00 AM +00:00 9/20/2012 -> 9/20/2012
    10/20/2012 4:00:00 AM +00:00 10/20/2012 -> 10/20/2012

    3. Now perform the above TEXT to Column suggestion on the Copy/Paste column (no formula present) to successfully obtain the UK date

    A B C D
    US Dates/Times Clean first No Formula UK Date
    =LEFT(A2,FIND(” “,A2,1)-1) Pasted col B here Text->Col
    9/20/2012 4:00:00 AM +00:00 9/20/2012 9/20/2012 20/09/2012
    10/20/2012 4:00:00 AM +00:00 10/20/2012 10/20/2012 20/10/2012

    • Scott says:

      Sometimes it can help to do a “dummy run” and set the text to column settings to bascially do nothing, then try the process again. The second time Excel will automatically use the previously used settings rather than trying to be smart and format the bits it can recognise and ignoring the bits it doesn’t, which leaves a bigger mess.

  9. John says:

    awesome tip! Thanks!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s