Страницы: 1
RSS
Как выбрать дату из текста в ячейке.
 
Доброго времени суток.
Подскажите как можно формулой выбрать дату из ячеек с набором текста.
Изменено: DemonAMT - 21.02.2020 10:26:07
 
DemonAMT,
Код
=ТЕКСТ(ПСТР(A2;ПОИСК(" от ";A2;1)+4;10);"ДД.ММ.ГГГГ")
Изменено: Mershik - 21.02.2020 10:29:11
Не бойтесь совершенства. Вам его не достичь.
 
DemonAMT, здравствуйте!
Анализ текста регулярными выражениями (RegExp) в Excel

UPD: Если данные только в таком виде, как в примере, то можно обойтись штатными функциями
=--ПСТР(A2;ПОИСК(" от ";A2)+4;10)
или, если разделитель даты не может быть точкой:
=--ПОДСТАВИТЬ(ПСТР(A2;ПОИСК(" от ";A2)+4;10);".";"/")
Изменено: Jack Famous - 21.02.2020 10:34:57
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, Алексей, Вы его прямиком в ад направили))
Изменено: Mershik - 21.02.2020 10:34:07
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,  :D  
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Цитата
Mershik: Вы его прямиком в ад направили))
:D
Уже добавил альтернативу  :idea:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Ну и оперативность)) Не успел выложить уже столько примеров. Всем спасибо, а подскажите как можно сделать, чтобы в полученной дате число дня проставлялась 1. Т.е. дата 02.03.2020 становилась 01.02.2020    25.04.2020 соответственно 01.04.2020
Я понимаю что это можно сделать формулой
Код
=ДАТА(ГОД(ТЕКСТ(ПСТР(A2;ПОИСК(" от ";A2;1)+4;10);"ДД.ММ.ГГГГ"));МЕСЯЦ(ТЕКСТ(ПСТР(A2;ПОИСК(" от ";A2;1)+4;10);"ДД.ММ.ГГГГ"));1)

Но может есть попроще вариант.
Изменено: DemonAMT - 21.02.2020 13:24:27
 
Цитата
DemonAMT: как можно сделать, чтобы в полученной дате число дня проставлялась 1
брать на 2 символа правее и меньше, соответственно + добавлять единицу:
Код
=--1&ПСТР(A2;ПОИСК(" от ";A2)+6;8)
или
Код
=--ПОДСТАВИТЬ(1&ПСТР(A2;ПОИСК(" от ";A2)+6;8);".";"/")

Название: Взять из строки дату и изменить на первый день месяца
Изменено: Jack Famous - 21.02.2020 10:50:31
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
DemonAMT, еще вариант
Код
=КОНМЕСЯЦА(ТЕКСТ(ПСТР(A9;ПОИСК(" от ";A9;1)+4;10);"ДД.ММ.ГГГГ");-1)+1
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
чтобы в полученной дате число дня проставлялась 1
UDF
Код
Function iDate(cell As String)
Dim re As Object
    Set re = CreateObject("vbscript.regexp")
    re.Pattern = "\d\d\.\d\d\.\d\d\d\d"
    If re.test(cell) Then
      iDate = "01" & Mid(re.Execute(cell)(0), 3)
      iDate = Format(iDate, "MMM YY")
    End If
End Function
 
Можно с дополнительным столбцом попробовать.  
 
Цитата
Jack Famous написал:
брать на 2 символа правее и меньше, соответственно + добавлять единицу:
а лучше на 3 и еденичку не прибавлять :-)
=--MID(A2;FIND("от ";A2)+6;7)
Изменено: БМВ - 23.02.2020 08:04:58
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ: а лучше на 3 и еденичку не прибавлять
век живи, век учись  :)
Не знал, что так можно — спасибо  :idea:
Изменено: Jack Famous - 25.02.2020 09:57:20
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Доброе утро! Можно использовать Данные > Мгновенное заполнение или CTRL+E.G
 
Цитата
kristina S: Можно использовать Данные > Мгновенное заполнение
мы тут на форуме часто про него забываем))
Матчасть из Приёмов: Суперсила Мгновенного заполнения (Flash Fill)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх