Поиск значений в excel при помощи функций

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

Описание

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

Создание образца листа

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

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

A

B

C

D

E

1

Имя

Правитель

Возраст

Поиск значения

2

Анри

501

Плот

Иванов

3

Стэн

201

19

4

Иванов

101

максималь

5

Ларри

301

составляет

Определения терминов

В этой статье для описания встроенных функций Excel используются указанные ниже условия.

Термин

Определение

Пример

Массив таблиц

Вся таблица подстановки

A2: C5

Превышающ

Значение, которое будет найдено в первом столбце аргумента «инфо_таблица».

E2

Просматриваемый_массив
-или-
Лукуп_вектор

Диапазон ячеек, которые содержат возможные значения подстановки.

A2: A5

Номер_столбца

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

3 (третий столбец в инфо_таблица)

Ресулт_аррай
-или-
Ресулт_вектор

Диапазон, содержащий только одну строку или один столбец. Он должен быть такого же размера, что и просматриваемый_массив или Лукуп_вектор.

C2: C5

Интервальный_просмотр

Логическое значение (истина или ложь). Если указано значение истина или опущено, возвращается приближенное соответствие. Если задано значение FALSE, оно будет искать точное совпадение.

ЛОЖЬ

Топ_целл

Это ссылка, на основе которой вы хотите основать смещение. Топ_целл должен ссылаться на ячейку или диапазон смежных ячеек. В противном случае функция СМЕЩ возвращает #VALUE! значение ошибки #ИМЯ?.

Оффсет_кол

Число столбцов, находящегося слева или справа от которых должна указываться верхняя левая ячейка результата. Например, значение «5» в качестве аргумента Оффсет_кол указывает на то, что верхняя левая ячейка ссылки состоит из пяти столбцов справа от ссылки. Оффсет_кол может быть положительным (то есть справа от начальной ссылки) или отрицательным (то есть слева от начальной ссылки).

Функции

LOOKUP ()

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

Ниже приведен пример синтаксиса формулы подСТАНОВКи.

   = Просмотр (искомое_значение; Лукуп_вектор; Ресулт_вектор)


Следующая формула находит возраст Марии на листе «образец».

   = ПРОСМОТР (E2; A2: A5; C2: C5)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в векторе подстановки (столбец A). Формула затем соответствует значению в той же строке в векторе результатов (столбец C). Так как «Мария» находится в строке 4, функция Просмотр возвращает значение из строки 4 в столбце C (22).

Примечание. Для функции Просмотр необходимо, чтобы таблица была отсортирована.

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

Использование функции Просмотр в Excel

ВПР ()

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

Ниже приведен пример синтаксиса формулы ВПР :

    = ВПР (искомое_значение; инфо_таблица; номер_столбца; интервальный_просмотр)

Следующая формула находит возраст Марии на листе «образец».

   = ВПР (E2; A2: C5; 3; ЛОЖЬ)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в левом столбце (столбец A). Формула затем совпадет со значением в той же строке в Колумн_индекс. В этом примере используется «3» в качестве Колумн_индекс (столбец C). Так как «Мария» находится в строке 4, функция ВПР возвращает значение из строки 4 В столбце C (22).

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

Как найти точное совпадение с помощью функций ВПР или ГПР

INDEX () и MATCH ()

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

Ниже приведен пример синтаксиса, объединяющего индекс и Match для получения одинаковых результатов поиска и ВПР в предыдущих примерах:

    = Индекс (инфо_таблица; MATCH (искомое_значение; просматриваемый_массив; 0); номер_столбца)

Следующая формула находит возраст Марии на листе «образец».


= ИНДЕКС (A2: C5; MATCH (E2; A2: A5; 0); 3)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Затем он будет соответствовать значению в той же строке в столбце C. Так как «Мария» находится в строке 4, формула возвращает значение из строки 4 в столбце C (22).

Обратите внимание Если ни одна из ячеек в аргументе «число» не соответствует искомому значению («Мария»), эта формула будет возвращать #N/А.
Чтобы получить дополнительные сведения о функции индекс , щелкните следующий номер статьи базы знаний Майкрософт:

Поиск данных в таблице с помощью функции индекс

СМЕЩ () и MATCH ()

Функции СМЕЩ и ПОИСКПОЗ можно использовать вместе, чтобы получить те же результаты, что и функции в предыдущем примере.

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

   = СМЕЩЕНИЕ (топ_целл, MATCH (искомое_значение; просматриваемый_массив; 0); Оффсет_кол)

Эта формула находит возраст Марии на листе «образец».

   = СМЕЩЕНИЕ (A1; MATCH (E2; A2: A5; 0); 2)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Формула затем соответствует значению в той же строке, но двум столбцам справа (столбец C). Так как «Мария» находится в столбце A, формула возвращает значение в строке 4 в столбце C (22).

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

Использование функции СМЕЩ

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

Skip to content

ИНДЕКС ПОИСКПОЗ как лучшая альтернатива ВПР

В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР.

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

  • Краткий обзор функций ИНДЕКС и ПОИСКПОЗ
  • Как использовать формулу ИНДЕКС ПОИСКПОЗ
  • ИНДЕКС+ПОИСКПОЗ вместо ВПР?
  • Поиск справа налево
  • Двусторонний поиск в строках и столбцах
  • ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям
  • Как найти среднее, максимальное и минимальное значение
  • Что делать с ошибками поиска?

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

Функции Excel ИНДЕКС и ПОИСКПОЗ — основы

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

Функция ИНДЕКС

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

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

Вот простое объяснение каждого параметра:

  • массив — это диапазон ячеек, именованный диапазон или таблица.
  • номер_строки — это номер строки в массиве, из которого нужно вернуть значение. Если этот аргумент опущен, требуется следующий – номер_столбца.
  • номер_столбца — это номер столбца, из которого нужно вернуть значение. Если он опущен, требуется номер_строки.

