Excel поиск позиции в массиве excel

Функция ПОИСКПОЗ

Совет: Попробуйте использовать новую функцию XMATCH , улучшенную версию функции MATCH, которая работает в любом направлении и по умолчанию возвращает точные совпадения, что упрощает и удобнее в использовании, чем предшественницу.

Функция ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне. Например, если диапазон A1:A3 содержит значения 5, 25 и 38, то формула =ПОИСКПОЗ(25;A1:A3;0) возвращает значение 2, поскольку элемент 25 является вторым в диапазоне.

Браузер не поддерживает видео.

Совет: Функцией ПОИСКПОЗ следует пользоваться вместо одной из функций ПРОСМОТР, когда требуется найти позицию элемента в диапазоне, а не сам элемент. Например, функцию ПОИСКПОЗ можно использовать для передачи значения аргумента номер_строки функции ИНДЕКС.

Синтаксис

ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])

Аргументы функции ПОИСКПОЗ описаны ниже.

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

    Аргумент искомое_значение может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, содержащую такое значение.

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

  • Тип_сопоставления.    Необязательный аргумент. Число -1, 0 или 1. Аргумент тип_сопоставления указывает, каким образом в Microsoft Excel искомое_значение сопоставляется со значениями в аргументе просматриваемый_массив. По умолчанию в качестве этого аргумента используется значение 1.

    В приведенной ниже таблице описано, как функция находит значения в зависимости от аргумента тип_сопоставления.

Тип_сопоставления

Поведение

1 или опущен

Функция ПОИСКПОЗ находит наибольшее значение, которое меньше или равно значению аргумента искомое_значение. Просматриваемый_массив должен быть упорядочен по возрастанию: …, -2, -1, 0, 1, 2, …, A-Z, ЛОЖЬ, ИСТИНА.

0

Функция ПОИСКПОЗ находит первое значение, равное аргументу искомое_значение. Просматриваемый_массив может быть не упорядочен.

-1

Функция ПОИСКПОЗ находит наименьшее значение, которое больше или равно значению аргумента искомое_значение. Просматриваемый_массив должен быть упорядочен по убыванию: ИСТИНА, ЛОЖЬ, Z — A, …, 2, 1, 0, -1, -2, … и т. д.

  • Функция ПОИСКПОЗ возвращает не само значение, а его позицию в аргументе просматриваемый_массив. Например, функция ПОИСКПОЗ(«б»;{«а»;»б»;»в«};0) возвращает 2 — относительную позицию буквы «б» в массиве {«а»;»б»;»в»}.

  • Функция ПОИСКПОЗ не различает регистры при сопоставлении текста.

  • Если функция ПОИСКПОЗ не находит соответствующего значения, возвращается значение ошибки #Н/Д.

  • Если тип_сопоставления равен 0 и искомое_значение является текстом, то искомое_значение может содержать подстановочные знаки: звездочку (*) и вопросительный знак (?). Звездочка соответствует любой последовательности знаков, вопросительный знак — любому одиночному знаку. Если нужно найти сам вопросительный знак или звездочку, перед ними следует ввести знак тильды (~).

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Продукт

Количество

Бананы

25

Апельсины

38

Яблоки

40

Груши

41

Формула

Описание

Результат

=ПОИСКПОЗ(39;B2:B5,1;0)

Так как точного соответствия нет, возвращается позиция ближайшего меньшего элемента (38) в диапазоне B2:B5.

2

=ПОИСКПОЗ(41;B2:B5;0)

Позиция значения 41 в диапазоне B2:B5

4

=ПОИСКПОЗ(40;B2:B5;-1)

Возвращает сообщение об ошибке, так как диапазон B2:B5 упорядочен не по убыванию.

#Н/Д

Нужна дополнительная помощь?

Skip to content

5 способов – поиск значения в массиве Excel

В статье предлагается несколько различных формул для выполнения поиска в двумерном массиве значений 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. Назовите столбцы и строки

Самый быстрый способ назвать каждую строку и каждый столбец в вашей таблице:

  1. Выделите всю таблицу (в нашем случае A1:E11).
  2. На вкладке « Формулы » в группе « Определенные имена » щелкните « Создать из выделенного » или нажмите комбинацию клавиш  Ctrl + Shift + F3.
  3. В диалоговом окне « Создание имени из выделенного » выберите « в строке выше » и « в столбце слева» и нажмите «ОК».

Это автоматически создает имена на основе заголовков строк и столбцов. Однако есть пара предостережений:

  • Если ваши заголовки столбцов и/или строк являются числами или содержат определенные символы, которые не разрешены в именах Excel, то имена для таких столбцов и строк не будут созданы. Чтобы просмотреть список созданных имен, откройте Диспетчер имен (Ctrl + F3). Если некоторые имена отсутствуют, определите их вручную.
  • Если некоторые из ваших заголовков строк или столбцов содержат пробелы, то они будут заменены символами подчеркивания, например, Неделя_1.

Шаг 2. Создание формулы поиска по матрице

Чтобы получить значение из матрицы на пересечении определенной строки и столбца, просто введите одну из следующих общих формул в пустую ячейку:

=имя_строки имя_столбца

Или наоборот:

=имя_столбца имя_строки

Например, чтобы получить продажу Sprite в 3-й неделе, используйте выражение:

=Sprite неделя_3

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

Если кому-то нужны более подробные инструкции, опишем весь процесс пошагово:

  1. В ячейке, в которой вы хотите отобразить результат, введите знак равенства (=).
  2. Начните вводить имя целевой строки, Sprite. После того, как вы введете пару символов, Excel отобразит все существующие имена, соответствующие вашему вводу. Дважды щелкните нужное имя, чтобы ввести его в формулу.
  3. После имени строки введите пробел , который в данном случае работает как оператор пересечения.
  4. Введите имя целевого столбца ( в нашем случае неделя_3 ).
  5. Как только будут введены имена строки и столбца, Excel выделит соответствующую строку и столбец в вашей таблице, и вы нажмете Enter, чтобы завершить ввод:

Ваш поиск нужной ячейки в массиве выполнен, найден результат 87.

Вот какими способами можно выполнять поиск в массиве значений – в строках и столбцах таблицы Excel. Я благодарю вас за чтение и надеюсь еще увидеть вас в нашем блоге.

Еще несколько материалов по теме:

Поиск ВПР нескольких значений по нескольким условиям В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке. При использовании Microsoft…
Поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям В статье показано, как выполнять быстрый поиск с несколькими условиями в Excel с помощью ИНДЕКС и ПОИСКПОЗ. Хотя Microsoft Excel предоставляет специальные функции для вертикального и горизонтального поиска, опытные пользователи…
ИНДЕКС ПОИСКПОЗ как лучшая альтернатива ВПР В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР. В нескольких недавних статьях мы приложили немало усилий, чтобы объяснить основы функции ВПР новичкам и предоставить…
Поиск в массиве при помощи ПОИСКПОЗ В этой статье объясняется с примерами формул, как использовать функцию ПОИСКПОЗ в Excel.  Также вы узнаете, как улучшить формулы поиска, создав динамическую формулу с функциями ВПР и ПОИСКПОЗ. В Microsoft…
Функция ИНДЕКС в Excel — 6 примеров использования В этом руководстве вы найдете ряд примеров формул, демонстрирующих наиболее эффективное использование ИНДЕКС в Excel. Из всех функций Excel, возможности которых часто недооцениваются и используются недостаточно, ИНДЕКС определенно занимает место…
Функция СУММПРОИЗВ с примерами формул В статье объясняются основные и расширенные способы использования функции СУММПРОИЗВ в Excel. Вы найдете ряд примеров формул для сравнения массивов, условного суммирования и подсчета ячеек по нескольким условиям, расчета средневзвешенного значения…
Средневзвешенное значение — формула в Excel В этом руководстве демонстрируются два простых способа вычисления средневзвешенного значения в Excel — с помощью функции СУММ (SUM) или СУММПРОИЗВ (SUMPRODUCT в английском варианте). В одной из предыдущих статей мы…

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

Синтаксис этой функции следующий:

=ПОИСКПОЗ(Что_ищем; Где_ищем; Режим_поиска)

где

  • Что_ищем — это значение, которое надо найти
  • Где_ищем — это одномерный диапазон или массив (строка или столбец), где производится поиск
  • Режим_поиска — как мы ищем: точно (0), с округлением в большую строну (-1) или в меньшую сторону (1)

Давайте рассмотрим несколько полезных вариантов ее применения на практике.

Точный поиск

Классический сценарий — поиск точного текстового совпадения для нахождения позиции нужного нам текста или числа в списке:

ПОИСКПОЗ в Excel

Поиск первой или последней текстовой ячейки

Если в качестве искомого значения задать звездочку, то функция будет искать первую ячейку с текстом и выдавать её позицию. Для поиска последней текстовой ячейки можно изменить третий аргумент Режим_поиска с нуля на минус 1:

Поиск первого или последнего текста

Числа и пустые ячейки в этом случае игнорируются.

Поиск ближайшего числа или даты

Если последний аргумент задать равным 1 или -1, то можно реализовать поиск ближайшего наименьшего или наибольшего числа. Таблица при этом обязательно должна быть отсортирована по возрастанию или убыванию соответственно. В общем и целом, это чем-то похоже на интервальный просмотр у функции ВПР (VLOOKUP), но там возможен только поиск ближайшего наименьшего, а здесь — есть выбор.

Например, нам нужно выбрать генератор из прайс-листа для расчетной мощности в 47 кВт. Если последний аргумент задать равным 1 и отсортировать таблицу по возрастанию, то мы найдем ближайшую наименьшую по мощности модель (Зверь):

ПОИСКПОЗ поиск ближайшего наименьшего числа

Если же третий аргумент равен -1 и таблица отсортирована по убыванию, то мы найдем ближайшую более мощную модель (Бомба):

ПОИСКПОЗ поиск ближайшего наибольшего

Связка функций ПОИСКПОЗ и ИНДЕКС

Очень часто функция ПОИСКПОЗ используется в связке с другой крайне полезной функцией — ИНДЕКС (INDEX), которая умеет извлекать данные из диапазона по номеру строки-столбца, реализуя, фактически, «левый ВПР».

Так, в предыдущем примере получить не номер, а название модели генератора можно очень легко:

ПОИСКПОЗ и ИНДЕКС

Ну, и поскольку Excel внутри хранит и обрабатывает даты как числа, то подобный подход на 100% работает и с датами. Например, мы можем легко определить на каком этапе сейчас находится наш проект:

ПОИСКПОЗ и даты

Принципиальное ограничение функции ПОИСКПОЗ состоит в том, что она умеет искать только в одномерных массивах (т.е. строчке или столбце), но никто не запрещает использовать сразу два ПОИСКПОЗа вложенных в ИНДЕКС, чтобы реализовать двумерный поиск по строке и столбцу одновременно:

Двумерный поиск с ПОИСКПОЗ и ИНДЕКС

Ссылки по теме

  • 5 вариантов применения функции ИНДЕКС (INDEX)
  • Интервальный просмотр с помощью функции ВПР (VLOOKUP)
  • Поиск последнего значения в строке или столбце
  • Как создать авторастягивающийся диапазон с автоподстройкой размеров

Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в Excel, которые делают их более привлекательными по сравнению с ВПР. Вы увидите несколько примеров формул, которые помогут Вам легко справиться со многими сложными задачами, перед которыми функция ВПР бессильна.

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

Зачем нам это? – спросите Вы. Да, потому что ВПР – это не единственная функция поиска в Excel, и её многочисленные ограничения могут помешать Вам получить желаемый результат во многих ситуациях. С другой стороны, функции ИНДЕКС и ПОИСКПОЗ – более гибкие и имеют ряд особенностей, которые делают их более привлекательными, по сравнению с ВПР.

ИНДЕКС и ПОИСКПОЗ в Excel

  • Базовая информация об ИНДЕКС и ПОИСКПОЗ
  • Используем функции ИНДЕКС и ПОИСКПОЗ в Excel
  • Преимущества ИНДЕКС и ПОИСКПОЗ перед ВПР
  • ИНДЕКС и ПОИСКПОЗ – примеры формул
    • Как находить значения, которые находятся слева
    • Вычисления при помощи ИНДЕКС и ПОИСКПОЗ
    • Поиск по известным строке и столбцу
    • Поиск по нескольким критериям
    • ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА

Содержание

  1. Базовая информация об ИНДЕКС и ПОИСКПОЗ
  2. ИНДЕКС – синтаксис и применение функции
  3. ПОИСКПОЗ – синтаксис и применение функции
  4. Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
  5. Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
  6. 4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
  7. ИНДЕКС и ПОИСКПОЗ – примеры формул
  8. Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
  9. Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
  10. О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
  11. Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
  12. Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
  13. ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel

Базовая информация об ИНДЕКС и ПОИСКПОЗ

Так как задача этого учебника – показать возможности функций ИНДЕКС и ПОИСКПОЗ для реализации вертикального поиска в Excel, мы не будем задерживаться на их синтаксисе и применении.

Приведём здесь необходимый минимум для понимания сути, а затем разберём подробно примеры формул, которые показывают преимущества использования ИНДЕКС и ПОИСКПОЗ вместо ВПР.

ИНДЕКС – синтаксис и применение функции

Функция INDEX (ИНДЕКС) в Excel возвращает значение из массива по заданным номерам строки и столбца. Функция имеет вот такой синтаксис:

INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])

Каждый аргумент имеет очень простое объяснение:

  • array (массив) – это диапазон ячеек, из которого необходимо извлечь значение.
  • row_num (номер_строки) – это номер строки в массиве, из которой нужно извлечь значение. Если не указан, то обязательно требуется аргумент column_num (номер_столбца).
  • column_num (номер_столбца) – это номер столбца в массиве, из которого нужно извлечь значение. Если не указан, то обязательно требуется аргумент row_num (номер_строки)

Если указаны оба аргумента, то функция ИНДЕКС возвращает значение из ячейки, находящейся на пересечении указанных строки и столбца.

Вот простейший пример функции INDEX (ИНДЕКС):

=INDEX(A1:C10,2,3)
=ИНДЕКС(A1:C10;2;3)

Формула выполняет поиск в диапазоне A1:C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, то есть из ячейки C2.

Очень просто, правда? Однако, на практике Вы далеко не всегда знаете, какие строка и столбец Вам нужны, и поэтому требуется помощь функции ПОИСКПОЗ.

ПОИСКПОЗ – синтаксис и применение функции

Функция MATCH (ПОИСКПОЗ) в Excel ищет указанное значение в диапазоне ячеек и возвращает относительную позицию этого значения в диапазоне.

Например, если в диапазоне B1:B3 содержатся значения New-York, Paris, London, тогда следующая формула возвратит цифру 3, поскольку «London» – это третий элемент в списке.

=MATCH("London",B1:B3,0)
=ПОИСКПОЗ("London";B1:B3;0)

Функция MATCH (ПОИСКПОЗ) имеет вот такой синтаксис:

MATCH(lookup_value,lookup_array,[match_type])
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])

  • lookup_value (искомое_значение) – это число или текст, который Вы ищите. Аргумент может быть значением, в том числе логическим, или ссылкой на ячейку.
  • lookup_array (просматриваемый_массив) – диапазон ячеек, в котором происходит поиск.
  • match_type (тип_сопоставления) – этот аргумент сообщает функции ПОИСКПОЗ, хотите ли Вы найти точное или приблизительное совпадение:
    • 1 или не указан – находит максимальное значение, меньшее или равное искомому. Просматриваемый массив должен быть упорядочен по возрастанию, то есть от меньшего к большему.
    • 0 – находит первое значение, равное искомому. Для комбинации ИНДЕКС/ПОИСКПОЗ всегда нужно точное совпадение, поэтому третий аргумент функции ПОИСКПОЗ должен быть равен 0.
    • -1 – находит наименьшее значение, большее или равное искомому значению. Просматриваемый массив должен быть упорядочен по убыванию, то есть от большего к меньшему.

На первый взгляд, польза от функции ПОИСКПОЗ вызывает сомнение. Кому нужно знать положение элемента в диапазоне? Мы хотим знать значение этого элемента!

Позвольте напомнить, что относительное положение искомого значения (т.е. номер строки и/или столбца) – это как раз то, что мы должны указать для аргументов row_num (номер_строки) и/или column_num (номер_столбца) функции INDEX (ИНДЕКС). Как Вы помните, функция ИНДЕКС может возвратить значение, находящееся на пересечении заданных строки и столбца, но она не может определить, какие именно строка и столбец нас интересуют.

Как использовать ИНДЕКС и ПОИСКПОЗ в Excel

Теперь, когда Вам известна базовая информация об этих двух функциях, полагаю, что уже становится понятно, как функции ПОИСКПОЗ и ИНДЕКС могут работать вместе. ПОИСКПОЗ определяет относительную позицию искомого значения в заданном диапазоне ячеек, а ИНДЕКС использует это число (или числа) и возвращает результат из соответствующей ячейки.

Ещё не совсем понятно? Представьте функции ИНДЕКС и ПОИСКПОЗ в таком виде:

=INDEX(столбец из которого извлекаем,(MATCH (искомое значение,столбец в котором ищем,0))
=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое значение;столбец в котором ищем;0))

Думаю, ещё проще будет понять на примере. Предположим, у Вас есть вот такой список столиц государств:

ИНДЕКС и ПОИСКПОЗ в Excel

Давайте найдём население одной из столиц, например, Японии, используя следующую формулу:

=INDEX($D$2:$D$10,MATCH("Japan",$B$2:$B$10,0))
=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ("Japan";$B$2:$B$10;0))

Теперь давайте разберем, что делает каждый элемент этой формулы:

  • Функция MATCH (ПОИСКПОЗ) ищет значение «Japan» в столбце B, а конкретно – в ячейках B2:B10, и возвращает число 3, поскольку «Japan» в списке на третьем месте.
  • Функция INDEX (ИНДЕКС) использует 3 для аргумента row_num (номер_строки), который указывает из какой строки нужно возвратить значение. Т.е. получается простая формула:

    =INDEX($D$2:$D$10,3)
    =ИНДЕКС($D$2:$D$10;3)

    Формула говорит примерно следующее: ищи в ячейках от D2 до D10 и извлеки значение из третьей строки, то есть из ячейки D4, так как счёт начинается со второй строки.

Вот такой результат получится в Excel:

ИНДЕКС и ПОИСКПОЗ в Excel

Важно! Количество строк и столбцов в массиве, который использует функция INDEX (ИНДЕКС), должно соответствовать значениям аргументов row_num (номер_строки) и column_num (номер_столбца) функции MATCH (ПОИСКПОЗ). Иначе результат формулы будет ошибочным.

Стоп, стоп… почему мы не можем просто использовать функцию VLOOKUP (ВПР)? Есть ли смысл тратить время, пытаясь разобраться в лабиринтах ПОИСКПОЗ и ИНДЕКС?

=VLOOKUP("Japan",$B$2:$D$2,3)
=ВПР("Japan";$B$2:$D$2;3)

В данном случае – смысла нет! Цель этого примера – исключительно демонстрационная, чтобы Вы могли понять, как функции ПОИСКПОЗ и ИНДЕКС работают в паре. Последующие примеры покажут Вам истинную мощь связки ИНДЕКС и ПОИСКПОЗ, которая легко справляется с многими сложными ситуациями, когда ВПР оказывается в тупике.

Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?

Решая, какую формулу использовать для вертикального поиска, большинство гуру Excel считают, что ИНДЕКС/ПОИСКПОЗ намного лучше, чем ВПР. Однако, многие пользователи Excel по-прежнему прибегают к использованию ВПР, т.к. эта функция гораздо проще. Так происходит, потому что очень немногие люди до конца понимают все преимущества перехода с ВПР на связку ИНДЕКС и ПОИСКПОЗ, а тратить время на изучение более сложной формулы никто не хочет.

Далее я попробую изложить главные преимущества использования ПОИСКПОЗ и ИНДЕКС в Excel, а Вы решите – остаться с ВПР или переключиться на ИНДЕКС/ПОИСКПОЗ.

4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:

