Функция поиска в Excel со списком вещей - массив ведет себя странно? - PullRequest
2 голосов
/ 06 августа 2020

У меня есть список подстрок, и мне нужно проверить, содержит ли текстовая строка в моей ячейке любую из этих подстрок. Точно так же, как здесь: https://exceljet.net/formula/cell-contains-one-of-many-things

Однако ISNUMBER (SEARCH (MySubstrings, A3)) ведет себя странно. Вместо проверки A3 по списку подстрок вроде ISNUMBER (SEARCH ({dog, cat, egg}, A3)) он автоматически заполняет три последовательные ячейки, чтобы показать результаты проверки A3 по каждому элементу в моем списке, один за другим.

поиск без фигурных скобок

И когда я ввожу то же самое, что и формула массива, он проверяет только наличие первой подстроки из моего списка, в данном случае "dog ".

поиск в фигурных скобках

Почему это не работает? Спасибо за подсказки!

1 Ответ

0 голосов
/ 06 августа 2020

Вам не хватает функции SUMPRODUCT, как в примере с exceljet. Аргумент, переданный в SUMPRODUCT, является массивом (в вашем примере массив размером 1 на 3 из TRUE или FALSE), который SUMPRODUCT превращается в одно значение (0 или 1):

=SUMPRODUCT(--ISNUMBER(SEARCH({"dog","cat","egg"},A3)))>0

Альтернативная формулировка - обернуть ISNUMBER функцией OR (по-прежнему нет необходимости вводить как массив):

=OR(ISNUMBER(SEARCH({"dog","cat","egg"},A3)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...