KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Формула Excel: Проверка, содержит ли ячейка одно из нескольких значений, исключая другие значения

АвторСунДата изменения

Допустим, у вас есть два списка значений. Вы хотите проверить, содержит ли ячейка B3 хотя бы одно значение из диапазона E3:E5, но при этом не содержит ни одного значения из диапазона F3:F4, как показано на скриншоте ниже. В этом руководстве приведена формула для быстрого решения такой задачи в Excel, а также подробно разобраны её аргументы.
документ: проверка на наличие одного из значений с исключением 1

Универсальная формула:

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

Аргументы

Text: the text string you want to check.
Include: the values you want to check if argument text contains.
Exclude: the values you want to check if argument text does not contain.

Возвращаемое значение:

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

Как работает эта формула

Допустим, вы хотите проверить, содержит ли ячейка B3 хотя бы одно из значений из диапазона E3:E5, при этом исключая любые значения из диапазона F3:F4. Воспользуйтесь приведённой ниже формулой.

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>,0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

Нажмите клавишу Enter, чтобы получить результат проверки.
документ: проверка на наличие одного из значений с исключением 2

Пояснение

Часть 1: (SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0) проверяет, содержит ли ячейка значения из диапазона E3:E5

Функция ПОИСК: функция ПОИСК возвращает позицию первого символа искомой текстовой строки внутри другой строки. Если совпадение найдено, функция возвращает относительную позицию; если нет — ошибку #ЗНАЧ!. Например, формула SEARCH($E$3:$E$5,B3) выполнит поиск каждого значения из диапазона E3:E5 в ячейке B3 и вернёт позиции этих строк в ячейке B3. Результатом будет массив следующего вида: {1;7;12}.

Функция ЕЧИСЛО: возвращает ИСТИНА, если ячейка содержит число. Таким образом, формула ISNUMBER(SEARCH($E$3:$E$5,B3)) вернёт массив {ИСТИНА;ИСТИНА;ИСТИНА}, поскольку функция ПОИСК нашла три совпадения.

--ISNUMBER(SEARCH($E$3:$E$5,B3)) преобразует значение ИСТИНА в 1, а ЛОЖЬ — в 0, поэтому эта формула превращает результат массива в следующий: {1;1;1}.

Функция СУММПРОИЗВ: используется для перемножения диапазонов или суммирования массивов и возвращает сумму произведений. Формула SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) даёт результат 1+1+1=3.

Наконец, результат левой части формулы SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) сравнивается с 0. Если он больше 0, формула возвращает ИСТИНА, в противном случае — ЛОЖЬ. В данном случае результат — ИСТИНА.
документ: проверка на наличие одного из значений с исключением 3

Часть 2: (SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0) проверяет, что ячейка не содержит значений из диапазона F3:F4

Формула SEARCH($F$3:$F$4,B3) выполняет поиск каждого значения из диапазона F3:F4 в ячейке B3 и возвращает позиции этих строк внутри B3. Результатом будет массив следующего вида: {#ЗНАЧ!;#ЗНАЧ!}.

ISNUMBER(SEARCH($F$3:$F$4,B3)) вернёт массив {ЛОЖЬ;ЛОЖЬ}, так как функция ПОИСК не нашла ни одного совпадения.

--ISNUMBER(SEARCH($F$3:$F$4,B3)) преобразует значение ИСТИНА в 1, а ЛОЖЬ — в 0, поэтому данная формула приводит массив к следующему виду: {0;0}.

Функция СУММПРОИЗВ: используется для перемножения диапазонов или суммирования массивов и возвращает сумму произведений. Формула SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) возвращает результат 0 + 0 = 0.

Наконец, результат левой части формулы SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) сравнивается с 0. Если он равен 0, формула возвращает ИСТИНА, в противном случае — ЛОЖЬ. В данном случае результат — ИСТИНА.
документ: проверка на наличие одного из значений с исключением 4

Часть 3: Перемножение двух формул

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>,0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

=TRUE*TRUE

=1

В этой формуле значения 1 и 0 интерпретируются как логические ИСТИНА и ЛОЖЬ.

Пример файла

образец документаНажмите, чтобы скачать пример файла


Связанные формулы


Лучшие инструменты для повышения продуктивности в Office

Kutools для Excel — Помогает вам выделиться из толпы

🤖KUTOOLS AI Помощник: Революционизируйте Анализ данных на основе:Интеллектуальное выполнение   |  Генерация кода|  Создание пользовательские формулы  |  Анализ данных и создание диаграмм|  Вызов Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты  |  Удалить пустые строки  |  Объединить столбцы или ячейки без потери данных  |  Округление без использования формул
Расширенный VLookup:Несколько критериев  |  Несколько значений  |  По нескольким листам  |  Распознавание нечетких соответствий
Расш. Раскрывающийся список:Простой выпадающий список  |  Зависимый выпадающий список  |  Многоэлементный выпадающий список
Управление столбцами:Добавление определённого количества столбцов  |  Перемещение столбцов  |  Переключение видимости скрытых столбцов  |Сравнение столбцов для Выбрать одинаковые/разные ячейки
Избранные функции:Сетка фокусировки  |  Просмотр дизайна  |  Улучшенная строка формулы  |  Управление рабочими книгами и листами|Библиотека ресурсов(автотекст)|  Выбор даты  |  Объединить листы  |  Шифрование/Расшифровать ячейки  |  Отправка писем по списку  |  Супер фильтр  |  Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы…)|  50+Типыдиаграмм(Диаграмма Ганта…)|  40+ Практические формулы(Рассчитать возраст на основе даты рождения…)|  19 Инструментывставки(Вставить QR-код,Вставка изображения по пути…)|  12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют…)|  7 Объединить и разделитьинструменты(Расширенное объединение строк,Разделение ячеек Excel…)|…и многое другое
Используйте Kutools на предпочитаемом языке — поддерживает английский, испанский, немецкий, французский, китайский и ещё 40+ языков!

Kutools для Excel предлагает более 300 функций,гарантируя, что всё необходимое всегда под рукой…


Office Tab — Включает вкладки для чтения и редактирования в Microsoft Office (включая Excel)

  • Переключайтесь между десятками открытых документов всего за секунду!
  • Сократите сотни кликов мышью каждый день и забудьте о «мышечной руке».
  • Повышает продуктивность на 50 % при одновременном просмотре и редактировании нескольких документов.
  • Добавляет удобство работы с вкладками в Office (включая Excel) — как в Chrome, Edge и Firefox.