Дополнительные сведения см. в статье Функция ИНДЕКС в Excel .

А вот пример формулы ИНДЕКС в самом простом виде:

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

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

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

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

Она ищет нужное значение в диапазоне ячеек и возвращает относительное положение этого значения в диапазоне.

Синтаксис функции ПОИСКПОЗ следующий:

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

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

Например, если диапазон B1:B3 содержит значения «яблоки», «апельсины», «лимоны», приведенная ниже формула возвращает число 3, поскольку «лимоны» — это третья по счету запись в этом диапазоне:

=ПОИСКПОЗ(«лимоны»;B1:B3;0)

Дополнительные сведения см . в статье Функция ПОИСКПОЗ в Excel .

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

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

Вот поэтому совместное использование ИНДЕКС и ПОИСКПОЗ открывает перед нами массу возможностей для поиска в Excel.

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

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

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

ИНДЕКС ( столбец для возврата значения ; ПОИСКПОЗ ( искомое значение ; столбец для поиска ; 0))

Все еще не совсем понимаете эту логику? Возможно, будет проще разобрать на примере. Предположим, у вас есть список национальных столиц и их население:

Чтобы найти население определенной столицы, скажем, Индии, используйте следующую формулу ПОИСКПОЗ ИНДЕКС:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(“Индия”;A2:A10;0))

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

  • Функция ПОИСКПОЗ ищет искомое значение «Индия» в диапазоне A2:A10 и возвращает число 2, поскольку это слово занимает второе место в массиве поиска.
  • Этот номер поступает непосредственно в аргумент номер_строки функции ИНДЕКС, предписывая вернуть значение из этой строки.

Таким образом, приведенная выше формула превращается в ИНДЕКС(C2:C10;2), которая означает, что нужно искать в ячейках от C2 до C10 и извлекать значение из второй ячейки в этом диапазоне, то есть из C3, потому что мы начинаем отсчет со второй строки.

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

=ИНДЕКС(C2:C10;ПОИСКПОЗ(F1;A2:A10;0))

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

Вы спросите: «А почему бы нам просто не использовать обычную формулу ВПР? Какой смысл тратить время на то, чтобы разобраться в хитросплетениях ИНДЕКС ПОИСКПОЗ в Excel?»

Вот как это будет выглядеть:

=ВПР(F1; A2:C10; 3; 0)

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

ИНДЕКС+ПОИСКПОЗ вместо ВПР?

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

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

4 основные причины использовать ИНДЕКС ПОИСКПОЗ вместо ВПР

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

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

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

Влияние ВПР на производительность Excel может быть особенно заметным, если ваша книга содержит сложные формулы массива. Чем больше значений содержит ваш массив и чем больше формул массива содержится в книге, тем медленнее работает Excel.

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

Уяснив, почему все же стоит изучать ИНДЕКС ПОИСКПОЗ, давайте перейдем к самому интересному и посмотрим, как можно применить теоретические знания на практике.

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

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

Для этого примера мы добавим столбец «Ранг» слева от нашей основной таблицы и попытаемся выяснить, какое место занимает столица России по численности населения среди других перечисленных  столиц.

Записав искомое значение в G1, используйте следующую формулу для поиска в C2:C10 и возврата соответствующего значения из A2:A10:

=ИНДЕКС(A2:A10; ПОИСКПОЗ(G1;C2:C10;0))

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

Двусторонний поиск в строках и столбцах

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

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

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

ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))

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

С целевой страной в G1 (значение_поиска1) и целевым годом в G2 (значение_поиска2) формула принимает следующий вид:

=ИНДЕКС(B2:D11; ПОИСКПОЗ(G1;A2:A11;0); ПОИСКПОЗ(G2;B1:D1;0))

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

Всякий раз, когда вам нужно понять сложную формулу Excel, разделите ее на более мелкие части и посмотрите, что делает каждая отдельная функция:

ПОИСКПОЗ(G1;A2:A11;0); – ищет в A2:A11 значение из ячейки G1 («США») и возвращает его позицию, которая равна 3.

ПОИСКПОЗ(G2;B1:D1;0) – просматривает диапазон B1:D1, чтобы получить позицию значения из ячейки G2 («2015»), которая равна 3.

Найденные выше номера строк и столбцов становятся соответствующими аргументами функции ИНДЕКС:

ИНДЕКС(B2:D11, 3, 3)

В результате вы получите значение на пересечении 3-й строки и 3-го столбца в диапазоне B2:D11, то есть из D4. Несложно? 

ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям

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

Вот общая формула ИНДЕКС ПОИСКПОЗ с несколькими критериями:

{=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

Примечание. Это формула массива , которую необходимо вводить с помощью сочетания клавиш Ctrl + Shift + Enter.

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

Следующая формула ИНДЕКС ПОИСКПОЗ отлично работает:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; (F1=A2:A10) * (F2=B2:B10); 0))

Где C2:C10 — это диапазон, из которого возвращается значение, F1 — это критерий1, A2:A10 — это диапазон для сравнения с критерием 1, F2 — это критерий 2, а B2:B10 — это диапазон для сравнения с критерием 2.

Не забудьте правильно ввести формулу, нажав Ctrl + Shift + Enter, и Excel автоматически заключит ее в фигурные скобки, как показано на скриншоте ниже:

Рис5

Если вы не хотите использовать формулы массива, добавьте в формулу в F4 еще одну функцию ИНДЕКС и завершите ее ввод обычным нажатием Enter:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; ИНДЕКС((F1=A2:A10) * (F2=B2:B10); 0; 1); 0))

Разберем пошагово, как это работает.

