Преобразование текстовых данных в дату
Категория: Приемы и советы, Формулы и функции | Опубликовано 16-09-2013
|5
Числовые данные, получаемые в результате выгрузки из других программ, могут быть получены в любом виде. Например, выгрузка даты и времени произошла с текстовом формате, т.к. между датой и временем вместо пробела используется двоеточие. Необходимо исходные данные преобразовать в дату.
Для решения этой задачи требуется выделить из исходных данных составляющие даты: день, месяц, год, а также составляющие времени: часы, минуты, секунду.
Воспользуемся текстовыми функциями:
- ЛЕВСИМВ(Текст;Количество_знаков) – выдает указанное количество символов с начала строки текста.
LEFT(Text; Num_chars) - ПСТР(Текст;Начальная_позиция;Количество_знаков) – возвращает заданное число символов из строки текста, начиная с указанной позиции.
MID(Text;Start_num;Num_chars) - ПРАВСИМВ(Текст;Количество_знаков) – выдает указанное количество символов с конца строки текста.
RIGHT(Text;Num_chars)
Полученные данные будут являться текстовыми значениями, преобразуем их в числовые:
- ЗНАЧЕН(Текст) – преобразует текстовый аргумент в число.
VALUE(Text)
По числовым данным определяем Дату и Время:
- ДАТА(Год;Месяц;День) – получение даты по исходным данным, таким как день, месяц и год.
DATE(Year;Month;Day) - ВРЕМЯ(Часы;Минуты;Секунды) – получение времени по таким исходным данным, как часы, минуты и секунды.
TIME(Hour;Minute;Second)
Чтобы получить ответ в формате даты и времени, необходимо к дате прибавить время:
Полученный результат следует отформатировать, создав пользовательский формат, показывающий дату и время со всеми составляющими ДД.ММ.ГГГГ чч:мм:сс:
Если совместить результаты промежуточных вычислений в одну формулу, то получится одна симпатичная формула:
=ДАТА(ЗНАЧЕН(ПСТР(B3;7;4));ЗНАЧЕН(ПСТР(B3;4;2));ЗНАЧЕН(ЛЕВСИМВ(B3;2)))+
+ВРЕМЯ(ЗНАЧЕН(ПСТР(B3;12;2));ЗНАЧЕН(ПСТР(B3;15;2));ЗНАЧЕН(ПРАВСИМВ(B3;2)))
19.05.2014 (13:11)
теперь понятно почему Формат не подходит
13.12.2014 (22:36)
Я всегда пренебрежительно относился к функциям для работы с датой и текстовым. Оказывается зря.
05.04.2015 (14:29)
Исходные данные заданы у меня немного по-другому: 27.03.2015 15:26:34 (между датой и временем 2 пробела), формат исходной ячейки как указано на рис. Требуется занести в другую ячейку время (формат время). Не получается. Причем не всегда, примерно в 2-3 случаях всё правильно, в остальных ячейки заполнены знаками #. Exel 2010.
05.04.2015 (23:58)
Олег, прошу проверить – это текстовый тип данный? Если так и между датой и временем 2 пробела, тогда для получения времени нужно немного скорректировать формулу.
=ВРЕМЯ(ЗНАЧЕН(ПСТР(Ячейка;13;2));ЗНАЧЕН(ПСТР(Ячейка;16;2));ЗНАЧЕН(ПРАВСИМВ(Ячейка;2)))
27.11.2015 (20:19)
как же докучают тексты, даты, числа.
Спасибо за статью