1. Поиск справа налево. Как известно любому грамотному пользователю Excel, ВПР не может смотреть влево, а это значит, что искомое значение должно обязательно находиться в крайнем левом столбце исследуемого диапазона. В случае с ПОИСКПОЗ/ИНДЕКС, столбец поиска может быть, как в левой, так и в правой части диапазона поиска. Пример: Как находить значения, которые находятся слева покажет эту возможность в действии.

2. Безопасное добавление или удаление столбцов. Формулы с функцией ВПР перестают работать или возвращают ошибочные значения, если удалить или добавить столбец в таблицу поиска. Для функции ВПР любой вставленный или удалённый столбец изменит результат формулы, поскольку синтаксис ВПР требует указывать весь диапазон и конкретный номер столбца, из которого нужно извлечь данные.

Например, если у Вас есть таблица A1:C10, и требуется извлечь данные из столбца B, то нужно задать значение 2 для аргумента col_index_num (номер_столбца) функции ВПР, вот так:

=VLOOKUP("lookup value",A1:C10,2)
=ВПР("lookup value";A1:C10;2)

Если позднее Вы вставите новый столбец между столбцами A и B, то значение аргумента придется изменить с 2 на 3, иначе формула возвратит результат из только что вставленного столбца.

Используя ПОИСКПОЗ/ИНДЕКС, Вы можете удалять или добавлять столбцы к исследуемому диапазону, не искажая результат, так как определен непосредственно столбец, содержащий нужное значение. Действительно, это большое преимущество, особенно когда работать приходится с большими объёмами данных. Вы можете добавлять и удалять столбцы, не беспокоясь о том, что нужно будет исправлять каждую используемую функцию ВПР.

3. Нет ограничения на размер искомого значения. Используя ВПР, помните об ограничении на длину искомого значения в 255 символов, иначе рискуете получить ошибку #VALUE! (#ЗНАЧ!). Итак, если таблица содержит длинные строки, единственное действующее решение – это использовать ИНДЕКС/ПОИСКПОЗ.

Предположим, Вы используете вот такую формулу с ВПР, которая ищет в ячейках от B5 до D10 значение, указанное в ячейке A2:

=VLOOKUP(A2,B5:D10,3,FALSE)
=ВПР(A2;B5:D10;3;ЛОЖЬ)

Формула не будет работать, если значение в ячейке A2 длиннее 255 символов. Вместо неё Вам нужно использовать аналогичную формулу ИНДЕКС/ПОИСКПОЗ:

=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))

4. Более высокая скорость работы. Если Вы работаете с небольшими таблицами, то разница в быстродействии Excel будет, скорее всего, не заметная, особенно в последних версиях. Если же Вы работаете с большими таблицами, которые содержат тысячи строк и сотни формул поиска, Excel будет работать значительно быстрее, при использовании ПОИСКПОЗ и ИНДЕКС вместо ВПР. В целом, такая замена увеличивает скорость работы Excel на 13%.

Влияние ВПР на производительность Excel особенно заметно, если рабочая книга содержит сотни сложных формул массива, таких как ВПР+СУММ. Дело в том, что проверка каждого значения в массиве требует отдельного вызова функции ВПР. Поэтому, чем больше значений содержит массив и чем больше формул массива содержит Ваша таблица, тем медленнее работает Excel.

С другой стороны, формула с функциями ПОИСКПОЗ и ИНДЕКС просто совершает поиск и возвращает результат, выполняя аналогичную работу заметно быстрее.

ИНДЕКС и ПОИСКПОЗ – примеры формул

Теперь, когда Вы понимаете причины, из-за которых стоит изучать функции ПОИСКПОЗ и ИНДЕКС, давайте перейдём к самому интересному и увидим, как можно применить теоретические знания на практике.

Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС

Любой учебник по ВПР твердит, что эта функция не может смотреть влево. Т.е. если просматриваемый столбец не является крайним левым в диапазоне поиска, то нет шансов получить от ВПР желаемый результат.

Функции ПОИСКПОЗ и ИНДЕКС в Excel гораздо более гибкие, и им все-равно, где находится столбец со значением, которое нужно извлечь. Для примера, снова вернёмся к таблице со столицами государств и населением. На этот раз запишем формулу ПОИСКПОЗ/ИНДЕКС, которая покажет, какое место по населению занимает столица России (Москва).

Как видно на рисунке ниже, формула отлично справляется с этой задачей:

=INDEX($A$2:$A$10,MATCH("Russia",$B$2:$B$10,0))
=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0))

ИНДЕКС и ПОИСКПОЗ в Excel

Теперь у Вас не должно возникать проблем с пониманием, как работает эта формула:

  • Во-первых, задействуем функцию MATCH (ПОИСКПОЗ), которая находит положение «Russia» в списке:

    =MATCH("Russia",$B$2:$B$10,0))
    =ПОИСКПОЗ("Russia";$B$2:$B$10;0))

  • Далее, задаём диапазон для функции INDEX (ИНДЕКС), из которого нужно извлечь значение. В нашем случае это A2:A10.
  • Затем соединяем обе части и получаем формулу:

    =INDEX($A$2:$A$10;MATCH("Russia";$B$2:$B$10;0))
    =ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0))

Подсказка: Правильным решением будет всегда использовать абсолютные ссылки для ИНДЕКС и ПОИСКПОЗ, чтобы диапазоны поиска не сбились при копировании формулы в другие ячейки.

Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)

Вы можете вкладывать другие функции Excel в ИНДЕКС и ПОИСКПОЗ, например, чтобы найти минимальное, максимальное или ближайшее к среднему значение. Вот несколько вариантов формул, применительно к таблице из предыдущего примера:

1. MAX (МАКС). Формула находит максимум в столбце D и возвращает значение из столбца C той же строки:

=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))

Результат: Beijing

2. MIN (МИН). Формула находит минимум в столбце D и возвращает значение из столбца C той же строки:

=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))

Результат: Lima

3. AVERAGE (СРЗНАЧ). Формула вычисляет среднее в диапазоне D2:D10, затем находит ближайшее к нему и возвращает значение из столбца C той же строки:

=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))

Результат: Moscow

О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ

Используя функцию СРЗНАЧ в комбинации с ИНДЕКС и ПОИСКПОЗ, в качестве третьего аргумента функции ПОИСКПОЗ чаще всего нужно будет указывать 1 или -1 в случае, если Вы не уверены, что просматриваемый диапазон содержит значение, равное среднему. Если же Вы уверены, что такое значение есть, – ставьте 0 для поиска точного совпадения.

  • Если указываете 1, значения в столбце поиска должны быть упорядочены по возрастанию, а формула вернёт максимальное значение, меньшее или равное среднему.
  • Если указываете -1, значения в столбце поиска должны быть упорядочены по убыванию, а возвращено будет минимальное значение, большее или равное среднему.

В нашем примере значения в столбце D упорядочены по возрастанию, поэтому мы используем тип сопоставления 1. Формула ИНДЕКС/ПОИСКПОЗ возвращает «Moscow», поскольку величина населения города Москва – ближайшее меньшее к среднему значению (12 269 006).

ИНДЕКС и ПОИСКПОЗ в Excel

Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу

Эта формула эквивалентна двумерному поиску ВПР и позволяет найти значение на пересечении определённой строки и столбца.

В этом примере формула ИНДЕКС/ПОИСКПОЗ будет очень похожа на формулы, которые мы уже обсуждали в этом уроке, с одним лишь отличием. Угадайте каким?

Как Вы помните, синтаксис функции INDEX (ИНДЕКС) позволяет использовать три аргумента:

INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])

И я поздравляю тех из Вас, кто догадался!

Начнём с того, что запишем шаблон формулы. Для этого возьмём уже знакомую нам формулу ИНДЕКС/ПОИСКПОЗ и добавим в неё ещё одну функцию ПОИСКПОЗ, которая будет возвращать номер столбца.

=INDEX(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))

Обратите внимание, что для двумерного поиска нужно указать всю таблицу в аргументе array (массив) функции INDEX (ИНДЕКС).

А теперь давайте испытаем этот шаблон на практике. Ниже Вы видите список самых населённых стран мира. Предположим, наша задача узнать население США в 2015 году.

ИНДЕКС и ПОИСКПОЗ в Excel

Хорошо, давайте запишем формулу. Когда мне нужно создать сложную формулу в Excel с вложенными функциями, то я сначала каждую вложенную записываю отдельно.

Итак, начнём с двух функций ПОИСКПОЗ, которые будут возвращать номера строки и столбца для функции ИНДЕКС:

  • ПОИСКПОЗ для столбца – мы ищем в столбце B, а точнее в диапазоне B2:B11, значение, которое указано в ячейке H2 (USA). Функция будет выглядеть так:

    =MATCH($H$2,$B$1:$B$11,0)
    =ПОИСКПОЗ($H$2;$B$1:$B$11;0)

    Результатом этой формулы будет 4, поскольку «USA» – это 4-ый элемент списка в столбце B (включая заголовок).

  • ПОИСКПОЗ для строки – мы ищем значение ячейки H3 (2015) в строке 1, то есть в ячейках A1:E1:

    =MATCH($H$3,$A$1:$E$1,0)
    =ПОИСКПОЗ($H$3;$A$1:$E$1;0)

    Результатом этой формулы будет 5, поскольку «2015» находится в 5-ом столбце.

Теперь вставляем эти формулы в функцию ИНДЕКС и вуаля:

=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))
=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))

Если заменить функции ПОИСКПОЗ на значения, которые они возвращают, формула станет легкой и понятной:

=INDEX($A$1:$E$11,4,5))
=ИНДЕКС($A$1:$E$11;4;5))

Эта формула возвращает значение на пересечении 4-ой строки и 5-го столбца в диапазоне A1:E11, то есть значение ячейки E4. Просто? Да!

ИНДЕКС и ПОИСКПОЗ в Excel

Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ

В учебнике по ВПР мы показывали пример формулы с функцией ВПР для поиска по нескольким критериям. Однако, существенным ограничением такого решения была необходимость добавлять вспомогательный столбец. Хорошая новость: формула ИНДЕКС/ПОИСКПОЗ может искать по значениям в двух столбцах, без необходимости создания вспомогательного столбца!

