У мене стовпець, який на зразок форматованого тексту 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)
Вам потрібно буде правильно відформатувати комірок, щоб побачити проміжок часу. Це тестується в calbre LibreOffice, але, схоже, 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))
Це створює серійний номер дати на основі DD / MM / YYYY, використовуючи функцію MID для збору кожної частини, і функцію DATEVALUE для повернення серійного номера. Потім він додає до цього серійний номер часу, який використовує функцію MID аналогічним чином, щоб збирати години та хвилини.
Потім ви можете відформатувати комірок у форматі дати, формату часу або в користувацькому форматі, наприклад, dd / mm / yyyy hh: mm, щоб побачити кінцевий результат. Просто клацніть правою клавішею клітинки, виберіть " Формат ячеек", а потім налаштуйте схожий на знімок екрана:
Ось скріншот кінцевого результату:
У мене була така ж проблема, і я зробив лише одну просту річ:
=R1*1
у S1, з форматом, обраним як Time, і він працював. Ніякого складного коду чи чогось іншого не потрібно було.
Це можна зробити, написавши невеликий сценарій (наприклад, з C #), який читає рядки з стовпця, перетворює їх у формат часу дати та потім зберігає їх у стовпці Excel.
Вибачте, я не знаю, чи можна це зробити безпосередньо з Excel.