Формула Excel: Ячейка содержит одно из множества исключений -

Содержание

Общая формула

=(SUMPRODUCT(--ISNUMBER(SEARCH(include,A1)))>0) *(SUMPRODUCT(--ISNUMBER(SEARCH(exclude,A1)))=0)

Резюме

Чтобы проверить ячейку на наличие одной из многих строк, исключая другие, вы можете использовать формулу, основанную на функциях ПОИСК, ЕЧИСЛО и СУММПРОИЗВ. В показанном примере формула в C5:

=(SUMPRODUCT(--ISNUMBER(SEARCH(include,B5)))>0) *(SUMPRODUCT(--ISNUMBER(SEARCH(exclude,B5)))=0)

где «include» - именованный диапазон E5: E9, а «exclude» - именованный диапазон G5: G6.

Объяснение

По сути, эта формула использует функцию ПОИСК для поиска нескольких строк внутри ячейки. Внутри левого SUMPRODUCT SEARCH ищет все строки в названном диапазоне "include".

В правом SUMPRODUCT ПОИСК ищет все строки в названном диапазоне "exclude".

В обеих частях формулы ПОИСК возвращает числовые позиции, когда строки найдены, и ошибки, когда нет. Функция ЕЧИСЛО преобразует числа в ИСТИНА, а ошибки в ЛОЖЬ, а двойное отрицательное значение преобразует ИСТИНА ЛОЖЬ в 1 и 0.

Результат на этом этапе выглядит так:

=(SUMPRODUCT((1;0;0;0;0))>0)*(SUMPRODUCT((0;0))=0)

Потом:

=(1>0)*(0=0) =TRUE*TRUE =1

Примечание: эта формула возвращает либо 1, либо ноль, которые обрабатываются как ИСТИНА и ЛОЖЬ в формулах, условном форматировании или проверке данных.

Интересные статьи...