Страницы: 1
RSS
Извлечение даты из текста
 
Доброе время суток.
В столбе A имеется текст, похожий на дату,  например
в A3 "«18» декабря 2012г.             15.00 час"
в A4 "«09» января 2012 г.         11.10 час"
и так далее такого же формата.
Прошу помощи в составлении формулы, которая бы превращала "«18» декабря 2012г.             15.00 час"
в "ДД.ММ.ГГ". Желательно именно формулу, так как данных много.
 
Цитата
alaex пишет:
Желательно именно формулу, так как данных много.
Когда данных много, то поступают наоборот - пишут макрос  :)
 
В любом случае - много данных, или мало, макрос или формула - без конкретного файла задачу решить невозможно. Ибо
Цитата
alaex пишет:
В столбе A имеется текст, похожий на дату,например
имеет бесконечное множество вариантов.
 
Код
=ДАТАЗНАЧ(ПСТР(B2;6;3)&СЖПРОБЕЛЫ(ПСТР(B2;НАЙТИ("г.";B2)-5;5)))+ПСТР(B2;2;2)-1


В B2 находится исходная дата.
Изменено: Владимир - 05.10.2014 09:58:31
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Как вариант:
=ПОДСТАВИТЬ(ПСТР(A3;2;ДЛСТР(A3)-13);"»";)
 
Код
=--(ПСТР(A3;2;2)&ПОДСТАВИТЬ(ПСТР(A3;5;4);"мая";"май")&ПСТР(A3;ПОИСК(" ";A3;6);5))
 
Спасибо, что откликнулись, меня жутко переклинило, нужен был именно макрос.
На основе функции "=ДАТАЗНАЧ(ПСТР(B2;6;3)&СЖПРОБЕЛЫ(ПСТР(B2;НАЙТИ("г.";B2)-5;5)))+ПСТР(B2;2;2)-" Владимира сделал макрос, работает более менее.
Получилось:
Sub gg2()
Dim Lastrow&
Range("j1").Formula = "=DATEVALUE(MID(A1,6,3)&TRIM(MID(A1,FIND(""ã."",A1)-5,5)))+MID(A1,2,2)-1"
Lastrow = Cells(Rows.Count, 1).End(xlUp).Row
[j1].AutoFill Destination:=Range("j1:j" & Lastrow)
   Range([j1], Cells(Rows.Count, 10).End(xlUp)).Select
   Selection.NumberFormat = "dd/mm/yy;@"
   Selection.Copy
   Range("A1").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Range([a1], Cells(Rows.Count, 1).End(xlUp)).Select
   Selection.NumberFormat = "dd/mm/yy;@"
   Range([j1], Cells(Rows.Count, 10).End(xlUp)).Clear
End Sub
Еще раз спасибо за помощь.
Страницы: 1
Читают тему
Наверх