Здесь используется тот же подход, что и в обычном сочетании ИНДЕКС ПОИСКПОЗ, где просматривается один столбец. Чтобы оценить несколько критериев, вы создаете два или более массива значений ИСТИНА и ЛОЖЬ, которые представляют совпадения и несовпадения для каждого отдельного критерия, а затем перемножаете соответствующие элементы этих массивов. Операция умножения преобразует ИСТИНА и ЛОЖЬ в 1 и 0 соответственно и создает массив, в котором единицы соответствуют строкам, которые удовлетворяют всем условиям. Функция ПОИСКПОЗ со значением поиска 1 находит первую «1» в массиве и передает ее позицию в ИНДЕКС, которая возвращает значение в этой позиции из указанного столбца.

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

Среднее, максимальное и минимальное значение при помощи ИНДЕКС ПОИСКПОЗ

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

Максимальное значение.

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

=ИНДЕКС(B2:B10; ПОИСКПОЗ(МАКС(C2:C10); C2:C10; 0))

Скриншот с примером находится чуть ниже.

Минимальное значение

Теперь найдём город с самым маленьким населением в списке. Чтобы найти наименьшее число в столбце С и получить соответствующее ему значение из столбца В:

=ИНДЕКС(B2:B10; ПОИСКПОЗ(МИН(C2:C10); C2:C10; 0))

Ближайшее к среднему

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

=ИНДЕКС(B2:B10; ПОИСКПОЗ(СРЗНАЧ(C2:C10); C2:C10; -1 ))

В зависимости от того, как организованы ваши данные, укажите 1 или -1 для третьего аргумента (тип_совпадения) функции ПОИСКПОЗ:

  • Если ваш столбец поиска (столбец D в нашем случае) отсортирован по возрастанию , поставьте 1. Формула вычислит наибольшее значение, которое меньше или равно среднему значению.
  • Если ваш столбец поиска отсортирован по убыванию , введите -1. Формула вычислит наименьшее значение, которое больше или равно среднему значению.
  • Если ваш массив поиска содержит значение , точно равное среднему, вы можете ввести 0 для точного совпадения. Никакой сортировки не требуется.

В нашем примере данные в столбце D отсортированы в порядке убывания, поэтому мы используем -1 для типа соответствия. В результате мы получаем «Токио», так как его население (13 189 000) является ближайшим, превышающим среднее значение (12 269 006).

Что делать с ошибками поиска?

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

=ЕСНД(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Не найдено»)

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

Если вы хотите перехватывать все ошибки, а не только #Н/Д, используйте функцию ЕСЛИОШИБКА вместо ЕСНД:

=ЕСЛИОШИБКА(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Что-то пошло не так!»)

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

Итак, еще раз об основных преимуществах формулы ИНДЕКС ПОИСКПОЗ.

  • Возможен ли «левый» поиск?

  • Повлияет ли на результат вставка и удаление столбцов?

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

  • Возможен ли поиск по строкам и столбцам?

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

  • Как сделать поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям?

    Можно выполнять поиск по двум или более условиям без добавления дополнительных столбцов. Вот формула массива, которая решит проблему:
    {=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

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

Вот еще несколько статей по этой теме:

Поиск нужных данных в диапазоне

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

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

index1.gif

Необходимо определить регион поставки по артикулу товара, набранному в ячейку C16.

Задача решается при помощи двух функций:

=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)

Функция ПОИСКПОЗ ищет в столбце D1:D13 значение артикула из ячейки C16. Последний аргумент функции 0 — означает поиск точного (а не приблизительного) соответствия. Функция выдает порядковый номер найденного значения в диапазоне, т.е. фактически номер строки, где найден требуемыый артикул.

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

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

  • Использование функции ВПР (VLOOKUP) для поиска и подстановки значений.
  • Улучшенная версия функции ВПР (VLOOKUP)
  • Многоразовый ВПР

Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ

​Смотрите также​ Excel:​ определение в каких​ сделано правильно в​ (столбца) первого элемента​ округлялась бы до​ получаем для зеленой​Во-первых, нам нужно определить​

​ в столбце и​ название месяца Июнь​

​ анализа отчета по​

​ появятся фигурные скобки.​

  • ​ аналогичной задачи с​ значений, поэтому перед​ найденные значения, воспользуемся​ небольшой список, в​. Формула возвращает цену​Для поиска значения в​Если необходимо изменить условия​ именно строках диапазона​

  • ​ строке формул появятся​ в таблице в​ 700, а ширина​ ячейки решение:​

    ​ номер строки, соответствующей​​ строке Excel​ – это значение​ продажам.​В ячейку F1 введите​ использованием Условного форматирования.​ вводом формулы нужно​

  • ​ формулой массива:​ котором искомое значение​ на другую деталь,​ большом списке можно​ формулы так, чтобы​

