If the format is *m/dd/yyyy but the cells look the way you show, they are text values, not dates.
To convert them:
- Select the dates (or the entire column).
- On the Data tab of the ribbon, click Text to Columns.
- Select Delimited, then click Next > twice.
- In step 3, select Date, then select DMY from the drop down list next to Date.
- Click Finish.
- Apply date format dd/mm/yyyy to the column.
If the format is *m/dd/yyyy but the cells look the way you show, they are text values, not dates.
To convert them:
- Select the dates (or the entire column).
- On the Data tab of the ribbon, click Text to Columns.
- Select Delimited, then click Next > twice.
- In step 3, select Date, then select DMY from the drop down list next to Date.
- Click Finish.
- Apply date format dd/mm/yyyy to the column.
You are absolutely brilliant. Your solution solved my entire problem. Thank you!
excel - change date format m/d/yyyy to dd/mm/yyyy using formula - Stack Overflow
Excel Date Conversion from yyyymmdd to mm/dd/yyyy - Stack Overflow
How do I convert to a date "MM/DD/YYYY"
How to change date format in excel from DD/MM/YYYY to YYYY-MM-DD?
Videos
When I try to format cells to show the MM/DD/YYYY format I right click on the cell selection, click Format Cells and select Date but the the list only shows D/D/YYYY. There's nothing there to let me display the 0 in front of months and dates that only have one digit.
I've been trying to figure this out for a while and every Google search tells me to do what I've done and select MM/DD/YYYY but like I said the only format I can choose is the M/D/YYYY format.
- Suppose in cell
A2you have written a date like,13.12.2017and it's format is Text.
So to convert into dd/mm/yyyy, you can use the following.
=TEXT(DATEVALUE(RIGHT(A2,4)&"/"&MID(A2,4,2)&"/"&(LEFT(A2,2))),"dd/mm/yyyy")
You get 13/12/2017.
- If
A2has13.12.20, then you should have to use this formula.
=LEFT(A2,2)&"/"&MID(A2,4,2)&"/"&RIGHT(A2,2)
You get 13/12/20.
Use find and replace
Ctrl+F
select the replace tab
In the find what tab put . In the Replace with put /
click Options>
Change the format on the find what to whatever the cells you are referencing are formatted as.
That should change the date cells to the excel date format, then you can change the format of those cells to dd/mm/yy format
Try following formula
=DATE(RIGHT(A1,4),LEFT(A1,SEARCH("/",A1)-1),TRIM(MID(LEFT(A1,SEARCH("/",A1,SEARCH("/",A1)+1)-1),SEARCH("/",A1)+1,2)))

You can get the result you want with just one formula:
=DATE(VALUE(RIGHT(A2;4));VALUE(MID(A2;1;FIND("/";A2;1)-1));VALUE(MID(A2;FIND("/";A2;1)+1;FIND("/";A2;FIND("/";A2;1)+1)-FIND("/";A2;1)-1)))
I understand very well your situation. I'm from Portugal and here we have the same date format as you (dd/mm/yyyy). Pay attention to your pasted values as a "date". For instance, if you place 3/31/2019 Excel won't recognize it as a date and paste it as text (that's why you don't need your date-text column). However, if you paste 1/12/2019 Excel will write automatically 01/12/2019 when the true date is 12/01/2019 and the formula will not work.
You can convert the value to a date using a formula like this, next to the cell:
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
Where A1 is the field you need to convert.
Alternatively, you could use this code in VBA:
Sub ConvertYYYYMMDDToDate()
Dim c As Range
For Each c In Selection.Cells
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
'Following line added only to enforce the format.
c.NumberFormat = "mm/dd/yyyy"
Next
End Sub
Just highlight any cells you want fixed and run the code.
Note as RJohnson mentioned in the comments, this code will error if one of your selected cells is empty. You can add a condition on c.value to skip the update if it is blank.
Do you have ROWS of data (horizontal) as you stated or COLUMNS (vertical)?
If it's the latter you can use "Text to columns" functionality to convert a whole column "in situ" - to do that:
Select column > Data > Text to columns > Next > Next > Choose "Date" under "column data format" and "YMD" from dropdown > Finish
....otherwise you can convert with a formula by using
=TEXT(A1,"0000-00-00")+0
and format in required date format
Hello,
I received this file and all of al DOB's came through like this (pictured below). Its YYYYMMDD. How do I concert this to read "MM/DD/YYYY"? Thanks in advance!
In international environments, keep things simple. Just stick with the defaults and don't try to re-invent the wheel.
Use one of the first two date formats from the list. They have an asterisk, which is an indicator that this format will be adjusted to align with the locale to show correct in the language and region that is used when the workbook is opened.