Предположим, у нас есть список заказов, и мы хотим найти сумму по двум критериям – имя покупателя (Customer) и продукт (Product). Дело усложняется тем, что один покупатель может купить сразу несколько разных продуктов, и имена покупателей в таблице на листе Lookup table расположены в произвольном порядке.

ИНДЕКС и ПОИСКПОЗ в Excel

Вот такая формула ИНДЕКС/ПОИСКПОЗ решает задачу:

{=INDEX('Lookup table'!$A$2:$C$13,MATCH(1,(A2='Lookup table'!$A$2:$A$13)*
(B2='Lookup table'!$B$2:$B$13),0),3)}

{=ИНДЕКС('Lookup table'!$A$2:$C$13;ПОИСКПОЗ(1;(A2='Lookup table'!$A$2:$A$13)*
(B2='Lookup table'!$B$2:$B$13);0);3)}

Эта формула сложнее других, которые мы обсуждали ранее, но вооруженные знанием функций ИНДЕКС и ПОИСКПОЗ Вы одолеете ее. Самая сложная часть – это функция ПОИСКПОЗ, думаю, её нужно объяснить первой.

MATCH(1,(A2='Lookup table'!$A$2:$A$13),0)*(B2='Lookup table'!$B$2:$B$13)
ПОИСКПОЗ(1;(A2='Lookup table'!$A$2:$A$13);0)*(B2='Lookup table'!$B$2:$B$13)

В формуле, показанной выше, искомое значение – это 1, а массив поиска – это результат умножения. Хорошо, что же мы должны перемножить и почему? Давайте разберем все по порядку:

  • Берем первое значение в столбце A (Customer) на листе Main table и сравниваем его со всеми именами покупателей в таблице на листе Lookup table (A2:A13).
  • Если совпадение найдено, уравнение возвращает 1 (ИСТИНА), а если нет – 0 (ЛОЖЬ).
  • Далее, мы делаем то же самое для значений столбца B (Product).
  • Затем перемножаем полученные результаты (1 и 0). Только если совпадения найдены в обоих столбцах (т.е. оба критерия истинны), Вы получите 1. Если оба критерия ложны, или выполняется только один из них – Вы получите 0.

Теперь понимаете, почему мы задали 1, как искомое значение? Правильно, чтобы функция ПОИСКПОЗ возвращала позицию только, когда оба критерия выполняются.

Обратите внимание: В этом случае необходимо использовать третий не обязательный аргумент функции ИНДЕКС. Он необходим, т.к. в первом аргументе мы задаем всю таблицу и должны указать функции, из какого столбца нужно извлечь значение. В нашем случае это столбец C (Sum), и поэтому мы ввели 3.

И, наконец, т.к. нам нужно проверить каждую ячейку в массиве, эта формула должна быть формулой массива. Вы можете видеть это по фигурным скобкам, в которые она заключена. Поэтому, когда закончите вводить формулу, не забудьте нажать Ctrl+Shift+Enter.

Если всё сделано верно, Вы получите результат как на рисунке ниже:

ИНДЕКС и ПОИСКПОЗ в Excel

ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel

Как Вы, вероятно, уже заметили (и не раз), если вводить некорректное значение, например, которого нет в просматриваемом массиве, формула ИНДЕКС/ПОИСКПОЗ сообщает об ошибке #N/A (#Н/Д) или #VALUE! (#ЗНАЧ!). Если Вы хотите заменить такое сообщение на что-то более понятное, то можете вставить формулу с ИНДЕКС и ПОИСКПОЗ в функцию ЕСЛИОШИБКА.

Синтаксис функции ЕСЛИОШИБКА очень прост:

IFERROR(value,value_if_error)
ЕСЛИОШИБКА(значение;значение_если_ошибка)

Где аргумент value (значение) – это значение, проверяемое на предмет наличия ошибки (в нашем случае – результат формулы ИНДЕКС/ПОИСКПОЗ); а аргумент value_if_error (значение_если_ошибка) – это значение, которое нужно возвратить, если формула выдаст ошибку.

Например, Вы можете вставить формулу из предыдущего примера в функцию ЕСЛИОШИБКА вот таким образом:

=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),
"Совпадений не найдено. Попробуйте еще раз!")
=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));
"Совпадений не найдено. Попробуйте еще раз!")

И теперь, если кто-нибудь введет ошибочное значение, формула выдаст вот такой результат:

ИНДЕКС и ПОИСКПОЗ в Excel

Если Вы предпочитаете в случае ошибки оставить ячейку пустой, то можете использовать кавычки («»), как значение второго аргумента функции ЕСЛИОШИБКА. Вот так:

IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),"")
ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);"")

Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.

Оцените качество статьи. Нам важно ваше мнение:

Функция ПОИСКПОЗ() в MS EXCEL

​Смотрите также​Acya96​1 – Поиск наибольшего​ массив. Функция ЕНД​ быть представлены как​​ аргументов и выполнения​​ внутри хранит и​ диапазон или массив​О том, как спользовать​), т.е. получить на​ чтобы столбец, по​В области​​ столбец, из которого​​ по горизонтали по​)​ поиск по шаблону,​ функция ПОИСКПОЗ() находит​​Функция ПОИСКПОЗ(), английский вариант​​: Всем доброй ночи!​​ ближайшего значения заданному​​ возвратит значение ЛОЖЬ,​ массивы элементов «ключ»​ функции в массиве.​ обрабатывает даты как​

​ (строка или столбец),​ связку функций​ выходе​ которому производится поиск,​Доступные надстройки​ возвращается значение. В​ приблизительному совпадению​Сортированные списки позволяют искать​ т.е. искомое_значение может​ первое значение, которое​ MATCH(), возвращает позицию​Задали задачку, никак​ первым аргументом в​ если она не​ — «значение», функция​ Для этого:​ числа, то подобный​ где производится поиск​

Синтаксис функции

​ИНДЕКС (INDEX)​​152​

​ был левее столбца,​​установите флажок рядом​ этом примере значение​Создание формулы подстановки с​​ не только точные​​ содержать знаки шаблона:​ в​ значения в диапазоне​ не могу сообразить,​ упорядоченном по возрастанию​ принимает значение ошибки​ ПОИСКПОЗ возвращает значение​

​В ячейку B16 введите​​ подход на 100%​Режим_поиска​и​​, но автоматически, т.е.​​ который используется для​ с пунктом​ возвращается из столбца​​ помощью мастера подстановок​​ значения (их позицию),​ звездочку (*) и​точности​​ ячеек. Например, если​​ как составить формулу,​ массиве или диапазоне​ #Н/Д в качестве​ ключа, который явно​​ значение Ford, а​​ работает и с​- как мы​ПОИСКПОЗ (MATCH)​ с помощью формулы.​

​ вывода. Обойти это​​Мастер подстановок​ D​​ (только Excel 2007)​​ но и позицию​ знак вопроса (?).​​равно аргументу​​ в ячейке​ используя ИНДЕКС и​​ ячеек.​

  • ​ аргумента. В этом​​ не указан.​​ в ячейку C16​ датами. Например, мы​ ищем: точно (0),​в качестве более​​ ВПР в чистом​​ ограничение позволяет, например,​​и нажмите кнопку​​Продажи​Для решения этой задачи​
  • ​ ближайшего значения. Например,​ Звездочка соответствует любой​искомое_значениеПросматриваемый_массив​А10​ ПОИСКПОЗ, если даны​​Примечания:​​ случае функция ЕСЛИ​Например, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит​ название интересующего нас​ можем легко определить​ с округлением в​ мощной альтернативы ВПР​​ виде тут не​​ вариант с использованием​ОК​.​
  • ​ можно использовать функцию​​ в списке на​​ последовательности знаков, знак​может быть не​содержится значение «яблоки»,​ 4 условия. При​Если в качестве аргумента​​ вернет текстовую строку​​ элементы, которые можно​ отдела – Маркетинговый.​ на каком этапе​ большую строну (-1)​ я уже подробно​ поможет, но есть​

​ функций ИНДЕКС() и​.​К началу страницы​

​ ВПР или сочетание​ картинке ниже нет​ вопроса соответствует любому​ упорядочен.​

Поиск позиции в массивах с текстовыми значениями

​ то формула =ПОИСКПОЗ​ этом в ответе​ искомое_значение была передана​​ «есть», иначе –​​ представить как: 1​

​В ячейку C17 введите​ сейчас находится наш​ или в меньшую​

​ описывал (с видео).​ несколько других способов​

​ ПОИСКПОЗ(). Эквивалентная формула​Следуйте инструкциям мастера.​Для выполнения этой задачи​ функций ИНДЕКС и​ значения 45, но​ одиночному знаку.​

​Если тип_сопоставления равен 1,​ («яблоки»;A9:A20;0) вернет 2,​ должна быть фраза​ текстовая строка, функция​ «нет».​

​ – «виноград», 2​ функцию со следующими​ проект:​ сторону (1)​ В нашем же​ решить эту задачу.​ приведена в статье​К началу страницы​​ используется функция ГПР.​​ ПОИСКПОЗ.​

​ можно найти позицию​Предположим, что имеется перечень​ то функция ПОИСКПОЗ()​ т.е. искомое значение​

Поиск позиции в массиве констант

​ «есть/нет». Если просто​ ПОИСКПОЗ вернет позицию​Чтобы вычислить остальные значения​ – «яблоко», 3​ аргументами:​Принципиальное ограничение функции​Давайте рассмотрим несколько полезных​

Поиск позиции с использованием подстановочных знаков

​ случае, можно применить​Это самый очевидный и​ о функции ВПР().​Для нахождения позиции значения​ См. пример ниже.​Дополнительные сведения см. в​ наибольшего значения, которое​ товаров и мы​ находит наибольшее значение,​ «яблоки» содержится во​ вписывать в формулу​ элемента в массиве​ «протянем» формулу из​

​ – «груша», 4​После ввода для подтверждения​ПОИСКПОЗ​ вариантов ее применения​ их для поиска​ простой (хотя и​Задача подразумевает, что диапазон​

​ в столбце, с​Функция ГПР выполняет поиск​ разделе, посвященном функции​ меньше либо равно,​ не знаем точно​ которое меньше либо​ второй ячейке диапазона​

​ всю таблицу, а​ (если такой существует)​ ячейки C2 вниз​ – «слива», где​​ функции нажмите комбинацию​​состоит в том,​ на практике.​

Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию

​ по нескольким столбцам​ не самый удобный)​ поиска содержит неповторяющиеся​ последующим выводом соответствующего​ по столбцу​ ВПР.​

