Преобразование даты Excel из yyyymmdd в mm/dd/yyyy

Я искал около часа о том, как это сделать в Excel.

У меня есть файл Excel, который был создан из старой системы, и я извлекаю информацию из базы данных SQL Server, я буду вводить информацию обратно в базу данных SQL Server и хотел бы, чтобы даты соответствовали.

Я попытался создать пользовательский формат, но я не уверен, правильно ли я это сделал. Я нашел несколько мест, где они хотят идти другим путем mm/dd/yyyy до yyyymmdd, но они не были полезны.

Я не знаком с использованием VBA в любых продуктах Microsoft, иначе я уверен, что это будет простая задача.

У меня есть два отдельных столбца, которые нужно изменить.

Как отформатировать весь столбец от (float) yyyymmdd до (Date) мм/дд/гггг

Ответ 1

Вы можете преобразовать значение в дату, используя следующую формулу рядом с ячейкой:

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

Где A1 - это поле, которое нужно преобразовать.

В качестве альтернативы вы можете использовать этот код в 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

Просто выделите любые ячейки, которые вы хотите установить, и запустите код.

Ответ 2

У вас есть ROWS данных (по горизонтали), как вы заявили, или COLUMNS (по вертикали)?

Если это последний, вы можете использовать функциональность "Текст для столбцов" для преобразования целого столбца "in situ" - для этого:

Выберите столбец > Данные > Текст в столбцы > Далее > Далее > Выберите "Дата" в разделе "Формат данных столбца" и "YMD" из раскрывающегося спискa > Готово

.... иначе вы можете преобразовать формулу с помощью

=TEXT(A1,"0000-00-00")+0

и формат в формате необходимой даты

Ответ 3

Вот голой вариант:

Скажем, что у вас есть дата в ячейке A1 в том формате, который вы описали. Например: 19760210.

Затем эта формула даст вам нужную дату:

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)).

В моей системе (Excel 2010) она работает со строками или поплавками.

Ответ 4

для преобразования dd/mm/yyyy в mm/dd/yyyy

=DATE(RIGHT(a1,4),MID(a1,4,2),LEFT(a1,2))