Then set data validation to accept only dates and set the range between 1/1/1900 and 31/12/3000. That should cover your data validation in any region and locale.
Then leave it up to Excel and Windows to sort out the local date format and the way to enter a date correctly.
Edit: to remove all possible problems with locale, set the data validation date range to dates where day and month are interchangeable, like from 1/1/2000 to 1/1/2099. That should take care of all locales.
This is very Simple. Just select the column wherein you want DD/MM/YYYY format. Select date format you want. Then Select the same column, Go to data validation format, select Date, enter date 01/01/1900 to 31/12/9999. Then Go to Input message tab put the message as date format as title and message as DD/MM/YYYY. then tab error message Wrong Dt format title and put the message Hope this will clear your issue Thanks, Rgds Prashant M
Formula in B2 is
=DATEVALUE(TEXTJOIN("-",TRUE,CHOOSECOLS(TEXTSPLIT(A1,"/"),3,1,2)))

Working from the inside out:
TEXTSPLIT to split the string into month, day, year
CHOOSECOLS to reorder the strings into year, month, day
TEXTJOIN to join those strings with a - that will be recognized by the DATEVALUE formula
DATEVALUE to turn the strings into a date, and it won't matter whether they are single or double digits for month and date.
=DATE(
INDEX(FILTERXML("<t><s>" & SUBSTITUTE(A1, "/", "</s><s>") & "</s></t>", "//s"), 3),
INDEX(FILTERXML("<t><s>" & SUBSTITUTE(A1, "/", "</s><s>") & "</s></t>", "//s"), 1),
INDEX(FILTERXML("<t><s>" & SUBSTITUTE(A1, "/", "</s><s>") & "</s></t>", "//s"), 2)
)
Will convert text strings in an MDY type format with a / separator into a proper date. You can then format it as you wish.
If you might have other delimiters, nest SUBSTITUTE functions to take cared of that.
For example, if you might have either a / or a ., you would modify the formula to:
=DATE(
INDEX(
FILTERXML(
"<t><s>" & SUBSTITUTE(SUBSTITUTE(A1, ".", "/"), "/", "</s><s>") & "</s></t>",
"//s"
),
3
),
INDEX(
FILTERXML(
"<t><s>" & SUBSTITUTE(SUBSTITUTE(A1, ".", "/"), "/", "</s><s>") & "</s></t>",
"//s"
),
1
),
INDEX(
FILTERXML(
"<t><s>" & SUBSTITUTE(SUBSTITUTE(A1, ".", "/"), "/", "</s><s>") & "</s></t>",
"//s"
),
2
)
)
Algorithm:
- Create an XML from the date, replacing the delimiter with the node identifier
- Since we know there will only be three segments, and they are in the order MDY, we can feed those results into the
DATEfunction to create our "real date" - You can then format the date however you wish

I've been looking for answers in google but all lead me to just change the format. Basically, it's effective on the surface level but it poses alot of risk in the long run.
example below, I jotted "3/1" and this is what it gives me when I intend it to be March 1. correct format but intrinsic date is incorrect.
To convert to a "real" date:
=--SUBSTITUTE("20"&A1,".","/")
Then format as you want:
dd/mm/yyyy hh:mm:ss
Notes:
If some of your dates are prior to 2000, you can incorporate an "if" statement to decide whether to prepend a 20 or 19, depending on the value of the first two digits.
If your system does not recognize
/as the date separator, replace that in theSUBSTITUTEwith the appropriate separator.I think most non-US as well as US versions of Excel will interpret the date in a format of
yyyy/mm/ddas such, but, if yours is non-US, check that possibly ambiguous dates are properly interpreted: eg 2016/03/02If the above doesn't work, it may be that there are
NBSPcharacters. So try this more complex formula:
=--TRIM(SUBSTITUTE(SUBSTITUTE("20"&A1,".","/"),CHAR(160)," "))
If you have "16.12.07 10:17:51" in cell A1, in cell B1, use "=left(a1,2)", in cell C1 use "=mid(a1,4,2)", in D1 "=mid(a1,7,2)". Rinse & repeat for the time components. In cell A2, use "=Date(b1+100,c1,d1) + Time(e1,f1,g1)" Then format cell A2 to look like you want it to with the custom format "dd/mm/yyyy hh:mm:ss" and it will be as you need it in the most pain-free/full (*) way possible.
(*) - delete as appropriate