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


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

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

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

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

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

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

5 53

5 ответов:

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

=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

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

есть ли у вас строки данных (горизонтальные), как вы заявили, или столбцы (вертикальные)?

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

выберите столбец > данные > текст в столбцы > Далее > Далее > выберите " дата "в разделе" формат данных столбца "и" YMD " из выпадающего списка > готово

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

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

и формат в обязательном порядке формат даты

вот версия голых костей:

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

тогда эта формула даст вам дату, которую вы хотите:

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

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

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

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

нашел другой (ручной) ответ который хорошо работал для меня

  1. выберите столбец.
  2. выбрать вкладку "Данные"
  3. текст в Столбцы-открывает новое поле
  4. (выберите разделитель), далее
  5. (снимите все флажки, используйте" нет " для текстового квалификатора), далее
  6. используйте параметр ymd из раскрывающегося списка дата.
  7. Нажмите Кнопку Готово