Страницы: 1
RSS
Есть аналог функции Поиск, где искомый текст будет диапазоном?, Есть аналог функции Поиск, где искомый текст будет диапазоном?
 
Здравствуйте,
помогите, пожалуйста,
нужно как-то реализовать аналог функции Найти (Поиск), но искомый текст должен быть в форме диапазона. Если в строке поиска есть хотя бы одно слово из заданного диапазона - формула должна как-то это обозначить, например, просто 1. Если нет, то ноль или ошибка.
Например (картинка в аттаче), диапазон находится на отдельном листе “Исключения”.
Нужно чтобы в формула проверяла каждую строчку - есть ли хоть одно слово в этой строчке из диапазона “Исключения”.
Надо задавать искомый текст именно как диапазон, т.к. он очень большой (несколько сотен) и еще буду добавлять слова.
Изменено: 2016509 - 03.04.2019 07:57:28
 
Замените картинку файлом-примером Excel.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Код
=СУММ(СЧЕТЕСЛИ(Значение;Диапазон))>0
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
кросс
По вопросам из тем форума, личку не читаю.
 
Цитата
Михаил Лебедев написал:
Замените картинку файлом-примером Excel.




файл добавил к первому сообщению

Цитата
Ігор Гончаренко написал:
1=СУММ(СЧЕТЕСЛИ(Значение;Диапазон))>0
с текстовыми переменными оно будет работать?
 
Как вариант. Массивная формула.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
2016509 написал:
с текстовыми переменными оно будет работать?
будет. а провести тест самостоятельно религия не позволяет?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
2016509, не нужно цитировать без необходимости: кнопка цитирования не для ответа. Хотите обратиться по имени? - для этого есть специальная кнопка.
А теперь зайдите в свой профиль и поменяйте отображаемое имя (логин): на Вашей клавиатуре ведь есть буквы, а не только цифры.
 
Михаил Лебедев,
спасибо, все работает. часа 3 гуглил, не мог найти решения, все ВПР и пр. в чистом виде не помогают.
я подозревал, что такая вложенная формула должна быть, но мозгов пока не хватает даже понять как это работает.
в любом случае - спасибо огромное, буду разбираться
 
еще варианты
 
Цитата
Михаил Лебедев написал:
Sample.xlsx  (11.98 КБ)
Здравствуйте, пользовался этим примером долгое время, но сейчас заметил такой баг - в некоторых словосочетаниях из контрольного списка формула корректно находит исключения (в столбце В ставит единицу), а в некоторых не может найти, хотя исключение в контрольной ячейке точно присутствует.
Например ячейка А1 ="general farm worker", слово "farm" точно есть в исключениях (А353), но формула выдает 0 - как будто в А1 нет ни одного слова из списка исключений, а оно есть (А353). И таких примеров много.
все глаза проглядел - не могу понять почему иногда срабатывает формула, а иногда нет

файл в аттаче.

помогите пожалуйста разобраться - почему формула не всегда срабатывает?
 
формула массива:
Код
=--(СУММ(СЧЁТЕСЛИ(RC[-1];"*"&Исключения!R1C1:R1200C1&"*"))>0)
и у вас в исключениях много лишнего см. строки 351..356
exterminator
exterminator,
farm
farm)
farmer
farming
если формула найдет "exterminator", то смысл проверять на наличие "exterminator," - нету, exterminator уже найден!
и все farm: если найден farm, то бессмысленно проверять наличие farm), farmer и farming, все они уж найдены как farm
можно посортировать исключения и удалить бессмысленные среди них
Изменено: Ігор Гончаренко - 16.12.2019 05:13:53
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
ну эти "бессмысленные значения" автоматически получились (не суть важно), но не в этом дело

формула не находит ни одно из значений. возвращает 0
для примера, я удалил "farm)" и формула по прежнему не может найти "farm" в строке

почистить не проблема - почему формула не работает? вернее работает не всегда
 
для разнообразия хотя может уже была
Код
=--(СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК(Исключения!$A$1:$A$1200;A1)))>0)
Лень двигатель прогресса, доказано!!!
 
Цитата
Павел_Л написал:
почему формула не работает?
потому что она кривая и сработает только в том случае, если проверяемая фраза НАЧИНАЕТСЯ на слово-исключение и ничего не покажет во всех остальных случаях
замените проверяемую фразу:
general farm worker
на:
farm general worker
и тут же увидите, как ваша формула посчитала 1
удачи!
Изменено: Ігор Гончаренко - 16.12.2019 08:23:16
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Сергей написал:
=--(СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК(Исключения!$A$1:$A$1200;A1)))>0)
что-то не то ( у меня Excel на Mac OS)-наверное там немного синтаксис другой, в чистом виде формулу даже вставить не дает:

[SPOILER][/SPOILER]
 
мож автоматом из файла преобразует
Лень двигатель прогресса, доказано!!!
 
Цитата
Сергей написал:
мож автоматом из файла преобразует
да, спасибо работает
формула кстати вот так выглядит:
=--(SUMPRODUCT(--ISNUMBER(SEARCH(Исключения!$A$1:$A$1200,A1)))>0)
Страницы: 1
Наверх