Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Преобразовать в дату текст вида Sep 8, 2018 1:47:27 PM
 
Всем привет. Помогите, пожалуйста, преобразовать столбик с датой и временем (PM/AM) в нужный формат. Желательно, что бы решение было одной формулой. Сделал пошагово несколькими формулами, но это не удобно и занимает много времени. Пример в таблице и в файле ниже. Заранее спасибо.
Исходные данные                   Такой результат нужно получить
Sep 21, 2018 2:39:49 PM 21.09.2018 14:39:49
Sep 8, 2018 1:47:27 PM
Sep 25, 2018 2:54:37 PM
Sep 1, 2018 4:45:34 PM
Sep 24, 2018 4:07:01 PM

Формат ячеек не работает. Пробовал.
У меня excel 2010 года, тоже русский.
Изменено: grudik - 11 Окт 2018 15:36:38
 
=ДАТА(ПСТР($A2;ПОИСК(",";$A2)+2;4);(ПОИСК(ЛЕВБ($A2;3);"JanFebMarAprMayJunJulAugSepOctNovDec")-1)/3+1;ПРАВБ(ЛЕВБ($A2;ПОИСК(",";$A2)-1);2))+СЖПРОБЕЛЫ(ПСТР($A2;ПОИСК(":";$A2)-2;8))+ЕСЛИ(И(ПРАВБ($A2;2)="PM";--СЖПРОБЕЛЫ(ПСТР($A2;ПОИСК(":";$A2)-2;2))<12);0,5;0)
Формат:
ДД.ММ.ГГГГ ч:мм:сс;@
Изменено: JayBhagavan - 11 Окт 2018 15:28:40

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Вариант.
1. Нужно будет добавить код для регулярок тут скачать
2. Через КОНТР+Н удалить "РМ"
 
Формат ячейки ничем не поможет, так как нет дат - только тексты.
=--ПОДСТАВИТЬ(ПСТР(A2;5;8);", ";"."&ПОИСК(ЛЕВБ(A2;3);"ssjanfebmaraprmayjunjulaugsepoctnovdec")/3&".")
А вот  теперь установить нужный формат ячейки
 
Решение
Изменено: skais675 - 11 Окт 2018 15:44:33
 
4 ответа - 4 подхода:)
 
=TEXT(--REPLACE(SUBSTITUTE(A20;", ";"/"&(FIND(LEFT(A20;3);"JanFebMarAprMayJunJulAugSepOctNovDec")-1)/3+1&"/");1;4;"");"ДД.ММ.ГГГГ ч:мм:сс;@")

ну или =--REPLACE(SUBSTITUTE(A20;", ";"/"&(FIND(LEFT(A20;3);"JanFebMarAprMayJunJulAugSepOctNovDec")-1)/3+1&"/");1;4;"") и формат  ДД.ММ.ГГГГ ч:мм:сс;@
Изменено: БМВ - 11 Окт 2018 15:52:35
 
Всем большое СПАСИБО !!! Очень вам благодарен. Получилось.
Способ 1 от JayBhagavan мне отлично подошел.
Всем хорошего дня и еще раз спасибо за помощь.
 
Формула из сообщения №4 или №7 не подошла?

Можно еще ужать, если все даты текущего года
=--(ЦЕЛОЕ(ПСТР(A2;5;2))&"."&ПОИСК(ЛЕВБ(A2;3);"ssjanfebmaraprmajjunjulaugsepoktnjvdes")/3)
 
Проверил.
Формулы из сообщений №4 и №7 тоже подходят.
Спасибо
 
vikttur, Все б ужать да ужать :-) njvdes :-)
ПОИСК(ЛЕВБ(A2;3);"ssjanfebmaraprmajjunjulaugsepoktnovdec")/3  можно на
FIND(MID(A2;2;2);"0anebarprayunulugepctovec")/2

=--MID(SUBSTITUTE(A3;", ";"/"&FIND(MID(A3;2;2);"0anebarprayunulugepctovec")/2&"/");5;99)
Изменено: БМВ - 11 Окт 2018 16:12:57
 
Во, тоже вариант. А я не догадался )
 
#11 - открытие(?), многие предыдущие рекорды придется пересмотреть :) И для русских кратких наименований месяцев этот трюк проходит!
Изменено: sokol92 - 11 Окт 2018 16:42:12
Владимир
 
Я никогда в жизни не смогу написать такие формулы!!!  :D  :D  :D
Неужели никак нельзя что-то изменить в настройках Excel и просто перейти к нужному формату Дат?!
 
Мотя,
Цитата
Мотя написал:
что-то изменить в настройках Excel и просто перейти к нужному формату Дат?!
И нафига мне тогда будет нужна самокрутка? :-)
Но если честно, то 0anebarprayunulugepctovec в формуле выглядит как приступ щизофрении, по тому я б оставил или три сиvвола или ваще через MATCH и массив
=--MID(SUBSTITUTE(A3;", ";"/"&MATCH(LEFT(A3;3);TEXT({1;2;3;4;5;6;7;8;9;10;11;12}*28;"[$-409]МММ");)&"/");5;99)
Изменено: БМВ - 11 Окт 2018 17:23:30
Страницы: 1
Читают тему (гостей: 1)
Наверх