​ находится каждое минимальное​ фигурные скобки.​ этой строке (столбце)​ 480 — до​=ИНДЕКС(B2:F10; ПОИСКПОЗ(J2;A2:A10;0); ПОИСКПОЗ(J3;B1:F1;0))​ выбранному пользователем в​Читайте также: Поиск значения​​ будет использовано в​​Например, как эффектно мы​ вторую формулу:​Имеем таблицу, в которой​ выделить сразу весь​=ИНДЕКС(Список; НАИМЕНЬШИЙ(​ (Воронеж) не находится​​ потому что функция​ ​ использовать функцию просмотра.​​ можно было в​ значение. Это нам​Обратите внимание ниже на​

​ с помощью функций​ 600 и стоимость​или в английском варианте​ желтой ячейке товару.​ в диапазоне таблицы​ качестве поискового критерия.​ отобразили месяц, в​Снова Для подтверждения нажмите​ записаны объемы продаж​ диапазон, т.е. ячейки​ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30);​​ в крайнем левом​​ ВПР нашла ближайшее​​ Функция ВПР часто​ Excel выбрать первое​ необходимо по причине​ рисунок, где в​СТОЛБЕЦ (COLUMN)​ составила бы уже​ =INDEX(B2:F10;MATCH(J2;A2:A10;0);MATCH(J3;B1:F1;0))​ Это поможет сделать​ Excel по столбцам​

​В ячейку D2 введите​ котором была максимальная​ комбинацию клавиш CTRL+SHIFT+Enter.​ определенных товаров в​С10:С19​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​ столбце. Поэтому мы​ число, меньшее или​ используется, но можно​ максимальное, но меньше​ определения именно первого​ ячейку B3 была​и​ 462. Для бизнеса​Слегка модифицируем предыдущий пример.​ функция​ и строкам​ формулу:​

​ продажа, с помощью​Найдено в каком месяце​ разных месяцах. Необходимо​, ввести формулу в​Алгоритм работы формулы следующий​ не можем использовать​ равное указанному (2345678).​ задействовать и функции​ чем 70:​ наименьшего значения. Реализовывается​ введена данная формула​СТРОКА (ROW)​ так гораздо интереснее!​

Типичный пример использования функции ВПР

​ Предположим, что у​ПОИСКПОЗ (MATCH)​По сути содержимое диапазона​Для подтверждения после ввода​

Использование функции ГПР

​ второй формулы. Не​ и какая была​ в таблице найти​ Строке формул и​ (для просмотра промежуточных​ функцию ВПР. Для​ Эта ошибка может​ ГПР, ИНДЕКС и​

Одновременное использование функций ИНДЕКС и ПОИСКПОЗ

​=70;»»;B6:B18));СТРОКА(B6:B18)-СТРОКА(B5);»»)))’ class=’formula’>​ данная задача с​ в массиве:​выдергиваем значение города или​ :)​ нас имеется вот​из категории​ нас вообще не​ формулы нажмите комбинацию​ сложно заметить что​ наибольшая продажа Товара​ данные, а критерием​ нажать​ шагов работы формулы​ поиска значения «Воронеж»​ привести к неправильному​

​ ПОИСКПОЗ.​Как в Excel выбрать​ помощью функции СТРОКА,​Выборка соответственного значения с​ товара из таблицы​0​ такая ситуация:​Ссылки и массивы (Lookup​ интересует, нам нужен​ клавиш CTRL+SHIFT+Enter, так​ во второй формуле​ 4 на протяжении​ поиска будут заголовки​CRTL+SHIFT+ENTER​ воспользуйтесь клавишей​ в диапазоне B1:B11​ выставлению счета клиенту.​Общий вид функции ВПР​ первое минимальное значение​ она заполняет элементы​ первым наименьшим числом:​ с помощью функции​

Использование функций ИНДЕКС и ПОИСКПОЗ для поиска значения

Еще о функциях поиска

  • ​- поиск точного​Идея в том, что​

  • ​ and Reference)​ просто счетчик строк.​

  • ​ как формула будет​ мы использовали скелет​

​ двух кварталов.​

support.office.com

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск

​ строк и столбцов.​.​F9​ будет использоваться функция​Если для аргумента «приблизительное​ и ее аргументов:​ кроме нуля:​ массива в памяти​С такой формулой нам​ИНДЕКС (INDEX)​ соответствия без каких​ пользователь должен ввести​

​. В частности, формула​ То есть изменить​ выполнена в массиве.​​ первой формулы без​​В первом аргументе функции​

Задача

​ Но поиск должен​Для скрытия ошибок #ССЫЛКА!,​):​ ПОИСКПОЗ. Оно найдено​

А. Найти значения, которые содержат критерий

​ соответствие» указано значение​=ВПР(;;;)​

​Как легко заметить, эти​ программы номерами строк​ удалось выбрать минимальное​Если приходиться работать с​ либо округлений. Используется​ в желтые ячейки​ПОИСКПОЗ(J2; A2:A10; 0)​ аргументы на: СТРОКА(B2:B11)​

​ А в строке​ функции МАКС. Главная​ ВПР (Вертикальный ПРосмотр)​​ быть выполнен отдельно​​ возвращаемой формулой массива,​Функция ПОИСК(), перебирая элементы​ в строке 4.​​ ЛОЖЬ или 0,​​Например, =ВПР(21500;C2:E7;3;ЛОЖЬ).​

​ формулы отличаются между​ листа. Но сначала​ значение относительно чисел.​

​ большими таблицами определенно​
​ для 100%-го совпадения​
​ высоту и ширину​

​даст нам нужный​ или СТРОКА(С2:С11) –​ формул появятся фигурные​ структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0).​​ указывается ссылка на​​ по диапазону строки​

  • ​ к диапазону​ исходного списка, определяет,​ Затем функция ИНДЕКС​ а точного совпадения​Первый аргумент (часть, необходимая​ собой только функциями​ от всех этих​ Далее разберем принцип​ найдете в них​ искомого значения с​ двери для, например,​ результат (для​ это никак не​ скобки.​ Мы заменили функцию​
  • ​ ячейку где находится​ или столбца. То​С10:С19​ содержится ли в​
  • ​ использует это значение​ нет, вместо неправильного​ для работы функции)​ МИН и МАКС​ номеров вычитается номер​ действия формулы и​ дублирующийся суммы разбросаны​ одним из значений​ шкафа, которую он​Яблока​ повлияет на качество​В ячейку F1 введите​ МАКС на ПОИСКПОЗ,​ критерий поиска. Во​ есть будет использоваться​применено правило Условного​
  • ​ нем значение-критерий. Если​ в качестве аргумента​ значения формула возвращает​
  • ​ — это искомое​ и их аргументами.​
  • ​ на против первой​ пошагово проанализируем весь​ вдоль целого столбца.​ в таблице. Естественно,​ хочеть заказать у​это будет число​

​ формулы. Главное, что​ вторую формулу:​ которая в первом​ втором аргументе указывается​ только один из​ форматирования.​ значение не содержится,​ поиска и находит​ в ячейку строку​ значение. Это может​Скачать пример выборки из​ строки таблицы –​ порядок всех вычислений.​ В тоже время​ применяется при поиске​ компании-производителя, а в​​ 6). Первый аргумент​​ в этих диапазонах​Снова Для подтверждения нажмите​ аргументе использует значение,​​ диапазон ячеек для​​ критериев. Поэтому здесь​

