17 авг. 2022 г.
читать 2 мин
Вы можете использовать следующие формулы, чтобы проверить, содержит ли диапазон в Excel определенное значение:
Способ 1: проверить, содержит ли диапазон значение (возвратить TRUE или FALSE)
=COUNTIF( A1:A10 ,"this_value")>0
Способ 2: проверить, содержит ли диапазон частичное значение (возвратить TRUE или FALSE)
=COUNTIF( A1:A10 ,"*this_val*")>0
Способ 3: проверить, содержит ли диапазон значение (возврат пользовательского текста)
=IF(COUNTIF( A1:A10 ,"this_value"),"Yes","No")
В следующих примерах показано, как использовать каждую формулу на практике со следующим набором данных в Excel:
Пример 1: проверьте, содержит ли диапазон значение (возврат TRUE или FALSE)
Мы можем использовать следующую формулу, чтобы проверить, содержит ли диапазон названий команд значение «Mavericks»:
=COUNTIF( A2:A15 ,"Mavericks")>0
На следующем снимке экрана показано, как использовать эту формулу на практике:
Формула возвращает FALSE , так как значение «Mavericks» не существует в диапазоне A2:A15 .
Пример 2. Проверка того, содержит ли диапазон частичное значение (возврат TRUE или FALSE)
Мы можем использовать следующую формулу, чтобы проверить, содержит ли диапазон названий команд частичное значение «avs» в любой ячейке:
=COUNTIF( A2:A15 ,"*avs*")>0
На следующем снимке экрана показано, как использовать эту формулу на практике:
Формула возвращает TRUE , поскольку частичное значение «avs» встречается по крайней мере в одной ячейке в диапазоне A2:A15 .
Пример 3. Проверка наличия значения в диапазоне (возврат пользовательского текста)
Мы можем использовать следующую формулу, чтобы проверить, содержит ли диапазон названий команд значение «Шершни» в какой-либо ячейке, и вернуть в результате «Да» или «Нет»:
=IF(COUNTIF( A2:A15 ,"Hornets"),"Yes","No")
На следующем снимке экрана показано, как использовать эту формулу на практике:
Формула возвращает Нет , так как значение «Шершни» не встречается ни в одной ячейке в диапазоне A2:A15 .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как подсчитать частоту текста в Excel
Как проверить, содержит ли ячейка текст из списка в Excel
Как рассчитать среднее значение, если ячейка содержит текст в Excel
Просмотров:
8 821
Рассмотрим ситуацию, когда необходимо проверить находится ли числовое значение в диапазоне чисел.
Начальные значения
Для проверки возьмем следующие варианты значений.
В примерах представлены различные варианты, с целыми числами и дробными числами, а так же отрицательными значениями. Для понимания и проверки работы формулы этих вариантов вполне достаточно.
Формула
Запишем в ячейке Е3 такую формулу:
=И(D3>МИН(B3;C3);D3<МАКС(B3;C3))
Распространим действие формулы на диапазон ячеек от E3 до E11 и посмотрим на результаты.
Результатом выполнения функции «И» является логическое значение «ИСТИНА» или «ЛОЖЬ». Сама функция «И» возвращает логическую истину только в случае если все логические условия выполняются. В нашей задаче мы проверяем на вхождение числа в диапазон по этому достаточно выполнить две проверки, первая – это проверить больше ли значение чем нижняя граница диапазона, вторая – проверить меньше ли значение верхней границы.
Для поиска верхней и нижней границ диапазона мы используем функции «МИН» и «МАКС» соответственно. Использование этих функций снимает с нас ограничение на указание значения границы диапазона в нужном столбце. Так, например если бы в ячейки В3 было значение 10, а в ячейке С3 значение 1, результатом выполнения функции так же была бы «ИСТИНА». Именно по тому, что неважно какая граница, верхняя или нижняя указана первой. Можно конечно и упростить формулу, убрав из логических условий функции «МИН» и «МАКС», но тогда необходимо точно следить, что бы значения верхней границы и нижней границы указывались в определенных ячейках.
Приведенная в примере формула находит значение, находящееся между верхней и нижней границей диапазона, но не учитывает сами границы диапазона. В 4 примере это как раз и видно, нижняя граница диапазона 40, проверяемое значение 40, а результатом выполнения формулы является «ЛОЖЬ». Определенные в формулах логические значения не включают границы диапазона, те проверяется находится ли число в диапазоне не включительно границ диапазона. Для проверки значения включительно границ диапазона необходимо добавить заменить условие «больше» на «больше или равно», а условие «меньше» на «меньше или равно», таким образом, формула примет вид:
=И(D3>=МИН(B3;C3);D3<=МАКС(B3;C3))
Иногда вам нужно проверить или определить, находится ли число или значение в диапазоне. В этом уроке мы покажем вам, как этого добиться.
Определите, находится ли число или значение в диапазоне с помощью формулы
Определить, находится ли число или значение в диапазоне с Kutools for Excel
Определите, находится ли число или значение в диапазоне с помощью формулы
Как показано на скриншоте ниже, вы можете определить, выходит ли число «5972» или текст «новый» из диапазона A1: E8 с помощью следующей формулы. Пожалуйста, сделайте следующее.
1. Выберите пустую ячейку для поиска результата. Введите формулу = ЕСЛИ (СЧЁТЕСЛИ (A1: E8; «новый»); «Да»; «Нет») в панель формул, а затем нажмите Enter .
Заметки:
1. В формуле A1: E8 — это диапазон, в котором вы хотите найти определенное число или значение.
2. «Новое» — это ценность, которую вы собираетесь найти. Вы можете изменить этот текст на число или другие значения по своему усмотрению.
3. Если в результате появится «Да», это означает, что число или значение существует в указанном диапазоне. А если отображается «Нет», это означает, что найденный номер или значение не находятся в этом диапазоне.
Определить, находится ли число или значение в диапазоне с Kutools for Excel
Помимо приведенной выше формулы, вы можете определить, находится ли число или значение в диапазоне с Выбрать определенные ячейки полезности Kutools for Excel.
1. Выберите диапазон, в котором вы хотите определить, находится ли число или значение, затем щелкните Кутулс > Выберите > Выбрать определенные ячейки.
2. в Выбрать определенные ячейки в диалоговом окне выберите Ячейка вариант в Тип выбора раздел, выберите Равно в Конкретный тип раскрывающийся список, затем введите число или значение, которое вы хотите найти в диапазоне, и, наконец, щелкните значок OK кнопка. Смотрите скриншот:
Если число или значение существует в указанном диапазоне, вы получите следующее диалоговое окно. Щелкните значок OK кнопка, то ячейка будет выбрана немедленно.
Но если число или значение не существует в указанном диапазоне, вы получите диалоговое окно, показанное ниже.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Статьи по теме:
- Как определить, находится ли дата между двумя датами или выходными в Excel?
- Как определить, прошла ли дата в Excel?
- Как определить / проверить дату выходного дня в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (0)
Оценок пока нет. Оцените первым!
Skip to content
В статье предлагается несколько различных формул для выполнения поиска в двумерном массиве значений Excel. Просмотрите эти варианты и выберите наиболее для вас подходящий.
При поиске данных в электронных таблицах Excel чаще всего вы будете искать вертикально в столбцах или горизонтально в строках. Но иногда вам нужно просматривать сразу два условия – как строки, так и столбцы. Другими словами, вы стремитесь найти значение на пересечении определенной строки и столбца. Это называется матричным поиском (также известным как двумерный или поиск в диапазоне). Далее показано, как это можно сделать различными способами.
- Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
- Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
- Функция ПРОСМОТРX для поиска в строках и столбцах
- Формула СУММПРОИЗВ для поиска по строке и столбцу
- Поиск в матрице с именованными диапазонами
Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
Самый популярный способ выполнить двусторонний поиск в Excel — использовать комбинацию ИНДЕКС с двумя ПОИСКПОЗ. Это разновидность классической формулы ПОИСКПОЗ ИНДЕКС , к которой вы добавляете еще одну функцию ПОИСКПОЗ, чтобы получить номера строк и столбцов:
ИНДЕКС( массив_данных ; ПОИСКПОЗ( значение_вертикальное ; диапазон_поиска_столбец ; 0), ПОИСКПОЗ( значение_горизонтальное ; диапазон_поиска_строка ; 0))
В этом способе, как и во всех остальных, мы используем поиск по двум условиям. Первое из них должно обнаружить совпадение в определенном столбце (в заголовках строк), а второе – в определенной строке (то есть, в заголовках столбцов). В результате мы имеем строку и столбец, которые соответствуют заданным условиям. А на пересечении их как раз и будут находиться искомые данные.
В качестве примера составим формулу для получения количества проданного товара за определённый период времени из таблицы, которую вы можете видеть ниже. Для начала определим все аргументы:
- Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
- Значение_вертикальное — H1 (целевой товар)
- Диапазон_поиска_столбец – A2:A11 (заголовки строк: названия напитков)
- Значение_горизонтальное — H2 (целевой период)
- Диапазон_поиска_строка — B1:E1 (заголовки столбцов: временные периоды)
Соедините все аргументы вместе, и вы получите следующую формулу для поиска числа в диапазоне:
=ИНДЕКС(B2:E11; ПОИСКПОЗ(H1;A2:A11;0); ПОИСКПОЗ(H2;B1:E1;0))
Как работает эта формула?
Хотя на первый взгляд это может показаться немного сложным, логика здесь простая. Функция ИНДЕКС извлекает значение из массива данных на основе номеров строк и столбцов, а две функции ПОИСКПОЗ предоставляют ей эти номера:
ИНДЕКС( B2:E11; номер_строки ; номер_столбца )
Здесь мы используем способность ПОИСКПОЗ возвращать относительную позицию значения в искомом массиве .
Итак, чтобы получить номер строки, мы ищем нужный нам товар (H1) в заголовках строк (A2:A11):
ПОИСКПОЗ(H1;A2:A11;0)
Чтобы получить номер столбца, мы ищем нужную нам неделю (H2) в заголовках столбцов (B1:E1):
ПОИСКПОЗ(H2;B1:E1;0)
В обоих случаях мы ищем точное совпадение, присваивая третьему аргументу значение 0.
В этом примере первое ПОИСКПОЗ возвращает 2, потому что нужный товар (Sprite) находится в ячейке A3, которая является второй по счёту в диапазоне A2:A11. Второй ПОИСКПОЗ возвращает 3, так как «Неделя 3» находится в ячейке D1, которая является третьей ячейкой в B1:E1.
С учетом вышеизложенного формула сводится к:
ИНДЕКС(B2:E11; 2 ; 3 )
Она возвращает число на пересечении второй строки и третьего столбца в матрице B2:E4, то есть в ячейке D3.
Думаю, вы понимаете, что аналогичным образом можно производить поиск в двумерном массиве Excel не только числа, но и текста. Тип данных здесь не имеет значения.
Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
Другой способ выполнить матричный поиск в Excel — использовать комбинацию функций ВПР и ПОИСКПОЗ:
ВПР( значение_вертикальное ; массив_данных ; ПОИСКПОЗ( значение_горизонтальное , диапазон_поиска_строка , 0), ЛОЖЬ)
Для нашего образца таблицы формула принимает следующий вид:
=ВПР(H1; A2:E11; ПОИСКПОЗ(H2;A1:E1;0); ЛОЖЬ)
Где:
- Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
- Значение_вертикальное — H1 (целевой товар)
- Значение_горизонтальное — H2 (целевой период)
- Диапазон_поиска_строка — А1:E1 (заголовки столбцов: временные периоды)
Основой формулы является функция ВПР, настроенная на точное совпадение (последний аргумент имеет значение ЛОЖЬ). Она ищет заданное значение (H1) в первом столбце массива (A2:E11) и возвращает данные из другого столбца в той же строке. Чтобы определить, из какого столбца вернуть значение, вы используете функцию ПОИСКПОЗ, которая также настроена на точное совпадение (последний аргумент равен 0):
ПОИСКПОЗ(H2;A1:E1;0)
ПОИСКПОЗ ищет текст из H2 в заголовках столбцов (A1:E1) и указывает относительное положение найденной ячейки. В нашем случае нужная неделя (3-я) находится в D1, которая является четвертой по счету в массиве поиска. Итак, число 4 идет в аргумент номер_столбца функции ВПР:
=ВПР(H1; A2:E11; 4; ЛОЖЬ)
Далее ВПР находит точное совпадение H1 со значением в A3 и возвращает значение из 4-го столбца в той же строке, то есть из ячейки D3.
Важное замечание! Чтобы формула работала корректно, диапазон_поиска (A2:E11) функции ВПР и диапазон_поиска (A1:E1) функции ПОИСКПОЗ должны иметь одинаковое количество столбцов. Иначе число, переданное в номер_столбца, будет неправильным (не будет соответствовать положению столбца в массиве данных).
Функция ПРОСМОТРX для поиска в строках и столбцах
Недавно Microsoft представила еще одну функцию в Excel, которая призвана заменить все существующие функции поиска, такие как ВПР, ГПР и ИНДЕКС+ПОИСКПОЗ. Помимо прочего, ПРОСМОТРX может смотреть на пересечение определенной строки и столбца:
ПРОСМОТРX( значение_вертикальное ; диапазон_поиска_столбец ; ПРОСМОТРX( значение_горизонтальное ; диапазон_поиска_строка ; массив_данных ))
Для нашего примера набора данных формула выглядит следующим образом:
=ПРОСМОТРX(H1; A2:A11; ПРОСМОТРX(H2; B1:E1; B2:E11))
Примечание. В настоящее время ПРОСМОТРX — это функция, доступная только подписчикам Office 365 и более поздних версий.
В формуле используется функция ПРОСМОТРX для возврата всей строки или столбца. Внутренняя функция ищет целевой период времени в строке заголовка и возвращает все значения для этой недели (в данном примере для 3-й). Эти значения переходят в аргумент возвращаемый_массив внешнего ПРОСМОТРX:
=ПРОСМОТРX(H1; A2:A11; {544:87:488:102:87:433:126:132:111:565})
Внешняя функция ПРОСМОТРX ищет нужный товар в заголовках столбцов и извлекает значение из той же позиции из возвращаемого_массива.
Формула СУММПРОИЗВ для поиска по строке и столбцу
Функция СУММПРОИЗВ чрезвычайно универсальна — она может делать множество вещей, выходящих за рамки ее предназначения, особенно когда речь идет об оценке нескольких условий.
Чтобы найти значение на пересечении определенных строки и столбца, используйте эту общую формулу:
СУММПРОИЗВ ( диапазон_поиска_столбец = значение_вертикальное ) * ( диапазон_поиска_строка = значение_горизонтальное), массив_данных )
Чтобы выполнить поиск данных в массиве по строке и столбцу в нашем наборе данных, формула выглядит следующим образом:
=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2); B2:E11)
Приведенный ниже вариант также будет работать:
=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2)*B2:E11)
Теперь поясним подробнее. В начале мы сравниваем два значения поиска с заголовками строк и столбцов (целевой товар в H1 со всеми наименованиями в A2: A11 и целевой период времени в H2 со всеми неделями в B1: E1):
(A2:A11=H1)*(B1:E1=H2)
Это дает нам два массива значений ИСТИНА и ЛОЖЬ, где ИСТИНА означает совпадения:
{ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ}) * ({ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ}
Операция умножения преобразует значения ИСТИНА и ЛОЖЬ в 1 и 0 и создает матрицу из 4 столбцов и 10 строк (строки разделяются двоеточием, а каждый столбец данных — точкой с запятой):
{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0}
Функция СУММПРОИЗВ умножает элементы приведенного выше массива на элементы B2:E4, находящихся в тех же позициях:
{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0; 0;0:0;0;0;0:0;0;0;0:0;0;0;0} * {455;345;544;366:65;77;87;56:766; 655;488;865:129;66;102;56:89;141;87;89:566;511;433;522:154; 144;126; 162:158;165;132;155:112;143;111; 125:677;466;565;766})
И поскольку умножение на ноль дает в результате ноль, остается только элемент, соответствующий 1 в первом массиве:
=СУММПРОИЗВ({0;0;0;0:0;0;87;0:0;0;0;0:0;0;0;0:0;0;0;0:0; 0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0})
Наконец, СУММПРОИЗВ складывает все элементы результирующего массива и возвращает значение 87.
Примечание . Если в вашей таблице несколько заголовков строк и/или столбцов с одинаковыми именами, итоговый массив будет содержать более одного числа, отличного от нуля. И все эти числа будут суммированы. В результате вы получите сумму значений, удовлетворяющую обоим критериям. Это то, что отличает формулу СУММПРОИЗВ от ПОИСКПОЗ и ВПР, которые возвращают только первое найденное совпадение.
Поиск в матрице с именованными диапазонами
Еще один достаточно простой способ поиска в массиве в Excel — использование именованных диапазонов. Рассмотрим пошагово:
Шаг 1. Назовите столбцы и строки
Самый быстрый способ назвать каждую строку и каждый столбец в вашей таблице:
- Выделите всю таблицу (в нашем случае A1:E11).
- На вкладке « Формулы » в группе « Определенные имена » щелкните « Создать из выделенного » или нажмите комбинацию клавиш Ctrl + Shift + F3.
- В диалоговом окне « Создание имени из выделенного » выберите « в строке выше » и « в столбце слева» и нажмите «ОК».
Это автоматически создает имена на основе заголовков строк и столбцов. Однако есть пара предостережений:
- Если ваши заголовки столбцов и/или строк являются числами или содержат определенные символы, которые не разрешены в именах Excel, то имена для таких столбцов и строк не будут созданы. Чтобы просмотреть список созданных имен, откройте Диспетчер имен (
Ctrl + F3
). Если некоторые имена отсутствуют, определите их вручную. - Если некоторые из ваших заголовков строк или столбцов содержат пробелы, то они будут заменены символами подчеркивания, например, Неделя_1.
Шаг 2. Создание формулы поиска по матрице
Чтобы получить значение из матрицы на пересечении определенной строки и столбца, просто введите одну из следующих общих формул в пустую ячейку:
=имя_строки имя_столбца
Или наоборот:
=имя_столбца имя_строки
Например, чтобы получить продажу Sprite в 3-й неделе, используйте выражение:
=Sprite неделя_3
То есть, имена диапазонов здесь разделены пробелом, который в данном случае является оператором пересечения массивов.
Если кому-то нужны более подробные инструкции, опишем весь процесс пошагово:
- В ячейке, в которой вы хотите отобразить результат, введите знак равенства (=).
- Начните вводить имя целевой строки, Sprite. После того, как вы введете пару символов, Excel отобразит все существующие имена, соответствующие вашему вводу. Дважды щелкните нужное имя, чтобы ввести его в формулу.
- После имени строки введите пробел , который в данном случае работает как оператор пересечения.
- Введите имя целевого столбца ( в нашем случае неделя_3 ).
- Как только будут введены имена строки и столбца, Excel выделит соответствующую строку и столбец в вашей таблице, и вы нажмете Enter, чтобы завершить ввод:
Ваш поиск нужной ячейки в массиве выполнен, найден результат 87.
Вот какими способами можно выполнять поиск в массиве значений – в строках и столбцах таблицы Excel. Я благодарю вас за чтение и надеюсь еще увидеть вас в нашем блоге.
Еще несколько материалов по теме:
Если число попадает в определенный диапазон, то подставить 9 |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |