Страницы: 1
RSS
Вытащить из текста дату
 
Здравствуйте. Как с такого текста можно вытащить дату?
Mon Mar 12 15:16:32 +0000 2018
Сильно не ругайте, я нуб...
 
Neimar, здравствуйте. Вам нужно получить дату как дату или дату как текст?
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
В идеале как дату, но можно и как текст в такой конструкции Mar 12, 2018
Сильно не ругайте, я нуб...
 
=ПСТР(A1;5;7)&ПРАВБ(A1;4)
Датой:
=--(ПСТР(A1;9;2)&"/"&ПОИСК(ПСТР(A1;5;3);"11janfebmaraprmayjunjulaugsepoctnovdec")/3&"/"&ПРАВБ(A1;4))
 
Ничего лучше не придумал:
=--(ПСТР(A1;9;2)&"."&ВПР(ПСТР(A1;5;3);{"Jan";1:"Feb";2:"Mar";3:"Apr";4:"May";5:"June";6:"July";7:"Aug";8:"Sept";9:"Oct";10:"Nov";11:"Dec";12};2;0)&"."&ПРАВСИМВ(A1;4))
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
vikttur, здравствуйте. Объясните пожалуйста зачем 11 в этом фрагменте 11janfebmaraprmayjunnulaugsepoctnovdec? Дошло.
И вот эта запись junnul двух летних месяцев тоже не понятна. Почему так? Или это опечатка?
Изменено: Bema - 13.03.2018 20:51:41
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Спасибо. Выручили)
Сильно не ругайте, я нуб...
 
Цитата
Bema написал: запись junnul двух летних месяцев
опечатка. Исправил
 
Почти как у Виктора
=--(ПСТР(A1;9;2)&-ПОИСК(ПСТР(A1;6;2);" anebarprayunulugepctovec")/2&-ПРАВБ(A1;4))
Алексей М.
 

для коллекции, массивная. Полезна в случае иного языка, тогда только [$-en] меняем на нужное

=--(MID(A1;9;2)&-MATCH(MID(A1;5;3);TEXT(DATE(0;ROW($A$1:$A$12);1);"[$-en]МММ");0)&-RIGHT(A1;4))

Изменено: БМВ - 13.03.2018 22:36:07
По вопросам из тем форума, личку не читаю.
 
БМВ, А разве в функции ДАТА() месяц может быть нулем?
Теперь понятно.
Фрагмент
TEXT(DATE(0;ROW($A$1:$A$12);1);"[$-en]МММ")
можно сократить так
TEXT(28*ROW($A$1:$A$12);"[$-en]МММ")
Изменено: АlехМ - 13.03.2018 22:38:43
Алексей М.
 
АlехМ, 1900 год получим так сказать начало цифровых времен :-(, только 0 там год.  но замечание привлекло внимание к тому, что -1 был лишним, исправил выше. Я от EOMONTH отталкивался, а потом упростил до даты
пока писал - не массивная
=--(MID(A1;9;2)&-LOOKUP(2;1/(MID(A1;5;3)=TEXT(DATE(0;ROW($A$1:$A$12);1);"[$-en]МММ"));ROW($A$1:$A$12))&-RIGHT(A1;4))

АlехМ,  я всегда ценю Ваш нестандартный подход и всегда с удовольствием разбираю замысел. Спасибо.
С учетом этого
=--(MID(A1;9;2)&-LOOKUP(2;1/(MID(A1;5;3)=TEXT(28*ROW($A$1:$A$12);"[$-en]МММ"));ROW($A$1:$A$12))&-RIGHT(A1;4))
Изменено: БМВ - 13.03.2018 22:52:27
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх