Страницы: 1
RSS
Поиск текстового словосочетания из одного массива в другом массиве.
 
Всем привет! Подробно задачу описал в приложенном файле (см. вложение). Если вкратце, то есть:
  • Лист 1. Столбец "Описание товара", каждая ячейка содержит до 1 до 22 000 символов. Строк в этом столбце 60 000.
  • Лист 2. Столбец "Признак исключения" с описание текстовых фрагментов-исключений, в ячейке от 4 до 16 символов. Содержит около 100 строк в столб
Задача: проанализировать столбец "Описание товаров" - если содержатся словосочетания из столбца "Признак исключения" - то проставить в поле "Исключения" значение "Да", проставить "Нет" в противном случае.

Прошу помочь с реализацией, как я понимаю формулами и "рядовыми" средствами Excel это не выполнить? Необходим макрос? Подскажите в каком направлении копать?
 
вариант МАССИВНАЯ в В8 и вниз
Код
=ЕСЛИ(ИЛИ(ЕЧИСЛО(ПОИСК(" "&$G$8:$G$12;" "&A8)));"ДА";"НЕТ")
Изменено: Сергей - 27.03.2020 14:07:09 (косяк в формуле)
Лень двигатель прогресса, доказано!!!
 
Сергей, спасибо за идею. Смысл отработки формулы понятен. Но вот ... хм... не отрабатывает по B15 - там где "Поршени и бензобаки для машин". Должно по списку находить "Порш" и "бензо" и ставить "ДА", а формула отрабатывает "НЕТ". Не пойму почему!
 
у меня отрабатывает
Лень двигатель прогресса, доказано!!!
 
Да, Сергей работает. Спасибо большое. Я не понял фразу "МАССИВНАЯ" - нужно было скобки фигурные поставить. Все заработало!
 
Цитата
Dron Rulez написал:
"МАССИВНАЯ" - нужно было скобки фигурные поставить
- скобки не делают формулу массивной. Это массивная формула ставит эти скобки!
 
Ну я стал в текст формулы и нажал Ctrl+Shift+Enter - правильно сделал?
 
ещё вариант
Код
=ЕСЛИ(ЕЧИСЛО(ПРОСМОТР(2;1/ПОИСК($G$8:$G$12;A24)));"Да";"Нет")

массивная
Страницы: 1
Наверх