rss
  •  

Преобразование текстовых данных в дату

| Категория: Приемы и советы, Формулы и функции |

5

Числовые данные, получаемые в результате выгрузки из других программ, могут быть получены в любом виде. Например, выгрузка даты и времени произошла с текстовом формате, т.к. между датой и временем вместо пробела используется двоеточие. Необходимо исходные данные преобразовать в дату.

ptd1.png

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

  • ЛЕВСИМВ(Текст;Количество_знаков) – выдает указанное количество символов с начала строки текста.
    LEFT(Text; Num_chars)
  • ПСТР(Текст;Начальная_позиция;Количество_знаков) – возвращает заданное число символов из строки текста, начиная с указанной позиции.
    MID(Text;Start_num;Num_chars)
  • ПРАВСИМВ(Текст;Количество_знаков) – выдает указанное количество символов с конца строки текста.
    RIGHT(Text;Num_chars)

ptd2.png

Полученные данные будут являться текстовыми значениями, преобразуем их в числовые:

  • ЗНАЧЕН(Текст) – преобразует текстовый аргумент в число.
    VALUE(Text)

По числовым данным определяем Дату и Время:

  • ДАТА(Год;Месяц;День) – получение даты по исходным данным, таким как день, месяц и год.
    DATE(Year;Month;Day)
  • ВРЕМЯ(Часы;Минуты;Секунды) – получение времени по таким исходным данным, как часы, минуты и секунды.
    TIME(Hour;Minute;Second)

ptd3.png

Чтобы получить ответ в формате даты и времени, необходимо к дате прибавить время:

ptd4.png

Полученный результат следует отформатировать, создав пользовательский формат, показывающий дату и время со всеми составляющими ДД.ММ.ГГГГ чч:мм:сс:

ptd5.png

Если совместить результаты промежуточных вычислений в одну формулу, то получится одна симпатичная формула:

=ДАТА(ЗНАЧЕН(ПСТР(B3;7;4));ЗНАЧЕН(ПСТР(B3;4;2));ЗНАЧЕН(ЛЕВСИМВ(B3;2)))+
+ВРЕМЯ(ЗНАЧЕН(ПСТР(B3;12;2));ЗНАЧЕН(ПСТР(B3;15;2));ЗНАЧЕН(ПРАВСИМВ(B3;2)))




Оставьте комментарий!

На сообщение “Преобразование текстовых данных в дату” комментариев 5

  1. Marina:

    теперь понятно почему Формат не подходит

  2. Егор:

    Я всегда пренебрежительно относился к функциям для работы с датой и текстовым. Оказывается зря.

  3. Олег:

    Исходные данные заданы у меня немного по-другому: 27.03.2015 15:26:34 (между датой и временем 2 пробела), формат исходной ячейки как указано на рис. Требуется занести в другую ячейку время (формат время). Не получается. Причем не всегда, примерно в 2-3 случаях всё правильно, в остальных ячейки заполнены знаками #. Exel 2010.

  4. Ольга Кулешова:

    Олег, прошу проверить — это текстовый тип данный? Если так и между датой и временем 2 пробела, тогда для получения времени нужно немного скорректировать формулу.
    =ВРЕМЯ(ЗНАЧЕН(ПСТР(Ячейка;13;2));ЗНАЧЕН(ПСТР(Ячейка;16;2));ЗНАЧЕН(ПРАВСИМВ(Ячейка;2)))

  5. Ирина_Вик:

    как же докучают тексты, даты, числа.
    Спасибо за статью