Формула на Excel: Клетката съдържа една от многото с изключения -

Обща формула

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

Обобщение

За да тествате клетка за един от многото низове, като същевременно изключвате други, можете да използвате формула, базирана на функциите SEARCH, ISNUMBER и SUMPRODUCT. В показания пример формулата в C5 е:

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

където "включва" е наименуваният диапазон E5: E9, а "изключва" е наименуваният диапазон G5: G6.

Обяснение

В основата си тази формула използва функцията SEARCH за търсене на множество низове в клетка. Вътре в левия SUMPRODUCT, SEARCH търси всички низове в посочения диапазон "включва".

В десния SUMPRODUCT, SEARCH търси всички низове в посочения диапазон "изключване".

И в двете части на формулата, SEARCH връща числови позиции, когато се намират низове, и грешки, когато не. Функцията ISNUMBER преобразува числата в TRUE и грешките в FALSE, а двойният отрицателен преобразува стойностите TRUE FALSE в 1 и 0.

Резултатът в този момент изглежда така:

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

Тогава:

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

Забележка: тази формула връща или 1, или нула, които се обработват като TRUE и FALSE във формули, условно форматиране или валидиране на данни.

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