Функция HAS

Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac

Функция HAS позволяет выполнять проверку наличия значения в массиве или диапазоне. Он возвращает значение ИСТИНА, если значение найдено, и значение ЛОЖЬ, если нет.

Функция HAS выполняет поиск на всех уровнях вложенного массива, поэтому ее можно использовать в массивах, хранящихся в одной ячейке.

Синтаксис

Функция HAS определяет, существует ли значение в массиве.

Синтаксис функции HAS выглядит следующим образом:

HAS(массив; значение)

Аргумент Описание
массив.
(обязательно)
Массив или диапазон для поиска. Поиск выполняется на каждом уровне вложенного массива.
значение
(обязательно)
Значение или массив искомых значений.

Примечание

  • Сравнения строги в отношении типа. Цифра 1 не соответствует тексту "1", а цифра 1 не соответствует аргументу ИСТИНА. Если требуется сравнить разные типы, сначала преобразуйте значение, например с помощью функции ЗНАЧЕН.
  • При сравнении текста регистр не учитывается, поэтому "яблоко" сопоставляется с "APPLE".
  • Если значение является массивом, функция HAS возвращает массив результатов ИСТИНА и ЛОЖЬ в той же форме, что и значение. Каждое значение проверяется отдельно.
  • Если массив пуст, функция HAS возвращает ошибку #CALC!.
  • Если значение содержит ошибку, она возвращается.
  • Чтобы выполнить проверку нескольких значений одновременно с помощью одного ответа ИСТИНА или ЛОЖЬ, используйте функции ХАСАНИ или ХАСАЛЛ.

Примеры

Скопируйте пример данных и вставьте их в ячейку A1 нового листа Excel. При необходимости измените ширину столбцов, чтобы видеть все данные.

Пример 1

Проверка наличия в диапазоне определенных значений.

Данные.        
10 20 30 40 50
Формулы. Вопросы
=HAS(A2:E2;30) Есть ли в списке 30?
=HAS(A2:E2;99) Есть ли 99 в списке?

На следующем рисунке показаны результаты.

Функция HAS возвращает значение ИСТИНА для числа 30 и значение ЛОЖЬ для значения 99 при поиске в диапазоне чисел 10, 20, 30, 40 и 50

Пример 2

Проверьте наличие нескольких значений одновременно. Так как второй аргумент является массивом, функция HAS возвращает по одному результату для каждого значения в той же форме, что и искомые значения.

Данные.    
1 2 3

Оставьте две пустые ячейки под второй формулой, чтобы ее результаты могли быть перенесены.

Формулы. Описание
=HAS(A2:C2;{{2,5}}) Возвращает одну ячейку, содержащую вложенный массив {TRUE,FALSE}
=HAS(A2:C2;{2; 5; 3}) Возвращает значения ИСТИНА, ЛОЖЬ, ИСТИНА перенос вниз по трем ячейкам — по одному результату на каждое значение.

На следующем рисунке показаны результаты.

Функция HAS возвращает значения ИСТИНА и ЛОЖЬ в одной ячейке вложенного массива, а функции ИСТИНА, ЛОЖЬ, ИСТИНА вниз на три ячейки

Пример 3

Выполняйте поиск внутри вложенного массива. Скопируйте всю таблицу и вставьте ее в ячейку A1 нового листа. Формула в ячейке A2 сохраняет вложенный массив в одной ячейке.

Данные.  
={{{1,2};{3,4}}}
Формулы. Описание
=HAS(A2;3) Возвращает значение ИСТИНА. HAS выполняет поиск на всех уровнях, поэтому 3 находится внутри {3,4}
=HAS(A2;5) Возвращает значение ЛОЖЬ. Ни один уровень вложенного массива не содержит 5

На следующем рисунке показаны результаты.

Функция HAS находит 3 внутри вложенного массива и возвращает значение ИСТИНА; Поиск по запросу 5 возвращает значение ЛОЖЬ