Функция 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 в списке? |
На следующем рисунке показаны результаты.
Пример 2
Проверьте наличие нескольких значений одновременно. Так как второй аргумент является массивом, функция HAS возвращает по одному результату для каждого значения в той же форме, что и искомые значения.
| Данные. | ||
|---|---|---|
| 1 | 2 | 3 |
Оставьте две пустые ячейки под второй формулой, чтобы ее результаты могли быть перенесены.
| Формулы. | Описание |
|---|---|
| =HAS(A2:C2;{{2,5}}) | Возвращает одну ячейку, содержащую вложенный массив {TRUE,FALSE} |
| =HAS(A2:C2;{2; 5; 3}) | Возвращает значения ИСТИНА, ЛОЖЬ, ИСТИНА перенос вниз по трем ячейкам — по одному результату на каждое значение. |
На следующем рисунке показаны результаты.
Пример 3
Выполняйте поиск внутри вложенного массива. Скопируйте всю таблицу и вставьте ее в ячейку A1 нового листа. Формула в ячейке A2 сохраняет вложенный массив в одной ячейке.
| Данные. | |
|---|---|
| ={{{1,2};{3,4}}} | |
| Формулы. | Описание |
| =HAS(A2;3) | Возвращает значение ИСТИНА. HAS выполняет поиск на всех уровнях, поэтому 3 находится внутри {3,4} |
| =HAS(A2;5) | Возвращает значение ЛОЖЬ. Ни один уровень вложенного массива не содержит 5 |
На следующем рисунке показаны результаты.