​ чем искомое значение,​ как записана товарная​​ равно, чем​​A9:A20А9​ потом в поискпоз​

​ без учета регистра​ для использования функции​ 1, 2, 3,​ горячих клавиш CTRL+SHIFT+Enter,​

​ что она умеет​

​Классический сценарий — поиск​ в виде формулы​ способ. Поскольку штатная​ значения. В самом​ значения из соседнего​Продажи​Что означает:​​ т.е. позицию значения​​ позиция относящаяся к​искомое_значениеПросматриваемый_массив​- первая ячейка​ забивать условия -​ символов. Например, строки​ автозаполнения. В результате​

​ 4 – ключи,​ так как она​

​ искать только в​

​ точного текстового совпадения​ массива. Для этого:​ функция​ деле, если критерию​ столбца в EXCEL,​

Поиск позиции в массивах с Числами

​и возвращает значение​=ИНДЕКС(нужно вернуть значение из​ 40.​ яблокам: яблоки или​​должен быть упорядочен​​ (предполагается, что в​

​ получается полная фигня.​ «МоСкВа» и «москва»​ получим:​

​ а названия фруктов​ должна выполнятся в​ одномерных массивах (т.е.​

​ для нахождения позиции​​Выделите пустую зеленую ячейку,​​ВПР (VLOOKUP)​ удовлетворяет сразу несколько​ существует специальная функция​ из строки 5 в​

​ C2:C10, которое будет​Это можно сделать с​ яблоко.​ по возрастанию: …,​​ ней не содержится​​ И не проще​

​ являются равнозначными. Для​Как видно, третьи элементы​ – значения. Тогда​ массиве. Если все​ строчке или столбце),​ нужного нам текста​ где должен быть​умеет искать только​ значений, то из​ ВПР(), но для​ указанном диапазоне.​ соответствовать ПОИСКПОЗ(первое значение​ помощью формулы =ПОИСКПОЗ(45;B31:B37;1)​В качестве критерия можно​

​ -2, -1, 0,​ значение «яблоки»),​

​ ли в ВПР​ различения регистров можно​ списков не совпадают.​

​ функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет​ сделано правильно в​ но никто не​ или числа в​ результат.​ по одному столбцу,​ какой строки выводить​ ее решения можно​Дополнительные сведения см. в​ «Капуста» в массиве​

Функции ПОИСКПОЗ() и ИНДЕКС()

​Обратите внимание, что тип​ задать»яблок*» и формула​ 1, 2, …,​А10​ просто сделать? В​ дополнительно использовать функцию​Пример 3. Найти ближайшее​ значение 2, являющееся​

​ строке формул появятся​ запрещает использовать сразу​ списке:​Введите в строке формул​

​ а не по​

​ соответствующее ему значение​ использовать также и​ разделе, посвященном функции​ B2:B10))​

​ сопоставления =1 (третий​ =ПОИСКПОЗ(«яблок*»;B53:B62;0) вернет позицию​ A-Z, ЛОЖЬ, ИСТИНА.​- вторая,​

​ самом файле есть​ СОВПАД.​ меньшее числу 22​ ключом второго элемента.​ фигурные скобки.​ два​

excel2.ru

Поиск значений в списке данных

​Если в качестве искомого​ в нее следующую​ нескольким, то нам​ из соседнего столбца?​ другие функции. Рассмотрим​ ГПР.​Формула ищет в C2:C10​ аргумент функции).​ текстового значения, начинающегося​ Если​А11​ и основная таблица​Если поиск с использованием​ в диапазоне чисел,​ Отсчет выполняется не​Как видно функция самостоятельно​ПОИСКПОЗ​ значения задать звездочку,​ формулу:​ нужно из нескольких​

В этой статье

​ Если все же​ задачу в случае​К началу страницы​

​ первое значение, соответствующее​3. Поиск позиции в​ со слова яблок​

​тип_сопоставления​- третья и​ и, собственно, условия,​ рассматриваемой функции не​

​ хранящихся в столбце​ с 0 (нуля),​ справилась с решением​

​а вложенных в​ то функция будет​Нажмите в конце не​

​ сделать один!​ диапазон поиска содержит​ текстовых значений.​

Поиск значений в списке по вертикали по точному совпадению

​Для выполнения этой задачи​ значению​ списке отсортированном по​ (если она есть​опущен, то предполагается,​

Примеры функции ВПР

Пример 1 функции ВПР

Пример 2 функции ВПР

​ т.д. (подсчет позиции​ которым нужно следовать.​ дал результатов, будет​

Примеры функций ИНДЕКС и ПОИСКПОЗ

Функции ИНДЕКС и ПОИСКПОЗ можно использовать вместо функции ВПР

​ таблицы Excel.​

​ как это реализовано​ поставленной задачи.​ИНДЕКС​ искать первую ячейку​ Enter, а сочетание​

​Добавим рядом с нашей​ повторяющиеся значения, то​Пусть в диапазоне​​ используется функция ГПР.​​Капуста​ убыванию выполняется аналогично,​ в списке).​​ что он равен​​ производится от верхней​

​Спасибо за любую​ возвращен код ошибки​Вид исходной таблицы данных:​

​ во многих языках​

Поиск значений в списке по вертикали по приблизительному совпадению

​​, чтобы реализовать двумерный​

​ с текстом и​​Ctrl+Shift+Enter​ таблицей еще один​ второй столбец из​

Пример формулы ВПР для поиска неточного совпадения

​А4:В15​Важно:​(B7), и возвращает​ но с типом​Подстановочные знаки следует использовать​ 1.​​ ячейки).​​ помощь и комментарии!​ #Н/Д.​Для поиска ближайшего большего​ программирования при работе​Чтобы функция ПОИСКПОЗ работала​ поиск по строке​ выдавать её позицию.​, чтобы ввести формулу​ столбец, где склеим​​ таблицы выше поясняет​​имеется таблица с​

​  Значения в первой​ значение в ячейке​ сопоставления = -1.​

​ только для поиска​

Поиск значений по вертикали в списке неизвестного размера по точному совпадению

​Если​Функция ПОИСКПОЗ() возвращает позицию​vikttur​

​Если аргумент [тип_сопоставления] явно​​ значения заданному во​ с массивами, а​ с таблицей с​ и столбцу одновременно:​ Для поиска последней​ не как обычную,​ название товара и​ какое значение будет​ перечнем сотрудников и​ строке должны быть​ C7 (​

Пример функций СМЕЩ и ПОИСКПОЗ

​ В этом случае​​ позиции текстовых значений​тип_сопоставления​ искомого значения, а​

​: Странное желание… Но​​ не указан или​​ всем столбце A:A​ с 1.​ двумя столбцами как​Во многих поисковых формулах​ текстовой ячейки можно​

​ а как формулу​​ месяц в единое​ выведено (обычно возвращается​ их зарплат (фамилии​ отсортированы по возрастанию.​100​ функция ПОИСКПОЗ() находит​ и​равен -1, то​ не само значение.​​ если нужно (простая,​​ принимает число 0,​

​ (числовой ряд может​

Поиск значений в списке по горизонтали по точному совпадению

​Функция ПОИСКПОЗ редко используется​ с одним мы​ очень часто приходится​

Пример формулы ГПР для поиска точного совпадения

​ изменить третий аргумент​ массива.​​ целое с помощью​​ первое значение, удовлетворяющее​ сотрудников не повторяются).​В приведенном выше примере​

​).​ наименьшее значение, которое​Типом сопоставления​

​ функция ПОИСКПОЗ() находит​

Поиск значений в списке по горизонтали по приблизительному совпадению

​ Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращает​ не формула массива):​

​ для поиска частичного​​ пополняться новыми значениями)​ самостоятельно. Ее целесообразно​ использовали в ее​

Пример формулы ГПР для поиска неточного совпадения

​ использовать функцию ПОИСКПОЗ​Режим_поиска​Как это на самом​ оператора сцепки (&),​ критерию).​Требуется, введя в ячейку​ функция ГПР ищет​Дополнительные сведения см. в​ больше либо равно​

​= 0 (третий​ наименьшее значение, которое​ число 2 -​

​=—ЕЧИСЛО(ПОИСКПОЗ(G5&H5&I5&J5;ИНДЕКС($A$3:$A$40&$B$3:$B$40&$C$3:$C$40&$E$3:$E$40;);))​

Создание формулы подстановки с помощью мастера подстановок (только Excel 2007)

​ совпадения текстовых значений​​ используем формулу массива​ применять в связке​ аргументах оператор &.​ как вспомогательную в​с нуля на​ деле работает:​ чтобы получить уникальный​

​Если диапазон поиска содержит​D4​ значение 11 000 в строке 3​ разделах, посвященных функциям​ чем искомое значение.​ аргумент функции).​ больше либо равно​ относительную позицию буквы​buchlotnik​ могут быть использованы​ (CTRL+SHIFT+ENTER):​ с другими функциями,​ Учитывая этот оператор​ комбинациях с другими​ минус 1:​

  1. ​Функция ИНДЕКС выдает из​

  2. ​ столбец-ключ для поиска:​​ повторяющиеся значения и​​фамилию сотрудника, вывести​​ в указанном диапазоне.​​ ИНДЕКС и ПОИСКПОЗ.​​Функции ПОИСКПОЗ() и ИНДЕКС()​​Функция ПОИСКПОЗ() возвращает только​

  3. ​ чем​​ «б» в массиве​​: видимо как-то так​ подстановочные знаки («?»​

    ​=B2;A:A;»»));A:A;0);1)’ class=’formula’>​

  4. ​ например, ИНДЕКС.​​ первый аргументом для​ Изображение кнопки Office​ функциями такими как:​Числа и пустые ячейки​​ диапазона цен C2:C161​​Теперь можно использовать знакомую​​ требуется вернуть не​​ в другой ячейке​

  5. ​ Значение 11 000 отсутствует, поэтому​​К началу страницы​​ часто используются вместе,​​ одно значение. Если​​искомое_значениеПросматриваемый_массив​​ {«а»;»б»;»в»;»б»}. Позиция второй​​=ЕСЛИ(ЕНД(ПОИСКПОЗ(G5&H5&I5&J5;$A$3:$A$40&$B$3:$B$40&$C$3:$C$40&$E$3:$E$40;0));»нет»;»есть»)​

  6. ​ — замена одного​​Функция ПОИСКПОЗ возвращает позицию​​​ функции теперь является​​ ИНДЕКС, ВПР, ГПР​​ в этом случае​​ содержимое N-ой ячейки​​ функцию​

  7. ​ одно, а все​

