На листе располагается диапазон. подсвеченный зеленым цветом. В этом диапазоне - содержатся различные текстовые и числовые символы. В этом диапазоне в некоторых ячейках находится текст "rhp trs05-shrdn reu"
Цель - найти и вынести в отдельный столбец - числовой показатель, находящийся в середине этого текста (либо 05=0,5 либо целое число).
Моя формула проводит поиск и анализ - по Правой части ключевого текста - то есть "rhp trs". (формула находит текст "rhp trs" и ищет число стоящее Справа)
Как провести подобный поиск - по Левой части ключевого текста - то есть по "shrdn reu" ? (То есть формула должна найти текст "shrdn reu" и извлечь число стоящее Слева )
На листе располагается диапазон. подсвеченный зеленым цветом. В этом диапазоне - содержатся различные текстовые и числовые символы. В этом диапазоне в некоторых ячейках находится текст "rhp trs05-shrdn reu"
Цель - найти и вынести в отдельный столбец - числовой показатель, находящийся в середине этого текста (либо 05=0,5 либо целое число).
Моя формула проводит поиск и анализ - по Правой части ключевого текста - то есть "rhp trs". (формула находит текст "rhp trs" и ищет число стоящее Справа)
Как провести подобный поиск - по Левой части ключевого текста - то есть по "shrdn reu" ? (То есть формула должна найти текст "shrdn reu" и извлечь число стоящее Слева )odeon16
я, конечно, не программист, но мне кажется, что проще всего на регулярках: [vba]
Код
Function getleft(t$, p$) With CreateObject("VBScript.RegExp") .Pattern = "\d+(?=" & p & ")" If .test(t) Then getleft = .Execute(t)(0) Else getleft = "" End With If Left(getleft, 1) = "0" Then getleft = Replace(getleft, "0", "0,") End Function
[/vba]
я, конечно, не программист, но мне кажется, что проще всего на регулярках: [vba]
Код
Function getleft(t$, p$) With CreateObject("VBScript.RegExp") .Pattern = "\d+(?=" & p & ")" If .test(t) Then getleft = .Execute(t)(0) Else getleft = "" End With If Left(getleft, 1) = "0" Then getleft = Replace(getleft, "0", "0,") End Function
AlexM, вот смотрите - есть текст: "543 , fhg , rhp trs12-shrdn reu, fgjhdh6 "
Как формулой извлечь из этого текста и поместить в отдельную ячейку - кусок "12-shrdn reu" ? То есть видимо - должен быть поиск по слову "shrdn reu" и нескольких символов слева. Ограничитель слева - это любая буква, идущая после цифры. То есть в данном случае во фрагменте "s12-shrdn reu" - ограничителем будет выступать буква "s" перед которой стоит "1".
AlexM, вот смотрите - есть текст: "543 , fhg , rhp trs12-shrdn reu, fgjhdh6 "
Как формулой извлечь из этого текста и поместить в отдельную ячейку - кусок "12-shrdn reu" ? То есть видимо - должен быть поиск по слову "shrdn reu" и нескольких символов слева. Ограничитель слева - это любая буква, идущая после цифры. То есть в данном случае во фрагменте "s12-shrdn reu" - ограничителем будет выступать буква "s" перед которой стоит "1".odeon16