У меня есть столбец, который отформатирован как текст 20110408_2041
. Как я могу отформатировать его в формат даты / времени?
У меня есть столбец, который отформатирован как текст 20110408_2041
. Как я могу отформатировать его в формат даты / времени?
Ответы:
Предполагая, что ваша строка имеет код 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, похоже, есть те же функции.
Предполагая, что весь формат равен 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 для сбора часов и минут.
Затем вы можете отформатировать ячейку в формате даты, времени или в произвольном формате, например, дд / мм / гггг чч: мм, чтобы увидеть конечный результат. Просто щелкните правой кнопкой мыши ячейку, выберите « Формат ячеек», затем настройте, как показано на скриншоте ниже:
Вот скриншот конечного результата:
У меня была та же проблема, и я сделал только одну простую вещь:
=R1*1
в S1, с форматом, выбранным как Время, и это сработало. Никакого сложного кода или чего-либо еще не требовалось.
Вы можете сделать это, написав небольшой скрипт (например, с C #), который считывает строки из столбца, преобразует их в формат даты и времени и затем сохраняет их обратно в столбец Excel.
Извините, я не знаю, можете ли вы сделать это прямо из Excel.