it-roy-ru.com

Преобразование даты в Excel из ггггммдд в мм / дд / гггг

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

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

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

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

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

Как мне отформатировать весь столбец из (float)yyyymmdd в (Date)mm/dd/yyyy

54
Malachi

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

=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

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

Обратите внимание, что RJohnson , упомянутый в комментариях, этот код выдаст ошибку, если одна из выбранных вами ячеек будет пустой. Вы можете добавить условие в c.value, чтобы пропустить обновление, если оно пустое.

71
Daniel

У вас есть ряды данных (по горизонтали), как вы заявили или КОЛОННЫ (по вертикали)?

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

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

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

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

и формат в требуемом формате даты

26
barry houdini

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

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

Вот голая версия:

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

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

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

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

6
Leo

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

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