​ его зарплату. Решение​

support.office.com

Поиск позиции ТЕКСТа в MS EXCEL с выводом значения из соседнего столбца

​ она ищет следующее​Для выполнения этой задачи​ т.к. позволяют по​ в списке присутствует​должен быть упорядочен​ буквы «б» будет​сделайте, раз проще​ любого символа, «*»​ элемента в столбце​Пример 1. Найти позицию​ значение FordМаркетинговый. По​ и др. Но​

​ игнорируются.​​ по порядку. При​​ВПР (VLOOKUP)​ значения, удовлетворяющие критерию,​ приведено в файле​ максимальное значение, не​

Задача

​ используется функция ВПР.​​ найденной позиции в​​ несколько значений, удовлетворяющих​ по убыванию: ИСТИНА,​ проигнорирована, функция вернет​Acya96​ — замена любого​

Решение

​ A:A, имеющего максимальное​

  • ​ первого частичного совпадения​ этой причине первый​ какую пользу может​
  • ​Если последний аргумент задать​ этом порядковый номер​
  • ​для поиска склеенной​ то читайте статью​ примера.​

​ превышающее 11 000, и возвращает​Важно:​ одном диапазоне вывести​ критерию, то эта​ ЛОЖЬ, Z-A, …,​ позицию только первой​:​ количества символов).​ значение среди чисел,​ строки в диапазоне​ Ford из отдела​ приносить данная функция​ равным 1 или​ нужной ячейки нам​

​ пары​

​ Запрос на основе​Алгоритм решения задачи следующий:​

​ 10 543.​

​  Значения в первой​​ соответствующее значение из​​ функция не поможет.​

​ 2, 1, 0,​

​ буквы. О том​​vikttur​​Если в объекте данных,​

​ которые больше числа,​

​ ячеек, хранящих текстовые​​ продаж не учитывается,​​ работая самостоятельно. Из​

​ -1, то можно​

​ находит функция ПОИСКПОЗ.​​НектаринЯнварь​​ Элементов управления формы.​

​находим в списке кодов​

​Дополнительные сведения см. в​ строке должны быть​​ другого диапазона. Рассмотрим​​Рассмотрим список с повторяющимися​ -1, -2, …,​​ как вернуть ВСЕ​

​, хмм, сама бы​

​ переданном в качестве​

​ указанного в ячейке​

​ значения.​

​ ведь теперь для​

​ самого названия функции​

​ реализовать поиск ближайшего​ Она ищет связку​из ячеек H3​Совет​ значение, совпадающее с​ разделе, посвященном функции​ отсортированы по возрастанию.​ пример.​ значениями в диапазоне​ и так далее.​ позиции искомого значения​ ни за что​

​ аргумента просматриваемый_массив, содержится​ B2. Функция ИНДЕКС​Вид исходной таблицы данных:​ функции два форда​ ПОИСКПОЗ понятно, что​ наименьшего или наибольшего​ названия товара и​ и J3 в​: Если в диапазон​ критерием;​ ГПР.​В приведенном выше примере​Найдем количество заданного товара​B66:B72​Функция ПОИСКПОЗ() не различает​ читайте ниже в​ не догадалась. Даже​ два и больше​

​ возвращает значение, хранящееся​Для нахождения позиции текстовой​ – это разные​ ее главная задача​ числа. Таблица при​ месяца (​ созданном ключевом столбце:​ поиска постоянно вводятся​

​определяем номер позиции (строку)​​К началу страницы​ функция ВПР ищет​ на определенном складе.​. Найдем все позиции​ РеГИстры при сопоставлении​ разделе Поиск позиций​ не подумала про​ элементов, соответствующих искомому​ в найденной ячейке.​ строки в таблице​ значения (FordПродажи и​ заключается в определении​

​ этом обязательно должна​НектаринЯнварь​Плюсы​ новые значения, то​ найденного значения;​

excel2.ru

Поиск и подстановка по нескольким условиям

Постановка задачи

​Примечание:​ имя первого учащегося​ Для этого используем​ значения Груши.​ текстов.​​ ВСЕХ текстовых значений,​​ ЕЧИСЛО. Спасибо вам​​ значению, будет возвращена​​Результат расчетов:​ используем следующую формулу:​ FordМаркетинговый). Просматриваемый диапазон​ позиции исходного значения,​ быть отсортирована по​) по очереди во​: Простой способ, знакомая​ для исключения ввода​выводим значение из соседнего​ Поддержка надстройки «Мастер подстановок»​ с 6 пропусками в​ формулу​Значение Груши находятся в​Если функция ПОИСКПОЗ() не​ удовлетворяющих критерию.​ огромное!​ позиция первого вхождения​

​Для поиска ближайшего меньшего​=ПОИСКПОЗ(D2&»*»;B:B;0)-1​ теперь распространяется на​ которое содержит диапазон​

Поиск позиции вȎxcel по нескольким условиям

​ возрастанию или убыванию​ всех ячейках склеенного​ функция, работает с​​ дубликатов следует наложить​​ столбца той же​ в Excel 2010​​ диапазоне A2:B7. Учащихся​​=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0))​ позициях 2 и​​ находит соответствующего значения,​​ПОИСКПОЗискомое_значение просматриваемый_массив​А желание и,​ такого элемента.​ значения достаточно лишь​Описание аргументов:​ 2 столбца, так​ ячеек или таблица.​

Способ 1. Дополнительный столбец с ключом поиска

​ соответственно. В общем​ из двух столбцов​ любыми данными.​ определенные ограничения (см.​ строки.​​ прекращена. Эта надстройка​​ с​В файле примера, соответствующий​ 5 списка. С​ то возвращается значение​; тип_сопоставления)​ правда, крайне странное​

​R007​ немного изменить данную​D2&»*» – искомое значение,​ же благодаря оператору​ Применять эту функцию​ и целом, это​ диапазона A2:A161&B2:B161 и​Минусы​ статью Ввод неповторяющихся​

Поиск позиции вȎxcel по нескольким условиям

​Решение практически аналогично поиску​ была заменена мастером​​6​​ столбец и строка​ помощью формулы массива​​ ошибки #Н/Д.​​Искомое_значение​Acya96​: Всем добрый день.​

Поиск позиции вȎxcel по нескольким условиям

​ формулу и ее​​ состоящее и фамилии,​ &, который мы​ очень просто для​

​ чем-то похоже на​​ выдает порядковый номер​: Надо делать дополнительный​ значений). Для визуальной​ числового значения из​ функций и функциями​ пропусками в таблице нет,​ выделены с помощью​=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65))​Произведем поиск позиции в​- значение, используемое​:​

Способ 2. Функция СУММЕСЛИМН

​Столкнулся со следующей​ следует также ввести​ указанной в ячейке​ применяем во втором​ диапазонов или таблиц​ интервальный просмотр у​​ ячейки, где нашла​​ столбец и потом,​ проверки наличия дубликатов​ статьи Поиск позиции​ для работы со​ поэтому функция ВПР​ Условного форматирования.​можно найти все эти​ НЕ сортированном списке​ при поиске значения​buchlotnik​ проблемой. Как осуществлять​ как массив (CTRL+SHIFT+ENTER):​ B2, и любого​ аргументе для склейки​

Поиск позиции вȎxcel по нескольким условиям

​ с одним столбцом​​ функции​ точное совпадение. По​ возможно, еще и​ можно использовать Условное​ ЧИСЛА с выводом​

​ ссылками и массивами.​​ ищет первую запись​СОВЕТ: Подробнее о поиске​ позиции. Для этого​ текстовых значений (диапазон​ в​, спасибо большое!​ ПОИСПОЗ по двум​

Способ 3. Формула массива

​Результат поиска:​ количества других символов​​ значений из двух​​ или с одной​​ВПР (VLOOKUP)​​ сути, это первый​ прятать его от​ форматирование (см. статью​ соответствующего значения из​В Excel 2007 мастер​ со следующим максимальным​ позиций можно прочитать​ необходимо выделить несколько​B7:B13​просматриваемом_массивеИскомое_значение​

  1. ​Тут просто сама​ условиям?​Функция имеет следующую синтаксическую​
  2. ​ (“*”);​ смежных диапазонов. Таким​ строкой. Поэтому сразу​
    Поиск позиции вȎxcel по нескольким условиям
  3. ​, но там возможен​ способ, но ключевой​​ пользователя. При изменении​​ Выделение повторяющихся значений).​ соседнего столбца. Для​ подстановок создает формулу​ значением, не превышающим​

​ в соответствующем разделе​ ячеек (расположенных вертикально),​

​)​может быть значением​ суть задания сделать​Есть следующая задача:​ запись:​B:B – ссылка на​ образом, значения берутся​ усложним задачу и​ только поиск ближайшего​ столбец создается виртуально​​ числа строк в​​Для организации динамической сортировки​ этого типа задач​ подстановки, основанную на​ 6. Она находит​ сайта: Поиск позиции.​ в Строке формул​Столбец Позиция приведен для​ (числом, текстом или​ через ИНДЕКС и​Стройматериалы у них​=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​ столбец B:B, в​ одновременно из двух​

​ на конкретном примере​​ наименьшего, а здесь​ прямо внутри формулы,​ таблице — допротягивать​ пополняемого диапазона поиска​

​ в EXCEL существует​​ данных листа, содержащих​ значение 5 и возвращает​С помощью функций ПОИСКПОЗ()​ ввести вышеуказанную формулу​ наглядности и не​ логическим значением (ЛОЖЬ​ ПОИСКПОЗ. Для меня​ есть по паре​Описание аргументов:​ котором выполняется поиск;​ столбцов Автомобиль и​ проиллюстрируем как применять​ — есть выбор.​

planetaexcel.ru

Поиск позиции элемента в списке с ПОИСКПОЗ (MATCH)

​ а не в​ формулу сцепки на​ можно использовать идеи​ специальная функция ВПР(),​ названия строк и​ связанное с ним​ и ИНДЕКС() можно​ и нажать​ влияет на вычисления.​ или ИСТИНА)) или​