​В этом случае будут​ то возвращается ошибка​ численность населения Воронежа​​ «#Н/Д». Это наилучшее​​ быть ссылка на​ таблицы в Excel.​

Б. Найти значения, которые совпадают с критерием (точное совпадение)

​ B5, то есть​​ у вас может​ текстовых параметров (как​ серой ячейке должна​ этой функции -​​ по 10 строк,​​ CTRL+SHIFT+Enter.​

​ полученное предыдущей формулой.​ просмотра в процессе​ нельзя применить функцию​
​ выведены все значения,​
​ #ЗНАЧ! В противном​
​ в четвертом столбце​

B. Найти значения, которые начинаются с критерия

​ решение. В данном​ ячейку, например B2,​Теперь Вас ни что​ число 5. Это​Ключевую роль здесь играет​ возникнуть необходимость выбрать​​ в прошлом примере),​​ появиться ее стоимость​

​ искомое значение (​ как и в​В первом аргументе функции​
​ Оно теперь выступает​
​ поиска. В третьем​
​ ИНДЕКС, а нужна​

Г. Найти значения, которые заканчиваются на критерий

​ которые совпадают с​ случае возвращается числовое​ (столбец D). Использованная​ случае «#Н/Д» не​ или значение, например​ не ограничивает. Один​​ делается потому, что​​ функция ИНДЕКС. Ее​

​ данные из таблицы​ т.к. для них​ из таблицы. Важный​
​Яблоко​
​ таблице. И нумерация​
​ ГПР (Горизонтальный ПРосмотр)​

​ в качестве критерия​
​ аргументе функции ВПР​ специальная формула.​ критерием (без учета​ значение, соответствующее номеру​ формула показана в​ означает, что формула​ «кузьмина» или 21500.​ раз разобравшись с​ функция ИНДЕКС работает​ номинальное задание –​ с первым наименьшим​ округление невозможно.​

excel2.ru

Поиск значения в столбце и строке таблицы Excel

​ нюанс в том,​из желтой ячейки​ начинается со второй​ указываем ссылку на​ для поиска месяца.​ должен указываться номер​Для решения данной задачи​ РЕгиСТра). Критерий вводится​ начальной позиции вхождения​ ячейке A14.​ введена неправильно (за​Второй аргумент — это​ принципами действия формул​ с номерами внутри​ это выбирать из​ числовым значением, которое​Важно отметить, что при​ что если пользователь​

Поиск значений в таблице Excel

​ J2), второй -​ строки!​ ячейку с критерием​ И в результате​ столбца, из которого​

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

Отчет объем продаж товаров.

​Краткий справочник: обзор функции​ исключением неправильно введенного​ диапазон ячеек, который,​ в массиве Вы​ таблицы, а не​ исходной таблицы (указывается​ имеет свои дубликаты.​ использовании приблизительного поиска​ вводит нестандартные значения​ диапазон ячеек, где​Если вы знакомы с​ для поиска. Во​ функция ПОИСКПОЗ нам​ следует взять значение​ схематической таблице, которая​E6​ из списка (здесь​ ВПР​ номера). Это означает,​

Поиск значения в строке Excel

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

​ с округлением диапазон​ размеров, то они​

  1. ​ мы ищем товар​ функцией​ втором аргументе указана​ возвращает номер столбца​ на против строки​
  2. ​ соответствует выше описанным​.​
  3. ​ нам не важен​Функции ссылки и поиска​ что номер 2345678​ содержит искомое значение.​ их под множество​ листа Excel. В​ – A6:A18) значения​ данных по условию.​ поиска — а​Результат поиска по строкам.
  4. ​ должны автоматически округлиться​ (столбец с товарами​
  5. ​ВПР (VLOOKUP)​ ссылка на просматриваемый​

Найдено название столбца.

​ 2 где находится​ с именем Товар​ условиям.​Для создания списка, содержащего​ номер позиции, важно,​

Принцип действия формулы поиска значения в строке Excel:

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

​ этой цели можно​ таблица — должна​ в таблице и​ A2:A10), третий аргумент​ аналогом​ аргумент генерирует функция​ продаж для товара​ как нам заранее​ поиска значений по​ формулой массива:​Функция ЕСЛИОШИБКА() используется для​ в функции ВПР​ искали значение 2345768.​ содержащий искомое значение​ задач.​ только номера строк​ учетом критериев определённых​ успешно использовать формулу​

​ быть отсортирована по​ в серой ячейке​ задает тип поиска​ГПР (HLOOKUP)​ СТРОКА, которая создает​ 4. После чего​ не известен этот​ вертикали и горизонтали:​=ИНДЕКС(Список; НАИМЕНЬШИЙ(​ подавления ошибки #ЗНАЧ!​К началу страницы​В этом примере показано,​ или ссылку на​andron359​ листа. Чтобы не​ во втором (номер​ в массиве.​ возрастанию (для Типа​ должна появиться стоимость​ (0 — точное​

Как получить заголовки столбцов по зачиню одной ячейки?

​, то должны помнить,​ в памяти массив​ в работу включается​ номер мы с​Над самой таблицей расположена​ЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30);​ заменяя ее на​Найдем текстовые значения, удовлетворяющие​ как работает функция.​ ячейку, должен быть​: Добрый вечер !​ получилось смещение необходимо​ строки внутри таблицы)​Чтобы определить соответствующие значение​ сопоставления = 1)​ изготовления двери для​ совпадение наименования, приблизительный​ что эта замечательные​ номеров строк из​ функция ИНДЕКС, которая​ помощью функции СТОЛБЕЦ​ строка с результатами.​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​ число 0;​ заданному пользователем критерию.​ Если ввести значение​ крайним левым столбцом​ Подскажите как формулой​ сопоставить порядок номеров​ и третьем (номер​ первому наименьшему числу​ или по убыванию​ этих округленных стандарных​ поиск запрещен).​ функции ищут информацию​ 10 элементов. Так​ возвращает значение по​ создаем массив номеров​ В ячейку B1​В этом случае будут​Функция ЕСЛИ() заменяет числовые​ Поиск будем осуществлять​ в ячейку B2​ в диапазоне.​ на основе 2​

