Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Вложенный ПОИСК

Автор runner, 17.02.2016, 12:26

« назад - далее »

runner

Добрый день!
Столкнулся с проблемой несрабатывания функции ПОИСК, в случае второго и больше вложения.
Не пойму, что не так? В справке каких-то ограничений не увидел. Можно ли как-то решить проблему?
Потребность есть и в бОльшем количестве поисковых фрагментов.

vikttur

При возникновении ошибки в первом условии ЕСЛИ показывает ошибку, которую обрабатывает ЕСЛИОШИБКА.
=ЕСЛИ(ЕЧИСЛО(ПОИСК($B$1;A15));$B$1...
ЕСЛИОШИБКА не нужна

cheshiki1

в этом варианте 2 совпадения "Колодки барабанные стояночного тормоза" берем всегда первый?

runner

ЕСЛИОШИБКА - для красивости, в данном случае, но может использоваться для продолжения обработки в другом направлении.

при совпадении по двум и более значениям - достаточно первого

runner

Цитата: vikttur от 17.02.2016, 12:34
=ЕСЛИ(ЕЧИСЛО(ПОИСК($B$1;A15));$B$1...

Заработало!  :)
Спасибо!

zs

Альтернативный вариант)
=ЕСЛИ(ДЛСТР(A15)-ДЛСТР(ПОДСТАВИТЬ(A15;$B$1;""))>0;$B$1;ЕСЛИ(ДЛСТР(A15)-ДЛСТР(ПОДСТАВИТЬ(A15;$B$2;""))>0;$B$2;ЕСЛИ(ДЛСТР(A15)-ДЛСТР(ПОДСТАВИТЬ(A15;$B$3;""))>0;$B$3;"")))

runner

Тоже нормально работает, но формула подлиннее :)
   Вот если бы можно было задать такую подстановку по массиву с неограниченным числом слов поиска ... ::)

vikttur

#7
Можно:
=ИНДЕКС($B$1:$B$3;МИН(ЕСЛИ(ЕЧИСЛО(ПОИСК($B$1:$B$3;A5));СТРОКА($B$1:$B$3))))
формула массива, ввод тремя клавишами - Ctrl+Shift+Enter
Недостаток: на больших диапазонах (при большом количестве таких формул) возможно торможение при вычислениях.

Если не найдено ни одно из слов диапазона поиска, покажет первон слово, что не есть хорошо, поэтому нужна доп. проверка:
=ЕСЛИ(МИН(...)=0;"караул";ИНДЕКС($B$1:$B$3;МИН(...

Вариант проще, без усложнения или изменения формулы:
В диапазон искомых значений первым значением вписать, например, "не найдено". Главное - такое сочетание символов гарантированно не должно встречаться в текстах.

runner

Просто супер!
И пусть ищет тридцать два слова по восьми тысячам строк - пойду кофе выпью :)

zs

Если произвести работу по оформлению ячейки, то достаточно использовать формулу =A1

runner

#10
Цитата: zs от 19.02.2016, 23:36
Если произвести работу по оформлению ячейки,...

Хотелось бы подробностей - где посмотреть?

нашёл, что через УФ :)

runner

В общем, работает, но ...
Трудоёмко, и нельзя использовать результат - только смотреть глазками... ни скопировать, ни отфильтровать...
Пока не представляю, где этот способ можно использовать.