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

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

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

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

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

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

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

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. Text to Columns-открывает новое окно
  4. (выберите разделители), далее
  5. (снимите все флажки, используйте" нет " для квалификатора текста), далее
  6. используйте опцию ymd из раскрывающегося списка дата.
  7. Нажмите Кнопку Готово