​ строк листа и​

Поиск значения в столбце Excel

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

​ значения, возвращенные функцией​ в диапазоне с​ (первый аргумент), функция​Третий аргумент — это​ данных выбрать значения​

​ таблицы с помощи​ аргументах. Так как​ таблицы по условию.​ = -1) по​

  1. ​Решение для серой ячейки​ мы должны определить​ параметру, т.е. в​ части у нас​ столбца из определенного​
  2. ​ B4:G15.​ поискового запроса, то​
  3. ​ которые начинаются или​ ПОИСК(), на номер​ повторяющимися значениями. При​ ВПР выполняет поиск​ столбец в диапазоне​ из таблицы ,​ вычитанием разницы. Например,​ наша исходная таблица​Результат поиска по столбцам.
  4. ​ Допустим мы хотим​ строчкам и по​
  5. ​ будет практически полностью​ порядковый номер столбца​

Найдено название строки.

Принцип действия формулы поиска значения в столбце Excel:

​ одномерном массиве -​ находится 10 строк.​ в ее аргументах​Это позволяет функции ВПР​ есть заголовок столбца​ совпадают с критерием.​ позиции значения в​ наличии повторов, можно​ в ячейках C2:E7​ поиска ячеек, содержащий​ спасибо заранее.​ если таблица находится​ A6:A18 имеет только​ узнать первый самый​ столбцам.​ аналогично предыдущему примеру:​

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

​ значение, которое нужно​_Igor_61​ на 5-ой строке​ 1 столбец, то​ дешевый товар на​Иначе приблизительный поиск корректно​=ИНДЕКС(C7:K16; ПОИСКПОЗ(D3;B7:B16;1); ПОИСКПОЗ(G3;C6:K6;1))​ нужным нам городом.​ по столбцу. А​ используя каждый номер​

​ у нас есть​ значений. В результате​ А в ячейке​ ячейку​ =0 (соответствует ошибке​ будет соответствовать несколько​ возвращает наиболее близкое​ найти.​: Здравствуйте! Попробуйте в​ листа значит каждая​ третий аргумент в​ рынке из данного​ работать не будет!​=INDEX(C7:K16; MATCH(D3;B7:B16;1); MATCH(G3;C6:K6;1))​

​ Функция​ если нам необходимо​ строки создает массив​

​ номер столбца 2,​ в памяти хранится​ D1 формула поиска​G6​

​ #ЗНАЧ!), то возвращается​ значений. Для их​ приблизительное совпадение из​Хотя четвертый аргумент не​ D7:​ строка таблицы будет​ функции ИНДЕКС мы​ прайса:​Для точного поиска (Тип​Разница только в последнем​ПОИСКПОЗ(J3; B1:F1; 0)​ выбирать данные из​ соответственных значений продаж​ а номер строки​ все соответствующие значения​ должна возвращать результат​

exceltable.com

Двумерный поиск в таблице (ВПР 2D)

​.​ число 30. В​​ вывода в отдельный​​ третьего столбца в​ является обязательным, большинство​​=ИНДЕКС(G6:R30;ПОИСКПОЗ(B7;G6:G30;-1);ПОИСКПОЗ(C7;G6:R6;-1))​​ на 5 меньше​ не указываем.​Автоматическую выборку реализует нам​ сопоставления = 0)​ аргументе обеих функций​сделает это и​ двумерной таблицы по​ из таблицы по​ в диапазоне где​ каждому столбцу по​ вычисления соответствующего значения.​Для создания списка, содержащего​ принципе, вместо 30​ диапазон удобно использовать​ диапазоне — столбца​ пользователей вводят аргумент​(поиск пересечения строки​ чем соответственная строка​Чтобы вычислить номер строки​

Пример 1. Найти значение по товару и городу

​ формула, которая будет​ сортировка не нужна​ПОИСКПОЗ (MATCH)​ выдаст, например, для​ совпадению сразу двух​

Excel поиск значения в таблице

​ определенному месяцу (Июню).​ хранятся названия месяцев​ строке Товар 4​ После чего в​ найденные значения, воспользуемся​ можно указать любое​ формулы массива.​ E (третий аргумент).​ ЛОЖЬ (или 0).​ и столбца)​ листа.​ таблицы напротив наименьшего​ обладать следующей структурой:​ и никакой роли​-​Киева​ параметров — и​

  • ​ Далее функции МАКС​ в любые случаи​ (а именно: 360;​ ячейке F1 сработает​ формулой массива:​ число, которое больше​​Пусть Исходный список значений​​В данном примере четвертый​​ Почему? Потому что​andron359​​После того как будут​​ числа в смежном​​=ИНДЕКС(диапазон_данных_для_выборки;МИН(ЕСЛИ(диапазон=МИН(диапазон);СТРОКА(диапазон)-СТРОКА(заголовок_столбца);””)))​ не играет.​​Типу сопоставления​​, выбранного пользователем в​ по строке и​ осталось только выбрать​ будет 1. Тогда​​ 958; 201; 605;​​ вторая формула, которая​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ номера последней заполненной​ (например, перечень инструментов)​ аргумент оставлен пустым,​ в этом случае​: Не не получается​ отобраны все минимальные​ диапазоне B6:B18 и​В месте «диапазон_данных_для_выборки» следует​В комментах неоднократно интересуются​
  • ​(здесь он равен​ желтой ячейке J3​ по столбцу одновременно?​ максимальное значение из​ нам осталось функцией​ 462; 832). После​​ уже будет использовать​​ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30);​ позиции Исходного списка​​ находится в диапазоне​​ поэтому функция возвращает​ функция будет искать​ , должно быть​
  • ​ значения и сопоставлены​ использовать его в​ указать область значений​ — а как​ минус 1). Это​ значение 4.​ Давайте рассмотрим несколько​​ этого массива.​​ ИНДЕКС получить соответственное​ чего функции МАКС​​ значения ячеек B1​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​​ (это нужно для​A10:A19​ приблизительное совпадение.​точное совпадение​ -9,400​ все номера строк​ качестве значения для​ A6:A18 для выборки​ сделать обратную операцию,​ некий аналог четвертого​И, наконец, в-третьих, нам​

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

​ и D1 в​

​В этом случае будут​ правильной сортировки функцией​

Пример 2. Приблизительный двумерный поиск

​(см. Файл примера).​Разобравшись с функцией ВПР,​. Можно ввести аргумент​_Igor_61​

Excel поиск значения в таблице

​ таблицы функция МИН​ второго аргумента, применяется​ из таблицы (например,​ т.е. определить в​ аргумента функции​ нужна функция, которая​ задач и их​ формулу с помощью​ B4:G4 – Февраль​ из этого массива​ качестве критериев для​ выведены все значения,​ НАИМЕНЬШИЙ());​Выведем в отдельный диапазон​ несложно будет освоить​ ИСТИНА или вообще​: Я не разбирался​ выберет наименьший номер​ несколько вычислительных функций.​ текстовых), из которых​ первом примере город​ВПР (VLOOKUP) — Интервального​ умеет выдавать содержимое​

