Доброго времени, суток не могу решить казалось бы простую задачу. Надо найти слово по условию, что это слово стоит перед заданным словом и как второй вариант после заданного слова. Пробовал с помощью "СЖПРОБЕЛ и ПСТР", что-то коряво вышло. Может кто сможет помочь. Искал по форумам подходящего нет или кто видел похожее решение задачи. Спасибо. Предвосхищаю вопрос - в готовых решениях тоже смотрел, "поисковиком" искал.
Доброго времени, суток не могу решить казалось бы простую задачу. Надо найти слово по условию, что это слово стоит перед заданным словом и как второй вариант после заданного слова. Пробовал с помощью "СЖПРОБЕЛ и ПСТР", что-то коряво вышло. Может кто сможет помочь. Искал по форумам подходящего нет или кто видел похожее решение задачи. Спасибо. Предвосхищаю вопрос - в готовых решениях тоже смотрел, "поисковиком" искал.Georg305
Удовлетворите любопытство, почему почти всегда LEFTB? Подстарховка или опыт работы с корейским, китайским, японским? Вроже это только для них (The languages that support DBCS include Japanese, Chinese (Simplified), Chinese (Traditional), and Korean. )
А прием в формуле замечательный, добавить лишнее чтоб проще искать нужное, все время про это забываю.
Александр,
Удовлетворите любопытство, почему почти всегда LEFTB? Подстарховка или опыт работы с корейским, китайским, японским? Вроже это только для них (The languages that support DBCS include Japanese, Chinese (Simplified), Chinese (Traditional), and Korean. )
А прием в формуле замечательный, добавить лишнее чтоб проще искать нужное, все время про это забываю.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
[offtop]Михаил, по поводу LEFTB. Вы просматриваете форум когда формулы представлены функциями написанными на английском. Переключите на Rus и увидите ЛЕВБ(). ЛЕВБ() короче ЛЕВСИМВ() почти в два раза. В этом смысл. Уверен, что для формул En Александр написал бы LEFT(), а не LEFTB()
[offtop]Михаил, по поводу LEFTB. Вы просматриваете форум когда формулы представлены функциями написанными на английском. Переключите на Rus и увидите ЛЕВБ(). ЛЕВБ() короче ЛЕВСИМВ() почти в два раза. В этом смысл. Уверен, что для формул En Александр написал бы LEFT(), а не LEFTB()AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
На самом деле это порочная практика - функции ЛЕВБ и ПРАВБ отсутствуют по-моему в Маке. Или не в Маке, а в Гугле. Или не в Гугле, а еще где-то. Но не так уж и важно где, важно, что я несколько раз нарывался на то, что ЛЕВБ не работает, а ЛЕВСИМВ работает. Но "Лень-матушка вперед меня родилась", ведь это ж какая экономия - целых 3 символа не набрать
На самом деле это порочная практика - функции ЛЕВБ и ПРАВБ отсутствуют по-моему в Маке. Или не в Маке, а в Гугле. Или не в Гугле, а еще где-то. Но не так уж и важно где, важно, что я несколько раз нарывался на то, что ЛЕВБ не работает, а ЛЕВСИМВ работает. Но "Лень-матушка вперед меня родилась", ведь это ж какая экономия - целых 3 символа не набрать_Boroda_
Function Adres(iStr As String, Kr As String) As String Dim Arr, i As Long, sm As Long Arr = Split(iStr) Select Case Kr Case "ОБЛ,", "Р-Н,", "Г,", "УЛ,": sm = -1 Case "ДОМ №", "кв.": sm = 1 End Select If Kr = "ДОМ №" Then Kr = "№" For i = 0 To UBound(Arr) If Arr(i) = Kr Then Adres = Replace(Arr(i + sm), ",", ""): Exit For Next i End Function
[/vba]
Вариант с функцией[vba]
Код
Function Adres(iStr As String, Kr As String) As String Dim Arr, i As Long, sm As Long Arr = Split(iStr) Select Case Kr Case "ОБЛ,", "Р-Н,", "Г,", "УЛ,": sm = -1 Case "ДОМ №", "кв.": sm = 1 End Select If Kr = "ДОМ №" Then Kr = "№" For i = 0 To UBound(Arr) If Arr(i) = Kr Then Adres = Replace(Arr(i + sm), ",", ""): Exit For Next i End Function