​ это немного странно​

​ характеристик, как сделать​

​искомое_значение – обязательный аргумент,​

  • ​0 – поиск точного​​ Отдел.​ функцию ПОИСКПОЗ для​
  • ​Например, нам нужно выбрать​​ ячейках листа.​ новые строки (хотя​ из статьи Сортированный​ но для ее​
  • ​ столбцов. С помощью​​ имя​ заменить функцию ВПР(),​CTRL+SHIFT+ENTER​Формула для поиска позиции​ ссылкой на ячейку,​ и непонятно:/​

​ так что бы​ принимающий текстовые, числовые​ совпадения.​

Точный поиск

​Читайте также: Функции ИНДЕКС​ таблицы с двумя​ генератор из прайс-листа​Плюсы​ это можно упростить​ список.​

ПОИСКПОЗ в Excel

Поиск первой или последней текстовой ячейки

​ решения можно использовать​ мастера подстановок можно​Алексей​ об этом читайте​. В позициях, в​ значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0)​ содержащую число, текст​vikttur​ при выборе из​​ значения, а также​​Из полученного значения вычитается​ и ПОИСКПОЗ в​

Поиск первого или последнего текста

​ столбцами и более.​ для расчетной мощности​: Не нужен отдельный​

Поиск ближайшего числа или даты

​ применением умной таблицы).​Если вы продвинутый пользователь​ и другие функции​ найти остальные значения​.​ в статье о​ которых есть значение​Формула находит первое значение​ или логическое значение.​: Видимо, проверяют Вас​ пары характеристик выбиралась​ данные логического и​ единица для совпадения​ Excel и примеры​​Для примера возьмем список​​ в 47 кВт.​ столбец, работает и​Если нужно найти именно​ Microsoft Excel, то​

​ (про функцию ВПР()​ в строке, если​Дополнительные сведения см. в​ функции ВПР().​ Груши будет выведено​ сверху и выводит​Просматриваемый_массив​ на знание материала​ нужная исходя из​ ссылочного типов, который​ результата с id​​ их использования​​ автомобилей из автопарка​

ПОИСКПОЗ поиск ближайшего наименьшего числа

​ Если последний аргумент​ с числами и​ число (в нашем​ должны быть знакомы​ см. эту статью).​ известно значение в​​ разделе, посвященном функции​​Предположим, что требуется найти​

ПОИСКПОЗ поиск ближайшего наибольшего

Связка функций ПОИСКПОЗ и ИНДЕКС

​ соответствующее значение позиции,​ его позицию в​— непрерывный диапазон​ )​​ заранее выставленных условий.​ ​ используется в качестве​​ записи в таблице.​Функция ПОИСКПОЗ в Excel​ средней фирмы, как​ задать равным 1​ с текстом.​

​ случае цена как​ с функцией поиска​Решение​ одном столбце, и​ ВПР.​

ПОИСКПОЗ и ИНДЕКС

​ внутренний телефонный номер​ в остальных ячейках​ диапазоне, второе значение​ ячеек, возможно, содержащих​Нет, не проще.​Буду очень благодарен за​ критерия поиска (для​Пример поиска:​ используется для поиска​ показано ниже на​ и отсортировать таблицу​

ПОИСКПОЗ и даты

​Минусы​​ раз число), то​​ и подстановки​Если несколько значений удовл.​ наоборот. В формулах,​К началу страницы​ сотрудника по его​ быдет выведен 0.​ Груши учтено не​ искомые значения.​​ Проще -​​ ответы.​​ сопоставления величин или​​Пример 2. В Excel​ точного совпадения или​ рисунке:​

Двумерный поиск с ПОИСКПОЗ и ИНДЕКС

planetaexcel.ru

Пример функции ПОИСКПОЗ в Excel без функции ИНДЕКС

​ по возрастанию, то​: Ощутимо тормозит на​ вместо ВПР можно​ВПР​ критерию​ которые создает мастер​Для выполнения этой задачи​ идентификационному номеру или​C помощью другой формулы​ будет.​Просматриваемый_массив​СЧЁТЕСЛИМН(), СУММПРОИЗВ()​Serge_007​ нахождения точного совпадения);​ хранятся две таблицы,​ ближайшего (меньшего или​В обеих столбцах названия​ мы найдем ближайшую​ больших таблицах (как​ использовать функцию​или​=ВПР($D$4;A4:B15;2;ЛОЖЬ)​ подстановок, используются функции​ используются функции СМЕЩ​ узнать ставку комиссионного​ массива​Чтобы найти номер строки,​может быть только​buchlotnik​: Здравствуйте.​

Пример работы ПОИСКПОЗ по двум столбцам Excel

​просматриваемый_массив – обязательный аргумент,​ которые на первый​ большего заданному в​ автомобилей и отделов​ наименьшую по мощности​

Список автомобилей.

​ и все формулы​СУММЕСЛИМН (SUMIFS)​VLOOKUP​берется​ ИНДЕКС и ПОИСКПОЗ.​ и ПОИСКПОЗ.​ вознаграждения, предусмотренную за​=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65))​ а не позиции​ одностолбцовым диапазоном ячеек,​: ну куда тут​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(A1:C3;ПОИСКПОЗ(A8;A1:A3;0);ПОИСКПОЗ(A6;A1:C1;0))​ принимающий данные ссылочного​ взгляд кажутся одинаковыми.​ зависимости от типа​ повторяются, но нет​ модель (​ массива, впрочем), особенно​

Ford продажи.

​, появившуюся начиная с​(если еще нет,​первое​Щелкните ячейку в диапазоне.​Примечание:​ определенный объем продаж.​можно отсортировать найденные позиции,​ в искомом диапазоне,​ например​ его? давайте так​R007​ типа (ссылки на​ Было решено сравнить​ сопоставления, указанного в​ парных дубликатов. Например,​

  1. ​Зверь​ если указывать диапазоны​ Excel 2007. По​ то сначала почитайте​сверху​
  2. ​На вкладке​ Данный метод целесообразно использовать​ Необходимые данные можно​
  3. ​ чтобы номера найденных​ можно записать следующую​А9:А20​=ИНДЕКС({«есть»;»нет»};1+ЕНД(ПОИСКПОЗ(G5&H5&I5&J5;$A$3:$A$40&$B$3:$B$40&$C$3:$C$40&$E$3:$E$40;0)))​:​ диапазон ячеек) или​ по одному однотипному​ качестве аргумента) значения​ в списке 2​

Ford маркетинг.

​):​ «с запасом» или​ идее, эта функция​

​ эту статью, чтобы​

Описание примера как работает функция ПОИСКПОЗ:

​=ИНДЕКС(B4:B15; ПОИСКПОЗ($D$4;A4:A15;0);1)​Формулы​ при поиске данных​ быстро и эффективно​ позиций отображались в​ формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)​или диапазоном, расположенным​_Boroda_​Serge_007​ константу массива, в​ столбцу этих таблиц​ заданному в массиве​ автомобиля марки Ford,​Если же третий аргумент​ сразу целые столбцы​ выбирает и суммирует​ им стать). Для​берется​в группе​ в ежедневно обновляемом​ находить в списке​ первых ячейках (см.​Если искомое значение не​ в одной строке,​: Еще вариант формулой​,​ которых выполняется поиск​ на наличие несовпадений.​ или диапазоне ячеек​ но оба они​

​ равен -1 и​ (т.е. вместо A2:A161​ числовые значения по​ тех, кто понимает,​

exceltable.com

Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel

​первое​Решения​ внешнем диапазоне данных.​ и автоматически проверять​ файл примера).​ обнаружено в списке,​ например,​ массива (вводится одновременным​Большое спасибо, очень​ позиции элемента согласно​ Реализовать способ сравнения​ и возвращает номер​

Примеры использования функции ПОИСКПОЗ в Excel

​ из разных отделов.​ таблица отсортирована по​ вводить A:A и​ нескольким (до 127!)​ рекламировать ее не​сверху​выберите команду​ Известна цена в​ их правильность. Значения,​1. Произведем поиск позиции​ то будет возвращено​

​А2:Е2​ нажатием Контрл Шифт​ помогло!​ критерию, заданному первым​ двух диапазонов ячеек.​ позиции найденного элемента.​ Если мы захотим​ убыванию, то мы​ т.д.) Многим непривычны​ условиям. Но если​ нужно :) -​=СМЕЩ($B$3; ПОИСКПОЗ($D$4;$A$4:$A$15;0);0;1;1)​Подстановка​ столбце B, но​ возвращенные поиском, можно​ в НЕ сортированном​

​ значение ошибки #Н/Д.​. Таким образом формула​ Ентер)​Гость​ аргументом функции;​Вид таблицы данных:​Например, имеем последовательный ряд​ узнать номер позиции​ найдем ближайшую более​ формулы массива в​ в нашем списке​ без нее не​берется​.​ неизвестно, сколько строк​ затем использовать в​ списке числовых значений​ Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0)​ =ПОИСКПОЗ(«слива»;A30:B33;0) работать не​=ИНДЕКС({«Нет»:»Есть»};1+ЕЧИСЛО(ПОИСКПОЗ(G5&H5&I5&J5;A$3:A$40&B$3:B$40&C$3:C$40&E$3:E$40;)))​: Помогите!!!!!!!!!!!!!! плиз!!!!!!!!!!!!!! уже​