​ решения.​ функций ИНДЕКС и​ (второй месяц).​

​ максимальное число и​

​ поиска соответствующего месяца.​

​ которые заканчиваются или​Функция НАИМЕНЬШИЙ() сортирует массив​​ значения, которые удовлетворяют​​ и функцию ГПР.​​ не вводить аргумент,​​ в Вашей огромной​ строки. Эта же​Функция ЕСЛИ позволяет выбрать​ функция ИНДЕКС выберет​​ и товар если​ просмотра (Range Lookup)​​ ячейки из таблицы​Предположим, что у нас​ ПОИСКПОЗ, мы создали​

  • ​​​ возвратить в качестве​Теперь узнаем, в каком​ совпадают с критерием.​ номеров строк по​ критерию. Рассмотрим различные​ Функция ГПР использует​ но если точное​ формуле со множеством​ строка будет содержать​ значение из списка​ одно результирующие значение.​ мы знаем значение​. Вообще говоря, возможных​
  • ​ по номеру строки​​ имеется вот такой​ вторую для вывода​Вторым вариантом задачи будет​ значения для ячейки​ максимальном объеме и​ Критерий вводится в​ возрастанию;​ варианты поиска.​ те же аргументы,​ совпадение не будет​ «умножить» и «разделить​
  • ​ первое наименьшее число,​​ по условию. В​ Аргумент «диапазон» означает​ из таблицы? Тут​ значений для него​ и столбца -​ двумерный массив данных​ названия строк таблицы​ поиск по таблице​ D1, как результат​ в каком месяце​ ячейку​Функция ДВССЫЛ() возвращает массив​

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

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

P.S. Обратная задача

​ столбце B6:B18. На​ указано где проверяется​ числовыми значениями, из​ формулы массива (не​1​ИНДЕКС (INDEX)​ товарам:​ Название соответствующих строк​ месяца в качестве​Как видно конструкция формулы​ Товара 4.​.​Функция ИНДЕКС() возвращает текстовые​​Диапазон может охватить в​​ столбцов.​​приблизительное совпадение​​ подставляйте в Вашу​

Excel поиск значения в таблице

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

  1. ​ каждая ячейка в​ которых следует выбрать​ забудьте ввести их​- поиск ближайшего​из той же​Пользователь вводит (или выбирает​​ (товаров) выводим в​
  2. ​ критерия. В такие​ проста и лаконична.​Чтобы выполнить поиск по​Для создания списка, содержащего​ значения из Исходного​ том числе и​​Если вы не хотите​​, а большинство людей​​ формулу​
  3. ​ строки функции ИНДЕКС​ диапазоне B6:B18 на​ первое наименьшее число.​​ с помощью сочетания​

planetaexcel.ru

Выборка значений из таблицы Excel по условию

​ наименьшего числа, т.е.​ категории​ из выпадающих списков)​ F2.​ случаи мы должны​ На ее основе​ столбцам следует:​ найденные значения, воспользуемся​ списка, из строк,​ незаполненные ячейки перечня.​ ограничиваться поиском в​ приблизительное совпадение не​buchlotnik​ выберет соответствующее значение​ наличие наименьшего числового​ В аргументе «заголовок_столбца»​ клавиш​ введенные пользователем размеры​

Как сделать выборку в Excel по условию

​Ссылки и массивы (Lookup​ в желтых ячейках​ВНИМАНИЕ! При использовании скелета​ изменить скелет нашей​ можно в похожий​В ячейку B1 введите​ формулой массива:​ номера которых были​ В дальнейшем пользователь​

Прайс продуктов.

​ крайнем левом столбце,​ устраивает.​: Доброй ночи -​

​ из таблицы A6:A18.​

​ значения: ЕСЛИB6:B18=МИНB6:B18. Таким​ для второй функции​Ctrl+Shift+Enter​ двери округлялись бы​ and Reference)​ нужный товар и​ формулы для других​ формулы: функцию ВПР​ способ находить для​ значение Товара 4​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ получены на предыдущем​ может расширить перечень​ можно использовать сочетание​Чтобы убедиться в том,​ в зелёных ячейках​ В итоге формула​ способом в памяти​ СТРОКА, следует указать​

​, а не обычного​ до ближайших наименьших​. Первый аргумент этой​ город. В зеленой​ задач всегда обращайте​ заменить ГПР, а​ определенного товара и​ – название строки,​ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30);​ шаге.​ инструментов, указанные ниже​

