Страницы: 1
RSS
Как сделать поиск в строке назад от начальной позиции?
 
В эскль есть целых две команды для поска одной строки в другой: ПОИСК и НАЙТИ, и обе позволяют задать начальную позицию для поиска, но обе ищут вперед, а мне надо назад.  
Надо это, например, для того чтобы вычленить из строки числовое значение величины найдя предварительно ее единицу измерения (других указателей на величину в строке нет).  
Как ни бился не мог найти такую команду в Эксель, хотя однако в VisualBasic есть подходящая функция InStrRev, может ее можно как то вызвать из Excel?  
Сейчас пришла в голову мысль перевернуть строку перед поиском, а в Excel такая возможность имеется?
 
насколько помню - нет, но можно искать в массиве символов:  
=ПСТР(B3;ДЛСТР(B3)+1-СТРОКА(A1:ИНДЕКС(A:A;ДЛСТР(B3)));1)
Живи и дай жить..
 
.
Живи и дай жить..
 
{quote}{login=слэн}{date=19.03.2011 09:36}{thema=}{post}.{/post}{/quote}Привет. И что это было?
Я сам - дурнее всякого примера! ...
 
злостное спамерство :)    
 
тренируюсь в html подписи
Живи и дай жить..
 
Забыл сказать, сейчас я решил эту задачу создав функцию  
 
Public Function НАЙТИНАЗАД(StringMatch, StringCheck As String, Optional Start As Long = -1) As Integer  
 НАЙТИНАЗАД = InStrRev(StringCheck, StringMatch, Start)  
End Function  
 
Но мне такое решение не нравится, потому что боюсь что несколько тысяч вызовов этой функции создают нагрузку на систему (хотя пока Excel с честью справляется с этой задачей), и при отладке других процедур инициирующих пересчет листа я каждый раз попадаю в эту функцию.  
 
2слэн: Спасибо за ответ, попробую что получилось, хотя тоже громоздко, в другую формулу не вставишь.
 
почему не вставишь?  дайте имя и вставляйте
Живи и дай жить..
 
{quote}{login=слэн}{date=19.03.2011 09:59}{thema=}{post}почему не вставишь?  дайте имя и вставляйте{/post}{/quote}  
Так, так, так... С этого места пожалуйста поподробнее.  
В экселе можно давать имя сложным функциям?  
Как это сделать?
 
открываете вставка-имя-присвоить  
 
в верхней строке набираете имя имени  :)  
 
в нижней - соответствующую формулу  
 
 
если в формуле используются относительные ссылки, то формула при вызове будет видоизменена соответственно вызывающей ячейке - допустим в момент записи формулы у вас активна ячейка a1 и вы записываете формулу "=b1". тогда при вызове из ячейки с2 формула будет преобразована к виду: "=b2"  
 
это как при копировании формулы из ячейки в ячейку..  
 
абсолютные сылки, есссстесственно, считаются как написаны.
Живи и дай жить..
 
тьфу три раза, не так.  
 
 
формула будет преобразована к виду: "=d2"
Живи и дай жить..
Страницы: 1
Читают тему
Наверх