17

У меня есть столбец, который отформатирован как 20110408_2041 . Как я могу отформатировать его в формат даты / времени?

4 ответа4

19

Предполагая, что ваша строка имеет код YYYMMDD_HHMM для года, месяца, дня, часа, минуты, вы можете создать формулу Excel для генерации ячейки в формате даты / времени.

Если строка находится в ячейке A1, то эта формула должна сделать это:

=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2))+TIME(MID(A1,10,2),RIGHT(A1,2),0)

Вам нужно будет правильно отформатировать ячейку, чтобы увидеть часть времени. Это проверено в LibreOffice calc, но в Excel, похоже, есть те же функции.

9

Предполагая, что весь формат YYYYMMDD_HHMM и что первое такое значение находится в ячейке A1, вы можете использовать следующую формулу в B1:

=DATEVALUE(MID(A1,7,2) & "/" & MID(A1,5,2) & "/" & MID(A1,1,4)) + TIMEVALUE(MID(A1,10,2) & ":" & MID(A1,12,2))

Это создает серийный номер даты на основе ДД / ММ / ГГГГ с использованием функции MID для сбора каждой части и функции DATEVALUE для возврата серийного номера. Затем к этому добавляется серийный номер времени, который аналогичным образом использует функцию MID для сбора часов и минут.

Затем вы можете отформатировать ячейку в формате даты, времени или в произвольном формате, например, дд / мм / гггг чч: мм, чтобы увидеть конечный результат. Просто щелкните правой кнопкой мыши ячейку, выберите « Формат ячеек», а затем настройте, как показано на скриншоте ниже:

Диалог форматирования ячеек

Вот скриншот конечного результата:

пример

1

У меня была та же проблема, и я сделал только одну простую вещь: =R1*1 в S1, с форматом, выбранным как Время, и это сработало. Никакого сложного кода или чего-либо еще не требовалось.

-4

Вы можете сделать это, написав небольшой скрипт (например, с C #), который считывает строки из столбца, преобразует их в формат даты и времени и затем сохраняет их обратно в столбец Excel.

Извините, я не знаю, можете ли вы сделать это прямо из Excel.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .