Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Извлечение текстовой строки с нужным словом
 
Всем доброго времени суток!
Такой вопрос - есть набор текстовых строк, внутри встречается одно из слов. Хочется, чтобы формула проверяла наличие слова в списке, и, если оно там есть, как бы "ГПРила" его. Реально такое?
(то слово, которое слева направо первое встречается в списке. Если для формулы лучше, чтобы список был вертикальный, то это, тоже допустимо)

Файл прикрепляю, там сейчас вручную сделано.
 
Код
=ПРОСМОТР(9^9;ПОИСК($C$2:$F$2;B8);$C$2:$F$2)

тока у вас со словом "сумка" путаница то с русское то английское. Так и будет по факту?
Изменено: V - 13 Апр 2015 15:35:03
 
нет, то "накладочка", думаю, что такого не будет, формулу сейчас посмотрю, но, думаю, что работает она правильно )
спасибо!
 
Да! формула то что надо! спасибо!!!
 
Zhukov_K при двух имеющихся значениях из списка тянет последнее согласно списка, а не первое встречающееся :(
 
ааа.. это не очень... блин )
а чтобы первое тянуло? реально сделать?
 
вроде так, проверяйте, формула массива
Код
=ИНДЕКС($C$2:$F$2;;ПОИСКПОЗ(МИН(ЕСЛИ(ЕОШ(ПОИСК($C$2:$F$2;B8));"";ПОИСК($C$2:$F$2;B8)));ПОИСК($C$2:$F$2;B8);))
 
там в конце формулы символ подстановки "?", да?
 
"?" - это который зеленый? Нет, это оформление кода такое...
 
=ИНДЕКС($C$2:$F$2;ПОИСКПОЗ(1;СЧЁТЕСЛИ(B8;"*"&$C$2:$F$2&"*");0))
формула массива
 
для строки 14 должна возвращать "коврик", т.к. это слово идет первое в списке слов слева направо, а возвращает "набор"
 
то что надо..
спасибо!..
а как вот это работает:
Код
СЧЁТЕСЛИ(B16;"*"&$C$2:$F$2&"*")
 
Растяните на четыре ячейки в строку и введите как формулу массива.
Или выделите эту часть формулы, и  F9

ps/ в данном варианте не найдет, к примеру, "коврик", если их будет больше одного в ячейке ;)
Изменено: Михаил С. - 13 Апр 2015 17:24:20
 
Михаил С., понял, спасибо за объяснения! ) оригинально! )
 
А если так попробовать?
Код
Function GPR(S As String, Spisok As Range) As String
GPR = S
If S = "" Or Spisok Is Nothing Then Exit Function
Dim Arr()
Arr = Spisok
For Each a In Arr
    If LCase(S) Like "*" & a & "*" Then
        GPR = a
        Exit Function
    End If
    Next a
End Function


Страницы: 1
Читают тему (гостей: 1)