​ функций ИНДЕКС и​ что использование приблизительного​ расчёт — в​ возвращает это значение​ программы создается массив​

​ ссылку на ячейку​Enter​

Условие выбрать первое минимальное.

​ подходящих размеров из​ функции — диапазон​ ячейке нам нужно​ внимание на второй​ функция СТОЛБЕЦ заменяется​ другие показатели. Например,​ которое выступит в​

​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​

Как работает выборка по условию

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

​ загонял — громоздко,​ в качестве результата​ ИСТИНА и ЛОЖЬ.​ который содержит диапазон​Принцип их работы следующий:​ случае высота 500​ случае это вся​ вывести число из​

​ поисковой функции ГПР.​Это позволит нам узнать​ значение объема продаж​В ячейку D1 введите​О поиске текстовых​ значений, сколько содержится​Выведем в отдельный диапазон​ немного сложнее формулы​ что ищется цена​ но при желании​ вычисления.​ В нашем случаи​ числовых значений.​перебираем все ячейки в​ округлилась бы до​ таблица, т.е. B2:F10),​ таблицы, соответствующее выбранным​ Количество охваченных строк​ какой объем и​ используя для этого​ следующую формулу:​

​ значений с использованием​ в исходном списке​ все значения Исходного​ с функцией ВПР,​ детали с идентификатором​ можно​Поняв принцип действия формулы,​ 3 элемента массива​Естественно эту формулу следует​ диапазоне B2:F10 и​ 450, а ширина​ второй — номер​ параметрам. Фактически, мы​ в диапазоне указанного​ какого товара была​ функции МИН или​Для подтверждения после ввода​ подстановочных знаков читайте​ (когда все значения​ списка, в которых​ но она открывает​ 2345768, но вы​andron359​ теперь можно легко​ будут содержат значение​ выполнять в массиве.​ ищем совпадение с​ 480 до 300,​ строки, третий -​ хотим найти значение​ в аргументе, должно​ максимальная продажа в​ СРЗНАЧ. Вам ни​ формулы нажмите комбинацию​ в статье Поиск​ удовлетворяют критерию). Поэтому​содержится​ больше возможностей. Поэтому​ перепутали две цифры​: Добрый день !​ ее модифицировать и​ ИСТИНА, так как​

​ Поэтому для подтверждения​ искомым значением (13)​ и стоимость двери​ номер столбца (а​ ячейки с пересечения​ совпадать с количеством​ определенный месяц.​ что не препятствует,​ горячих клавиш CTRL+SHIFT+Enter,​ текстовых значений в​ формулу массива нужно распространять​текст-критерий (например, слово​ некоторые пользователи предпочитают​ и ввели их​ в вашей формуле​ настраивать под другие​ минимальное значение 8​ ее ввода следует​ из ячейки J4​ была бы 135.​

Как выбрать значение с наибольшим числом в Excel

​ их мы определим​ определенной строки и​ строк в таблице.​Чтобы найти какой товар​ чтобы приведенный этот​ так как формула​ списках. Часть2. Подстановочные​ на диапазон той​ дрель). Критерий вводится​

Первое максимальное значение.

​ применять сочетание функций​ в формулу следующим​ считает для первой​ условия. Например, формулу​ содержит еще 2​ нажимать не просто​

​ с помощью функции​Максимальное значение по условию.

​-1​ с помощью функций​ столбца в таблице.​

Больше чем ноль.

​ А также нумерация​ обладал максимальным объемом​ скелет формулы применить​ должна быть выполнена​ знаки. В статье​

​ же размерности, что​ в ячейку​

​ ИНДЕКС и ПОИСКПОЗ,​ образом:​ строки , а​ можно изменить так,​ дубликата в столбце​ клавишу Enter, а​ЕСЛИ (IF)​- поиск ближайшего​ ПОИСКПОЗ).​ Для наглядности, разобъем​

exceltable.com

Поиск значений в таблице (Формулы/Formulas)

​ должна начинаться со​​ продаж в определенном​ с использованием более​ в массиве. Если​ Выделение ячеек c​ и исходный список.​С6​

​ а не функцию​​=ВПР​ в следующей выдаёт​​ чтобы выбрать первое​​ B6:B18.​ целую комбинацию клавиш​

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

​ второй строки!​​ месяце следует:​ сложных функций для​ все сделано правильно,​ ТЕКСТом с применением​
​ Вышеуказанная формула массива​.​ ВПР.​(2345678;A1:E7;5)​

​ н/д ?​​ максимальное значение в​Следующий шаг – это​ CTRL+SHIFT+Enter. Если все​ определяем номер строки​ нестандартная высота 500​ в одну формулу,​ этапа.​

​Скачать пример поиска значения​​В ячейку B2 введите​ реализации максимально комфортного​ в строке формул​ Условного форматирования приведено решение​ будет возвращать несколько​Для создания списка, содержащего​

excelworld.ru

​В данном примере представлен​

Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в 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);"")

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

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

Понравилась статья? Поделить с друзьями:
  • Поиск значений php excel
  • Поиск значение в таблице excel формула
  • Поиск знака в строке excel
  • Поиск знака абзаца в excel
  • Поиск запятой в ячейке excel