Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Преобразовать "1 октября 2018г." в дату
 
Уважаемые форумчане! Подскажите, пожалуйста,как  дату в виде "1 октября  2018 г." преобразовать в дату "01.10.2018".  Простая смена формата ничего не дает.
Зато из "01.10.2018" можно получить "1 октября  2018 г.". пример в файле.
 
Дата
Изменено: Alexanderr - 11 Янв 2019 13:11:19
 
=--TRIM(LEFT(A2;2) & MID(TRIM(A2);FIND(" ";TRIM(A2));4)&MID(A2;FIND("  ";A2);6))
Изменено: БМВ - 11 Янв 2019 13:54:57 (для мая не подошло)
 
в Power Query
 
БМВ, для мая не сработает. Нужен май.
 
Михаил С., точно. забыл про этот короткий месяц труда и мира.

=--TRIM(LEFT(A2;2) & SUBSTITUTE(MID(TRIM(A2);FIND(" ";TRIM(A2));4);"ая";"ай")&MID(A2;FIND("  ";A2);6))

и варианты:
=--TRIM(LEFT(A2;2)&"/"&FIND(MID(TRIM(A2);FIND(" ";TRIM(A2))+2;2);" нвеварпраяюнюлвгенктояек")/2&"/"&MID(A2;FIND("  ";A2);6))
массивно
=INDEX(ROW($A$1:$A$366)+("1/1/"&MID(A2;FIND("  ";A2);6))-1;MATCH(TRIM(A2);TEXT(ROW($A$1:$A$366)+("1/1/"&MID(A2;FIND("  ";A2);6))-1;"[$-F800]ДДДД, ММММ ДД, ГГГГ");))

=SUM(IFERROR(--SUBSTITUTE(SUBSTITUTE(TRIM(LOWER(A2));TEXT({1;2;3;4;5;6;7;8;9;10;11;12}*28;"[$-FC19] ММММ ");"/"&{1;2;3;4;5;6;7;8;9;10;11;12}&"/");" г.";"");0))
Изменено: БМВ - 11 Янв 2019 15:14:11
 
Спасибо за ответ!  
 
Цитата
БМВ написал:
=--TRIM(LEFT(A2;2)&"/"&FIND(MID(TRIM(A2);FIND(" ";TRIM(A2))+2;2);" нвеварпраяюнюлвгенктояек")/2&"/"&MID(A2;FIND("  ";A2);6))
а заменить "я" на "й" вот в этом куске FIND(MID(TRIM(A2);FIND(" ";TRIM(A2))+2;2);" нвеварпраяюнюлвгенктояек")/2 не проще было?
 
Михаил С., пока мысль не поймал.
 
примено так
=--СЖПРОБЕЛЫ(ЛЕВСИМВ(A2;2) & ПСТР(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;"я";"й"));НАЙТИ(" ";СЖПРОБЕЛЫ(A2));4)&ПСТР(A2;НАЙТИ("  ";A2);6))
зы.
нет, тогда январь не работает :(
Изменено: Михаил С. - 11 Янв 2019 14:48:24
 
=--TRIM(LEFT(A2;2) & SUBSTITUTE(MID(TRIM(A2);FIND(" ";TRIM(A2));4);"ая";"ай")&MID(A2;FIND("  ";A2);6))
 
Ну да, чет я ступил.
 
Здравствуйте, коллеги! С такими (и многими другими) датами отлично справляется функция VBA CDATE (причем для нее падеж месяца не важен), только надо предварительно убрать "г."
Владимир
 
sokol92, Владимир, вот только не надо тяжёлую артиллерию подключать :-)
 
sokol92, учтем на всякий случай :)
 
???
Код
=ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВСИМВ(A2;НАЙТИ(" ";A2;2)+3)&" "&ПРАВСИМВ(A2;7);" г.";"");"я";"й"))
 
Михаил Лебедев,
На яваре споткнется и боле универсально, на случай если г. нет , удалить его сразу
=DATEVALUE(SUBSTITUTE(LEFT(A12;FIND(" ";A12;2)+3) &" "& RIGHT(SUBSTITUTE(A12;" г.";"");4);"ая";"ай"))
Изменено: БМВ - 11 Янв 2019 19:01:44
 
вариант функции в столбце E
Код
Function aa(t) As Date
t = Replace(t, "г.", "")
 aa = DateValue(t)
End Function
Изменено: кузя1972 - 13 Янв 2019 22:48:04
Страницы: 1
Читают тему (гостей: 1)
Наверх