​[тип_сопоставления] – необязательный для​Для сравнения значений, находящихся​ чисел от 1​ этого автомобиля, то​ мощную модель (​

​ принципе (тогда вам​

Формула для поиска неточного совпадения текста в Excel

​ нет повторяющихся товаров​ обходится ни один​первое​Если команда​ данных возвратит сервер,​

​ вычислениях или отображать​

Пример 1.

​ (диапазон​ вернет ошибку, т.к.​ будет (выдаст ошибку​

​И проверка там​

​ все перепробовала не​

  • ​ заполнения аргумент в​ в столбце B:B​ до 10, записанных​ в результате функция​Бомба​ сюда).​
  • ​ внутри одного месяца,​ сложный расчет в​сверху​
  • ​Подстановка​ а первый столбец​

​ как результаты. Существует​B8:B14​ значения «грейпфрут» в​ #Н/Д), так как​

​ еще Условным форматированием​

ПОИСКПОЗ.

Сравнение двух таблиц в Excel на наличие несовпадений значений

​ получается. Нужно чтобы​ виде числового значения,​ со значениями из​ в ячейках B1:B10.​ ПОИСПОЗ вернет нам​):​Основное назначение этой функции​ то она просто​ Excel. Есть, однако,​=ДВССЫЛ(АДРЕС(НАИБОЛЬШИЙ( ЕСЛИ(($A$4:$A$15=$D$4); СТРОКА($A$4:$A$15));1);2))​

​недоступна, необходимо загрузить​

Пример 2.

​ не отсортирован в​ несколько способов поиска​)​ диапазоне ячеек​Просматриваемый_массив​iMrTidy​

​ во втором ПОИСКПОЗ​ определяющего способ поиска​ столбца A:A используем​ Функция =ПОИСКПОЗ(3;B1:B10;0) вернет​ позицию в диапазоне​Очень часто функция ПОИСКПОЗ​ в том, чтобы​ выведет значение цены​ одна проблема: эта​берется​ надстройка мастера подстановок.​ алфавитном порядке.​ значений в списке​Столбец Позиция приведен для​B7:B13​представляет собой диапазон​: Acya96, возможно, так?​ был «приближенный поиск».​ в диапазоне ячеек​ следующую формулу массива​ число 3, поскольку​ где встречается первое​ используется в связке​ искать позицию заданного​

​ для заданного товара​ функция умеет искать​последнее​Загрузка надстройки мастера подстановок​C1​ данных и отображения​

сравнения значений.

​ наглядности и не​нет.​

Поиск ближайшего большего знания в диапазоне чисел Excel

​ ячеек размещенный одновременно​=INDEX($A$3:$A$40;MATCH(J5;$E$3:$E$40;0))&INDEX($B$3:$B$40;MATCH(J5;$E$3:$E$40;0))&INDEX($C$3:$C$40;MATCH(J5;$E$3:$E$40;0))=G5&H5&I5​ А как файл​ или массиве. Может​ (CTRL+SHIFT+ENTER):​

​ искомое значение находится​

Пример 3.

​ значение – 3.​ с другой крайне​ элемента в наборе​ и месяца:​ данные только по​сверху​Нажмите кнопку​

​ — это левая верхняя​

​ результатов.​ влияет на вычисления.​В файле примера можно​ в нескольких столбцах​Acya96​ прикрепить? что-то не​ принимать следующие значения:​Функция ПОИСКПОЗ выполняет поиск​ в ячейке B3,​

​ То есть Ford​

поиск ближайшего большего значения.

​ полезнойфункцией -​ значений. Чаще всего​Плюсы​ совпадению одного параметра.​=ПРОСМОТР($D$4;$A$4:$A$15;$B$4:$B$15)​Microsoft Office​

​ ячейка диапазона (также​

поиск ближайшего меньшего.

Особенности использования функции ПОИСКПОЗ в Excel

​Поиск значений в списке​Найдем позицию значения 30​

​ найти применение функции​

​ и нескольких ячейках.​

  • ​: Еще раз спасибо.​ пойму​-1 – поиск наименьшего​ логического значения ИСТИНА​ которая является третьей​ из отдела продаж:​ИНДЕКС​ она применяется для​: Не нужен дополнительный​
  • ​ А если у​если столбец отсортирован по​, а затем —​ называемая начальной ячейкой).​ по вертикали по​ с помощью формулы​ при поиске в​Тип_сопоставления​ Пойду разбираться, что​
  • ​RAN​ ближайшего значения заданному​ в массиве логических​ от точки отсчета​Что же делать если​(INDEX)​ поиска порядкового номера​
  1. ​ столбец, решение легко​ нас их несколько?​ возрастанию, то берется​ кнопку​Формула​ точному совпадению​
  2. ​ =ПОИСКПОЗ(30;B8:B14;0)​ горизонтальном массиве.​— число -1,​ да как.​: Чукча не читатель.​ аргументом искомое_значение в​ значений, возвращаемых функцией​ (ячейки B1).​
  3. ​ нас интересует Ford​, которая умеет извлекать​ ячейки в диапазоне,​ масштабируется на большее​Предположим, что у нас​последнее​

​Параметры Excel​

  1. ​ПОИСКПОЗ(«Апельсины»;C2:C7;0)​Поиск значений в списке​Формула ищет​Поиск позиции можно производить​ 0 или 1.​jakim​ Чукча писатель!​ упорядоченном по убыванию​ СОВПАД (сравнивает каждый​Данная функция удобна для​ из маркетингового отдела?​ данные из диапазона​ где лежит нужное​
  2. ​ количество условий (до​ есть база данных​сверху, если нет,​и выберите категорию​ищет значение «Апельсины»​
  3. ​ по вертикали по​точное​ не только в​Тип_сопоставления​: Вариант с формулой​Как файл приложить​ массиве или диапазоне​ элемент диапазона A2:A12​ использования в случаях,​ Кроме того, мы​ по номеру строки-столбца,​
  4. ​ нам значение.​ 127), быстро считает.​ по ценам товаров​ то результат​Надстройки​ в диапазоне C2:C7.​ приблизительному совпадению​значение 30. Если​

exceltable.com

ПОИСКПОЗ по двум условиям (помощь)

​ диапазонах ячеек, но​​указывает, как MS​
​=IF(MAX(INDEX((A$3:A$400=G6)*(B$3:B$400=H6)*(C$3:C$400=I6)*(E$3:E$400=J6);0))=1;»есть»;»нет»)​ — красненькая строчка​ ячеек.​ со значением, хранящимся​
​ когда требуется вернуть​
​ хотим использовать только​ реализуя, фактически, «левый​Синтаксис этой функции следующий:​Минусы​ за разные месяцы:​непредсказуем​.​ Начальную ячейку не​

​Поиск значений по вертикали​ в списке его​

​ и в массивах​​ EXCEL сопоставляет​

​buchlotnik​

​ сверху.​​0 – (по умолчанию)​​ в ячейке B2,​​ не само значение,​
​ функцию ПОИСПОЗ, не​ ВПР».​

​=ПОИСКПОЗ(Что_ищем; Где_ищем; Режим_поиска)​​: Работает только с​Нужно найти и вытащить​=СУММПРОИЗВ((A4:A15=D4)*(B4:B15))​В поле​ следует включать в​ в списке неизвестного​ нет, то будет​ констант. Например, формула​

​искомое_значение​​:​Как сделать «приближенный​
​ поиск первого значения​ и возвращает массив​ содержащееся в искомой​
​ прибегая к формулам​Так, в предыдущем примере​

​где​​ числовыми данными на​ цену заданного товара​соответствующие значения суммируются​
​Управление​

excelworld.ru

Индекс и Поискпоз с несколькими условиями (Формулы/Formulas)

​ этот диапазон.​​ размера по точному​
​ возвращена ошибка #Н/Д.​ =ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0) вернет значение​со значениями в​jakim​ поиск» — F1​ в массиве или​ результатов сравнения). Если​ ячейке, а ее​ с комбинациями других​ получить не номер,​Что_ищем​ выходе, не применима​ (​=СУММЕСЛИ(A4:A15;D4;B4:B15)​выберите значение​1​ совпадению​2. Произведем поиск позиции​ 2.​ аргументе​, а ПОИСКПОЗ()-то где?​
​Il_sun​ диапазоне ячеек (не​

​ функция ПОИСКПОЗ нашла​​ координату относительно рассматриваемого​ функций ИНДЕКС и​ а название модели​
​- это значение,​

​ для поиска текста,​​Нектарин​​соответствующие значения суммируются​​Надстройки Excel​

​ — это количество столбцов,​​Поиск значений в списке​​ в отсортированном по​​Если искомое значение точно​просматриваемый_массив.​jakim​: в отношении прикрепленного​ обязательно упорядоченном), которое​ значение ИСТИНА, будет​
​ диапазона. В случае​ т.п. Выход из​

​ генератора можно очень​​ которое надо найти​​ не работает в​​) в определенном месяце​
​=БИЗВЛЕЧЬ(A3:B15;2;F15:F16)​и нажмите кнопку​ которое нужно отсчитать​ по горизонтали по​ возрастанию списке числовых​ не известно, то​

​Если​​: Пожалуйста ПОИСКПОЗ только​ файла формула должна​ полностью совпадает со​
​ возвращена позиция его​ использования для констант​​ этой ситуации находится​

​ легко:​​Где_ищем​ старых версиях Excel​​ (​

​возвращается ошибка #ЧИСЛО!​​Перейти​ справа от начальной​ точному совпадению​ значений (диапазон​
​ с помощью подстановочных​
​тип_сопоставления​ наоборот.​

​ иметь вид​​ значением, переданным в​
​ первого вхождения в​

​ массивов, которые могут​​ в определении настроек​Ну, и поскольку Excel​- это одномерный​

​ (2003 и ранее).​​Январь​
​Для функции ВПР() требуется,​

​.​​ ячейки, чтобы получить​​Поиск значений в списке​​B31:B37​:D

​ знаков можно задать​​равен 0, то​=IFERROR(MATCH(1;INDEX((B$3:B$400=H5)*(C$3:C$400=I5)*(D$3:D$400=J5)*(F$3:F$400=K5);0);0);»нет»)​
​200?'200px':''+(this.scrollHeight+5)+'px');">=ИНДЕКС(B2:C3;ПОИСКПОЗ(A8;A2:A3;0);ПОИСКПОЗ(A6;B1:C1;0))​

excelworld.ru

​ качестве первого аргумента.​

Понравилась статья? Поделить с друзьями:
  • Excel поиск повторяющихся слов
  • Excel поиск повторяющихся значений в массиве
  • Excel поиск повторяющихся данных
  • Excel поиск повторов формула
  • Excel поиск по частичному совпадению слов