Excel найти номер строки с текстом

Студворк — интернет-сервис помощи студентам

Доброго времени суток.

Итак, есть таблица, в которой указано, какие товары (столбец B) к какой группе (столбец A) принадлежит.
И есть таблица с названиями товаров, прописанными в столбце D.

Задача — в столбце E указать, к какой группе принадлежит товар в столбце D.

То есть, например:

1) Взять текст из ячейки D1
2) Начать просмотр ячеек столбца B на наличие в них такого текста из ячейки D1
3) При первом совпадении — вернуть в ячейку E1 содержимое соответствующей ячейки столбца A
(например, текст «Телефон» найден в ячейке B4, тогда вернуть в D1 текст «Электроника», который находится в ячейке A4).

Также прикрепил таблицу XLS.

Спасибо.

ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функций ПОИСК и ПОИСКБ в Microsoft Excel.

Описание

Функции ПОИСК И ПОИСКБ находят одну текстовую строку в другой и возвращают начальную позицию первой текстовой строки (считая от первого символа второй текстовой строки). Например, чтобы найти позицию буквы «n» в слове «printer», можно использовать следующую функцию:

=ПОИСК(«н»;»принтер»)

Эта функция возвращает 4, так как «н» является четвертым символом в слове «принтер».

Можно также находить слова в других словах. Например, функция

=ПОИСК(«base»;»database»)

возвращает 5, так как слово «base» начинается с пятого символа слова «database». Можно использовать функции ПОИСК и ПОИСКБ для определения положения символа или текстовой строки в другой текстовой строке, а затем вернуть текст с помощью функций ПСТР и ПСТРБ или заменить его с помощью функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ. Эти функции показаны в примере 1 данной статьи.

Важно: 

  • Эти функции могут быть доступны не на всех языках.

  • Функция ПОИСКБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой БДЦС. В противном случае функция ПОИСКБ работает так же, как функция ПОИСК, и отсчитывает по одному байту на каждый символ.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Синтаксис

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

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

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

  • Искомый_текст    Обязательный. Текст, который требуется найти.

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

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

Замечание

  • Функции ПОИСК и ПОИСКБ не учитывают регистр. Если требуется учитывать регистр, используйте функции НАЙТИ и НАЙТИБ.

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

  • Если значение find_text не найдено, #VALUE! возвращается значение ошибки.

  • Если аргумент начальная_позиция опущен, то он полагается равным 1.

  • Если start_num больше нуля или больше, чем длина аргумента within_text, #VALUE! возвращается значение ошибки.

  • Аргумент начальная_позиция можно использовать, чтобы пропустить определенное количество знаков. Допустим, что функцию ПОИСК нужно использовать для работы с текстовой строкой «МДС0093.МужскаяОдежда». Чтобы найти первое вхождение «М» в описательной части текстовой строки, задайте для аргумента начальная_позиция значение 8, чтобы поиск не выполнялся в той части текста, которая является серийным номером (в данном случае — «МДС0093»). Функция ПОИСК начинает поиск с восьмого символа, находит знак, указанный в аргументе искомый_текст, в следующей позиции, и возвращает число 9. Функция ПОИСК всегда возвращает номер знака, считая от начала просматриваемого текста, включая символы, которые пропускаются, если значение аргумента начальная_позиция больше 1.

Примеры

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

Данные

Выписки

Доход: маржа

маржа

Здесь «босс».

Формула

Описание

Результат

=ПОИСК(«и»;A2;6)

Позиция первого знака «и» в строке ячейки A2, начиная с шестого знака.

7

=ПОИСК(A4;A3)

Начальная позиция строки «маржа» (искомая строка в ячейке A4) в строке «Доход: маржа» (ячейка, в которой выполняется поиск — A3).

8

=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем»)

Заменяет слово «маржа» словом «объем», определяя позицию слова «маржа» в ячейке A3 и заменяя этот знак и последующие пять знаков текстовой строкой «объем.»

Доход: объем

=ПСТР(A3;ПОИСК(» «;A3)+1,4)

Возвращает первые четыре знака, которые следуют за первым пробелом в строке «Доход: маржа» (ячейка A3).

марж

=ПОИСК(«»»»;A5)

Позиция первой двойной кавычки («) в ячейке A5.

5

=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1)

Возвращает из ячейки A5 только текст, заключенный в двойные кавычки.

босс

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

Поиск в программе Microsoft Excel

Поиск в Microsoft Excel

​Смотрите также​=ПСТР(A3;1;НАЙТИ(» №»;A3;1)-1)​К языкам, поддерживающим БДЦС,​/​ на листе​ искать,0))​Результат: Beijing​ВПР+СУММ​A1:C10​(номер_строки) и​ быть упорядочен по​(массив) – это​ «объем.»​, с которого следует​ будут отображены все​ написание этого слова​ виде списка в​

​В документах Microsoft Excel,​Выделяет текст от позиции​

Поисковая функция в Excel

​ относятся японский, китайский​ПОИСКПОЗ​Lookup table​=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального​2.​. Дело в том,​, и требуется извлечь​column_num​ убыванию, то есть​

Способ 1: простой поиск

​ диапазон ячеек, из​Доход: объем​ начать поиск.​ ячейки, в которых​ с большой буквы,​ нижней части поискового​ которые состоят из​ 1 до знака​ (упрощенное письмо), китайский​

  1. ​сообщает об ошибке​​расположены в произвольном​​ поиска,столбец, в котором​​MIN​​ что проверка каждого​ данные из столбца​(номер_столбца) функции​​ от большего к​​ которого необходимо извлечь​=ПСТР(A3;ПОИСК(» «;A3)+1,4)​​Функции​​ находятся данные слова​ как это было​ окна. В этом​ большого количества полей,​​ «№» в ячейке​​ (традиционное письмо) и​

    Переход к поиску в Microsoft Excel

  2. ​#N/A​ порядке.​ искать,0)),(MATCH(значение для горизонтального​(МИН). Формула находит​ значения в массиве​B​​MATCH​​ меньшему.​​ значение.​​Возвращает первые четыре знака,​ПОИСК​​ в любом порядке.​​ бы по умолчанию,​ списке находятся информация​ часто требуется найти​ А3 («Медная пружина»)​ корейский.​​(#Н/Д) или​​Вот такая формула​​ поиска,строка в которой​​ минимум в столбце​

    Обычный поиск в Microsoft Excel

  3. ​ требует отдельного вызова​​, то нужно задать​​(ПОИСКПОЗ). Иначе результат​На первый взгляд, польза​row_num​ которые следуют за​и​

    ​Как только настройки поиска​ уже не попадут.​ о содержимом ячеек​ определенные данные, наименование​Медная пружина​НАЙТИ(искомый_текст;просматриваемый_текст;[нач_позиция])​#VALUE!​ИНДЕКС​ искать,0))​D​ функции​

    ​ значение​ формулы будет ошибочным.​ от функции​(номер_строки) – это​ первым пробелом в​ПОИСКБ​ установлены, следует нажать​ Кроме того, если​ с данными, удовлетворяющими​ строки, и т.д.​=ПСТР(A4;1;НАЙТИ(» №»;A4;1)-1)​НАЙТИБ(искомый_текст;просматриваемый_текст;[нач_позиция])​(#ЗНАЧ!). Если Вы​/​Обратите внимание, что для​и возвращает значение​ВПР​2​Стоп, стоп… почему мы​ПОИСКПОЗ​

    ​ номер строки в​ строке «Доход: маржа»​не учитывают регистр.​​ на кнопку​​ включена функция​

    Результат обычного поиска в Microsoft Excel

    ​ запросу поиска, указан​ Очень неудобно, когда​Выделяет текст от позиции​Аргументы функций НАЙТИ и​ хотите заменить такое​

  4. ​ПОИСКПОЗ​ двумерного поиска нужно​ из столбца​. Поэтому, чем больше​​для аргумента​​ не можем просто​вызывает сомнение. Кому​ массиве, из которой​ (ячейка A3).​ Если требуется учитывать​«Найти всё»​«Ячейки целиком»​ их адрес расположения,​ приходится просматривать огромное​ 1 до знака​ НАЙТИБ описаны ниже.​ сообщение на что-то​решает задачу:​ указать всю таблицу​C​ значений содержит массив​col_index_num​ использовать функцию​ нужно знать положение​ нужно извлечь значение.​марж​ регистр, используйте функции​или​, то в выдачу​

Найти всё в Microsoft Excel

Способ 2: поиск по указанному интервалу ячеек

​ а также лист​ количество строк, чтобы​ «№» в ячейке​Искомый_текст​ более понятное, то​{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)*​ в аргументе​той же строки:​ и чем больше​(номер_столбца) функции​VLOOKUP​ элемента в диапазоне?​ Если не указан,​=ПОИСК(«»»»;A5)​

  1. ​НАЙТИ​«Найти далее»​ будут добавляться только​

    Выделение интервала в Microsoft Excel

  2. ​ и книга, к​ найти нужное слово​​ А4 («Переменный резистор»)​​    — обязательный аргумент. Текст,​ можете вставить формулу​(B2=’Lookup table’!$B$2:$B$13),0),3)}​​array​​=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))​ формул массива содержит​ВПР​(ВПР)? Есть ли​ Мы хотим знать​ то обязательно требуется​Позиция первой двойной кавычки​и​

Поиск по интервалу в Microsoft Excel

Способ 3: Расширенный поиск

​, чтобы перейти к​ элементы, содержащие точное​ которым они относятся.​ или выражение. Сэкономить​Переменный резистор​ который необходимо найти.​ с​{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*​(массив) функции​

​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))​ Ваша таблица, тем​, вот так:​ смысл тратить время,​ значение этого элемента!​ аргумент​ («) в ячейке​НАЙТИБ​ поисковой выдаче.​ наименование. Например, если​ Для того, чтобы​ время и нервы​Иван леконтцев​Просматриваемый_текст​ИНДЕКС​(B2=’Lookup table’!$B$2:$B$13);0);3)}​INDEX​Результат: Lima​ медленнее работает Excel.​=VLOOKUP(«lookup value»,A1:C10,2)​ пытаясь разобраться в​Позвольте напомнить, что относительное​column_num​ A5.​.​Как видим, программа Excel​ вы зададите поисковый​ перейти к любому​ поможет встроенный поиск​: можно сделать фильтр​

Результат поиска в Microsoft Excel

​    — обязательный аргумент. Текст,​и​Эта формула сложнее других,​(ИНДЕКС).​3.​С другой стороны, формула​

  1. ​=ВПР(«lookup value»;A1:C10;2)​​ лабиринтах​​ положение искомого значения​(номер_столбца).​​5​​В аргументе​

    Переход в параметры поиска в Microsoft Excel

  2. ​ представляет собой довольно​ запрос «Николаев», то​ из результатов выдачи,​ Microsoft Excel. Давайте​ (автофильтр) и используя​ в котором нужно​ПОИСКПОЗ​ которые мы обсуждали​А теперь давайте испытаем​

    Параметры поиска по умолчанию в Microsoft Excel

    ​AVERAGE​​ с функциями​​Если позднее Вы вставите​​ПОИСКПОЗ​​ (т.е. номер строки​column_num​=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1)​искомый_текст​ простой, но вместе​ ячейки, содержащие текст​ достаточно просто кликнуть​ разберемся, как он​ его выводить только​ найти искомый текст.​в функцию​ ранее, но вооруженные​ этот шаблон на​(СРЗНАЧ). Формула вычисляет​ПОИСКПОЗ​ новый столбец между​и​ и/или столбца) –​(номер_столбца) – это​​Возвращает из ячейки A5​​можно использовать подстановочные​ с тем очень​ «Николаев А. Д.»,​ по нему левой​ работает, и как​ необходимые значения.​Начальная_позиция​ЕСЛИОШИБКА​ знанием функций​ практике. Ниже Вы​

    Настройки поиска в Microsoft Excel

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

    Область поиска в Microsoft Excel

    ​ им пользоваться.​​видео как сделать​​    — необязательный аргумент. Знак,​.​ИНДЕКС​ видите список самых​D2:D10​ИНДЕКС​A​​?​​ то, что мы​ массиве, из которого​ в двойные кавычки.​ (​

    Содержимое поиска в Microsoft Excel

    ​ поиска. Для того,​​ добавлены не будут.​​ этого курсор перейдет​Скачать последнюю версию​ автофильтр.​ с которого нужно​Синтаксис функции​и​ населённых стран мира.​, затем находит ближайшее​просто совершает поиск​и​=VLOOKUP(«Japan»,$B$2:$D$2,3)​ должны указать для​ нужно извлечь значение.​босс​?​ чтобы произвести простейший​По умолчанию, поиск производится​ на ту ячейку​ Excel​_______________​ начать поиск. Первый​ЕСЛИОШИБКА​ПОИСКПОЗ​ Предположим, наша задача​ к нему и​​ и возвращает результат,​​B​​=ВПР(«Japan»;$B$2:$D$2;3)​​ аргументов​ Если не указан,​Этот учебник рассказывает о​) и звездочку (​ писк, достаточно вызвать​​ только на активном​​ Excel, по записи​

    Область поиска в программе Microsoft Excel

    ​Поисковая функция в программе​в вопросах о​ знак в тексте​​очень прост:​​Вы одолеете ее.​

    Переход к формату поиска в Microsoft Excel

    ​ узнать население США​ возвращает значение из​ выполняя аналогичную работу​, то значение аргумента​В данном случае –​row_num​ то обязательно требуется​ главных преимуществах функций​*​ поисковое окно, ввести​ листе Excel. Но,​ которой пользователь сделал​ Microsoft Excel предлагает​

    Формат поиска в Microsoft Excel

    ​ офисных продуктах неплохо​ «просматриваемый_текст» имеет номер​IFERROR(value,value_if_error)​ Самая сложная часть​ в 2015 году.​​ столбца​​ заметно быстрее.​

    Переход к выбору ячейки для установки формата в Microsoft Excel

    ​ придется изменить с​ смысла нет! Цель​(номер_строки) и/или​ аргумент​ИНДЕКС​). Вопросительный знак соответствует​

    Выбор ячейки для установки формата в Microsoft Excel

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

    Установка формата поиска в Microsoft Excel

    ​ 1. Если номер​ЕСЛИОШИБКА(значение;значение_если_ошибка)​ – это функция​Хорошо, давайте запишем формулу.​C​Теперь, когда Вы понимаете​2​ этого примера –​column_num​row_num​и​ любому знаку, звездочка —​ и нажать на​«Искать»​Если у вас довольно​ текстовые или числовые​ какой версией пользуйтесь.​ опущен, он полагается​

    Поиск по отдельным словам в Microsoft Excel

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

Запуск расширенного поиска в Microsoft Excel

​(номер_строки)​ПОИСКПОЗ​ любой последовательности знаков.​ кнопку. Но, в​вы переведете в​ масштабная таблица, то​ значения через окно​Сергей харин​ равным 1.​value​, думаю, её нужно​ создать сложную формулу​=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))​ стоит изучать функции​3​ Вы могли понять,​INDEX​Если указаны оба аргумента,​

​в Excel, которые​

lumpics.ru

ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)

​ Если требуется найти​ то же время,​ позицию​​ в таком случае​​ «Найти и заменить».​​: Ctrl+F​​Функции НАЙТИ и НАЙТИБ​

Описание

​(значение) – это​​ объяснить первой.​​ в Excel с​​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))​​ПОИСКПОЗ​, иначе формула возвратит​ как функции​(ИНДЕКС). Как Вы​ то функция​ делают их более​ вопросительный знак или​ существует возможность настройки​«В книге»​ не всегда удобно​ Кроме того, в​

​Ввести условие поиска​

​ работают с учетом​​ значение, проверяемое на​​MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)​ вложенными функциями, то​Результат: Moscow​

​и​ результат из только​ПОИСКПОЗ​

​ помните, функция​

​ИНДЕКС​​ привлекательными по сравнению​​ звездочку, введите перед​ индивидуального поиска с​, то поиск будет​ производить поиск по​ приложении имеется возможность​​Enter​​ регистра и не​​ предмет наличия ошибки​​ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)​ я сначала каждую​Используя функцию​ИНДЕКС​ что вставленного столбца.​и​​ИНДЕКС​​возвращает значение из​​ с​​ ним тильду (​ большим количеством различных​​ производиться по всем​​ всему листу, ведь​​ расширенного поиска данных.​​Inga zayonts​ позволяют использовать подстановочные​ (в нашем случае​

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

  • ​СРЗНАЧ​, давайте перейдём к​Используя​

  • ​ИНДЕКС​может возвратить значение,​ ячейки, находящейся на​ВПР​~​ параметров и дополнительных​ листам открытого файла.​ в поисковой выдаче​Простой поиск данных в​: У вас не​ знаки. Если необходимо​ – результат формулы​ искомое значение –​

​Итак, начнём с двух​в комбинации с​ самому интересному и​ПОИСКПОЗ​работают в паре.​

Синтаксис

​ находящееся на пересечении​

​ пересечении указанных строки​

​. Вы увидите несколько​).​

  • ​ настроек.​​В параметре​ может оказаться огромное​

  • ​ программе Excel позволяет​​ полный вопрос…​ выполнить поиск без​ИНДЕКС​​ это​​ функций​

  • ​ИНДЕКС​​ увидим, как можно​/​​ Последующие примеры покажут​​ заданных строки и​ и столбца.​

Замечание

  • ​ примеров формул, которые​​Если​​Автор: Максим Тютюшев​​«Просматривать»​​ количество результатов, которые​ найти все ячейки,​С таким же​​ учета регистра или​​/​​1​​ПОИСКПОЗ​

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

  • ​ПОИСКПОЗ​​ на практике.​​, Вы можете удалять​ связки​

  • ​ не может определить,​​INDEX​​ справиться со многими​не найден, возвращается​

  • ​ синтаксис формулы и​​ поиска. По умолчанию,​​ не нужны. Существует​ введенный в поисковое​ : » где​​ воспользуйтесь функцией ПОИСК​​); а аргумент​ – это результат​

  • ​ номера строки и​​, в качестве третьего​​Любой учебник по​ или добавлять столбцы​ИНДЕКС​ какие именно строка​​(ИНДЕКС):​​ сложными задачами, перед​ значение ошибки #ЗНАЧ!.​ использование функций​ как уже говорилось​ способ ограничить поисковое​ окно набор символов​ находится переулок» и​​ или ПОИСКБ.​​value_if_error​ умножения. Хорошо, что​ столбца для функции​ аргумента функции​ВПР​ к исследуемому диапазону,​и​​ и столбец нас​​=INDEX(A1:C10,2,3)​ которыми функция​Если аргумент​ПОИСК​​ выше, поиск ведется​​ пространство только определенным​ (буквы, цифры, слова,​ не указать какой​​Если в качестве аргумента​​(значение_если_ошибка) – это​ же мы должны​ИНДЕКС​​ПОИСКПОЗ​​твердит, что эта​ не искажая результат,​ПОИСКПОЗ​​ интересуют.​​=ИНДЕКС(A1:C10;2;3)​

Примеры

​ВПР​начальная_позиция​и​ по порядку построчно.​ диапазоном ячеек.​ и т.д.) без​ именно.​ «искомый_текст» задана пустая​ значение, которое нужно​ перемножить и почему?​:​чаще всего нужно​ функция не может​

​ так как определен​

​, которая легко справляется​

​Теперь, когда Вам известна​

​Формула выполняет поиск в​

​бессильна.​

​опущен, то он​

​ПОИСКБ​

​ Переставив переключатель в​

​Выделяем область ячеек, в​

​ учета регистра.​Сергей Харин предложил​ строка («»), функция​ возвратить, если формула​

​ Давайте разберем все​

​ПОИСКПОЗ для столбца​

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

​В нескольких недавних статьях​

​ полагается равным 1.​

​в Microsoft Excel.​ позицию​ которой хотим произвести​Находясь во вкладке​ универсальный поиск.​ НАЙТИ выводит значение,​ выдаст ошибку.​ по порядку:​

​– мы ищем​

​1​

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

​ мы приложили все​

​Если аргумент​

​Функции​«По столбцам»​ поиск.​

​«Главная»​

​Но учитывая что​

​ равное первому знаку​Например, Вы можете вставить​Берем первое значение в​

​ в столбце​

support.office.com

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

​или​ не является крайним​​ это большое преимущество,​​ВПР​​ полагаю, что уже​​и возвращает значение​ усилия, чтобы разъяснить​начальная_позиция​ПОИСК​​, можно задать порядок​​Набираем на клавиатуре комбинацию​, кликаем по кнопке​ у вас лист​ в строке поиска​ формулу из предыдущего​ столбце​​B​​-1​

​ левым в диапазоне​ особенно когда работать​оказывается в тупике.​ становится понятно, как​ ячейки во​​ начинающим пользователям основы​​не больше 0​И​ формирования результатов выдачи,​ клавиш​«Найти и выделить»​ большогог размера, то​​ (знак с номером,​​ примера в функцию​A​, а точнее в​в случае, если​

​ поиска, то нет​ приходится с большими​Решая, какую формулу использовать​​ функции​​2-й​ функции​ или больше, чем​ПОИСКБ​ начиная с первого​Ctrl+F​, которая расположена на​ это не самый​ соответствующим аргументу «нач_позиция»​​ЕСЛИОШИБКА​​(Customer) на листе​​ диапазоне​​ Вы не уверены,​ шансов получить от​ объёмами данных. Вы​ для вертикального поиска,​ПОИСКПОЗ​​строке и​​ВПР​

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

  • ​ длина​находят одну текстовую​
  • ​ столбца.​, после чего запуститься​
  • ​ ленте в блоке​ удобный вариант.​
  • ​ или 1).​вот таким образом:​
    • ​Main table​B2:B11​
    • ​ что просматриваемый диапазон​ВПР​
    • ​ можете добавлять и​ большинство гуру Excel​
    • ​и​
    • ​3-м​и показать примеры​

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

​просматриваемого текста​ строку в другой​В графе​​ знакомое нам уже​​ инструментов​​Машину можно заставить​​Искомый_текст не может содержать​=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),​и сравниваем его​, значение, которое указано​ содержит значение, равное​

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

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

​ подстановочные знаки.​​»Совпадений не найдено.​​ со всеми именами​ в ячейке​ среднему. Если же​Функции​ беспокоясь о том,​ИНДЕКС​

​могут работать вместе.​
​ из ячейки​

​ для продвинутых пользователей.​ #ЗНАЧ!.​

  • ​ позицию первой текстовой​​определяется, среди каких​«Найти и заменить»​. В появившемся меню​ нужную информацию в​
  • ​Если «искомый_текст» отсутствует в​​ Попробуйте еще раз!»)​ покупателей в таблице​H2​ Вы уверены, что​ПОИСКПОЗ​ что нужно будет​/​​ПОИСКПОЗ​​C2​
  • ​ Теперь мы попытаемся,​​Аргумент​ строки (считая от​ конкретно элементов производится​. Дальнейшие действия точно​ выбираем пункт​ удобном для вас​ тексте «просматриваемый_текст», функции​​=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));​​ на листе​

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

​ если не отговорить​​начальная_позиция​​ первого символа второй​

​ поиск. По умолчанию,​
​ такие же, что​

​«Найти…»​ месте, так же​​ НАЙТИ и НАЙТИБ​​»Совпадений не найдено.​Lookup table​​ выглядеть так:​​ – ставьте​​ИНДЕКС​​ функцию​намного лучше, чем​​ искомого значения в​​Очень просто, правда? Однако,​

​ Вас от использования​можно использовать, чтобы​ текстовой строки). Например,​ это формулы, то​ и при предыдущем​. Вместо этих действий​ можно искать по​​ возвращают значение ошибки​​ Попробуйте еще раз!»)​

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

​(A2:A13).​​=MATCH($H$2,$B$1:$B$11,0)​​0​в Excel гораздо​ВПР​ВПР​ заданном диапазоне ячеек,​ на практике Вы​

​ВПР​​ пропустить определенное количество​​ чтобы найти позицию​ есть те данные,​ способе. Единственное отличие​ можно просто набрать​​ индексу/артикулу/номеру тлф и​​ #ЗНАЧ!.​И теперь, если кто-нибудь​Если совпадение найдено, уравнение​

​=ПОИСКПОЗ($H$2;$B$1:$B$11;0)​
​для поиска точного​

​ более гибкие, и​​.​​. Однако, многие пользователи​ а​

​ далеко не всегда​
​, то хотя бы​

  • ​ знаков. Допустим, что​​ буквы «n» в​ которые при клике​ будет состоять в​ на клавиатуре сочетание​ т. д.​Если «нач_позиция» не больше​ введет ошибочное значение,​
  • ​ возвращает​​Результатом этой формулы будет​ совпадения.​ им все-равно, где​
  • ​3. Нет ограничения на​​ Excel по-прежнему прибегают​ИНДЕКС​​ знаете, какие строка​​ показать альтернативные способы​ функцию​ слове «printer», можно​
    • ​ по ячейке отображаются​​ том, что поиск​​ клавиш​​Компьютер может «дописывить»​ нуля, функции НАЙТИ​ формула выдаст вот​1​4​Если указываете​ находится столбец со​
    • ​ размер искомого значения.​​ к использованию​использует это число​ и столбец Вам​​ реализации вертикального поиска​​ПОИСК​​ использовать следующую функцию:​​ в строке формул.​ выполняется только в​Ctrl+F​​ строку по введенноу​​ и НАЙТИБ возвращают​​ такой результат:​​(ИСТИНА), а если​
    • ​, поскольку «USA» –​​1​ значением, которое нужно​Используя​ВПР​ (или числа) и​ нужны, и поэтому​ в Excel.​нужно использовать для​

​=ПОИСК(«н»;»принтер»)​ Это может быть​​ указанном интервале ячеек.​​.​ слову​ значение ошибки #ЗНАЧ!.​Если Вы предпочитаете в​ нет –​

​ это 4-ый элемент​, значения в столбце​ извлечь. Для примера,​ВПР​, т.к. эта функция​ возвращает результат из​ требуется помощь функции​Зачем нам это? –​​ работы с текстовой​​Эта функция возвращает​​ слово, число или​​Как уже говорилось выше,​​После того, как вы​​можно найти и​Если «нач_позиция» больше, чем​​ случае ошибки оставить​​0​ списка в столбце​ поиска должны быть​ снова вернёмся к​, помните об ограничении​ гораздо проще. Так​ соответствующей ячейки.​ПОИСКПОЗ​

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

​ спросите Вы. Да,​ строкой «МДС0093.МужскаяОдежда». Чтобы​4​ ссылка на ячейку.​ при обычном поиске​ перешли по соответствующим​​ вывести на экран​​ длина аргумента «просматриваемый_текст»,​​ ячейку пустой, то​​(ЛОЖЬ).​​B​​ упорядочены по возрастанию,​ таблице со столицами​ на длину искомого​ происходит, потому что​​Ещё не совсем понятно?​​.​ потому что​ найти первое вхождение​, так как «н»​

​ При этом, программа,​ в результаты выдачи​​ пунктам на ленте,​​ все что имеет​​ функции НАЙТИ и​​ можете использовать кавычки​

​Далее, мы делаем то​(включая заголовок).​ а формула вернёт​
​ государств и населением.​ значения в 255​ очень немногие люди​

​ Представьте функции​Функция​ВПР​ «М» в описательной​ является четвертым символом​

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

​ выполняя поиск, видит​ попадают абсолютно все​ или нажали комбинацию​ определенный цвет и/или​

​ НАЙТИБ, то возвращается​
​ («»), как значение​

​ же самое для​ПОИСКПОЗ для строки​ максимальное значение, меньшее​

  • ​ На этот раз​​ символов, иначе рискуете​​ до конца понимают​ИНДЕКС​​MATCH​​– это не​ части текстовой строки,​​ в слове «принтер».​​ только ссылку, а​​ ячейки, содержащие последовательный​​ «горячих клавиш», откроется​ размер не превышает​ значение ошибки #ЗНАЧ!.​
  • ​ второго аргумента функции​​ значений столбца​​– мы ищем​​ или равное среднему.​​ запишем формулу​​ получить ошибку​​ все преимущества перехода​и​(ПОИСКПОЗ) в Excel​ единственная функция поиска​ задайте для аргумента​

    ​Можно также находить слова​
    ​ не результат. Об​

    ​ набор поисковых символов​ окно​ L*H​​Аргумент «нач_позиция» можно использовать,​​ЕСЛИОШИБКА​​B​​ значение ячейки​Если указываете​ПОИСКПОЗ​#VALUE!​​ с​​ПОИСКПОЗ​ ищет указанное значение​ в Excel, и​

​начальная_позиция​ в других словах.​

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

​ этом эффекте велась​ в любом виде​«Найти и заменить»​​Но для этого​​ чтобы пропустить нужное​. Вот так:​​(Product).​​H3​​-1​​/​​(#ЗНАЧ!). Итак, если​​ВПР​в таком виде:​

​ в диапазоне ячеек​ её многочисленные ограничения​значение 8, чтобы​​ Например, функция​​ речь выше. Для​ не зависимо от​во вкладке​ как раз и​​ количество знаков. Предположим,​​IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)​​Затем перемножаем полученные результаты​​(2015) в строке​

​, значения в столбце​
​ИНДЕКС​

​ таблица содержит длинные​на связку​=INDEX(столбец из которого извлекаем,(MATCH​ и возвращает относительную​ могут помешать Вам​ поиск не выполнялся​​=ПОИСК(«base»;»database»)​​ того, чтобы производить​​ регистра.​​«Найти»​ надо знать те​ например, что для​ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)​​ (1 и 0).​​1​​ поиска должны быть​​, которая покажет, какое​ строки, единственное действующее​ИНДЕКС​​ (искомое значение,столбец в​​ позицию этого значения​

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

​ получить желаемый результат​ в той части​возвращает​ поиск именно по​​К тому же, в​​. Она нам и​​ условия, о которых​​ поиска строки «МДС0093.МесячныеПродажи»​​Надеюсь, что хотя бы​​ Только если совпадения​, то есть в​ упорядочены по убыванию,​​ место по населению​​ решение – это​и​ котором ищем,0))​ в диапазоне.​ во многих ситуациях.​ текста, которая является​5​​ результатам, по тем​​ выдачу может попасть​​ нужна. В поле​​ вы промолчали.​​ используется функция НАЙТИ.​​ одна формула, описанная​ найдены в обоих​ ячейках​ а возвращено будет​

​ занимает столица России​ использовать​​ПОИСКПОЗ​​=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое​​Например, если в диапазоне​​ С другой стороны,​ серийным номером (в​, так как слово​​ данным, которые отображаются​​ не только содержимое​​«Найти»​​Приводите конкретный пример,​​ Чтобы найти номер​​ в этом учебнике,​

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

​ столбцах (т.е. оба​​A1:E1​ минимальное значение, большее​​ (Москва).​​ИНДЕКС​, а тратить время​ значение;столбец в котором​B1:B3​ функции​ данном случае —​ «base» начинается с​ в ячейке, а​​ конкретной ячейки, но​​вводим слово, символы,​​ а лучше предоставьте​​ первого вхождения «М»​ показалась Вам полезной.​ критерия истинны), Вы​:​ или равное среднему.​Как видно на рисунке​/​ на изучение более​ ищем;0))​

​содержатся значения New-York,​ИНДЕКС​​ «МДС0093»). Функция​​ пятого символа слова​​ не в строке​ и адрес элемента,​ или выражения, по​ файл​ в описательную часть​ Если Вы сталкивались​​ получите​​=MATCH($H$3,$A$1:$E$1,0)​В нашем примере значения​ ниже, формула отлично​ПОИСКПОЗ​​ сложной формулы никто​​Думаю, ещё проще будет​ Paris, London, тогда​и​ПОИСК​ «database». Можно использовать​

​ формул, нужно переставить​ на который она​​ которым собираемся производить​​Как использовать функцию​ текстовой строки, задайте​​ с другими задачами​​1​=ПОИСКПОЗ($H$3;$A$1:$E$1;0)​​ в столбце​​ справляется с этой​​.​​ не хочет.​​ понять на примере.​​ следующая формула возвратит​

​ПОИСКПОЗ​
​начинает поиск с​

​ функции​ переключатель из позиции​ ссылается. Например, в​​ поиск. Жмем на​​ВПР (VLOOKUP)​​ значение аргумента «нач_позиция»​​ поиска, для которых​. Если оба критерия​​Результатом этой формулы будет​​D​​ задачей:​​Предположим, Вы используете вот​Далее я попробую изложить​ Предположим, у Вас​

​ цифру​​– более гибкие​​ восьмого символа, находит​​ПОИСК​​«Формулы»​ ячейке E2 содержится​ кнопку​для поиска и​ равным 8, чтобы​ не смогли найти​ ложны, или выполняется​5​упорядочены по возрастанию,​=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))​ такую формулу с​ главные преимущества использования​ есть вот такой​3​ и имеют ряд​ знак, указанный в​и​​в позицию​​ формула, которая представляет​

​«Найти далее»​ выборки нужных значений​​ поиск в той​​ подходящее решение среди​​ только один из​, поскольку «2015» находится​ поэтому мы используем​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​ВПР​​ПОИСКПОЗ​​ список столиц государств:​, поскольку «London» –​ особенностей, которые делают​ аргументе​ПОИСКБ​​«Значения»​​ собой сумму ячеек​​, или на кнопку​​ из списка мы​

​ части текста, которая​ информации в этом​​ них – Вы​​ в 5-ом столбце.​ тип сопоставления​​Теперь у Вас не​​, которая ищет в​​и​​Давайте найдём население одной​ это третий элемент​​ их более привлекательными,​​искомый_текст​

​для определения положения​
​. Кроме того, существует​

​ A4 и C3.​«Найти всё»​ недавно разбирали. Если​​ является серийным номером,​​ уроке, смело опишите​ получите​Теперь вставляем эти формулы​1​​ должно возникать проблем​​ ячейках от​​ИНДЕКС​​ из столиц, например,​

​ в списке.​
​ по сравнению с​

​, в следующей позиции,​ символа или текстовой​​ возможность поиска по​ Эта сумма равна​.​ вы еще с​ не производился. Функция​ свою проблему в​0​ в функцию​. Формула​ с пониманием, как​B5​в Excel, а​ Японии, используя следующую​=MATCH(«London»,B1:B3,0)​​ВПР​​ и возвращает число​​ строки в другой​​ примечаниям. В этом​​ 10, и именно​​При нажатии на кнопку​ ней не знакомы​ НАЙТИ начинает со​​ комментариях, и мы​​.​

​ИНДЕКС​​ИНДЕКС​​ работает эта формула:​до​ Вы решите –​ формулу:​=ПОИСКПОЗ(«London»;B1:B3;0)​​.​​ 9. Функция​ текстовой строке, а​ случае, переключатель переставляем​ это число отображается​«Найти далее»​​ — загляните сюда,​​ знака 8, находит​ все вместе постараемся​Теперь понимаете, почему мы​и вуаля:​/​Во-первых, задействуем функцию​

​D10​ остаться с​​=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))​​Функция​​Базовая информация об ИНДЕКС​​ПОИСК​ затем вернуть текст​ в позицию​ в ячейке E2.​

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

​мы перемещаемся к​ не пожалейте пяти​ искомый_текст в следующем​​ решить её.​​ задали​​=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))​​ПОИСКПО​MATCH​значение, указанное в​ВПР​=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0))​

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

​MATCH​​ и ПОИСКПОЗ​​всегда возвращает номер​ с помощью функций​«Примечания»​ Но, если мы​ первой же ячейке,​ минут, чтобы сэкономить​ знаке и возвращает​Урок подготовлен для Вас​​1​​=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))​

​З​​(ПОИСКПОЗ), которая находит​​ ячейке​​или переключиться на​​Теперь давайте разберем, что​(ПОИСКПОЗ) имеет вот​Используем функции ИНДЕКС и​ знака, считая от​ПСТР​.​ зададим в поиске​ где содержатся введенные​ себе потом несколько​ число 9. Функция​ командой сайта office-guru.ru​​, как искомое значение?​​Если заменить функции​​возвращает «Moscow», поскольку​​ положение «Russia» в​A2​ИНДЕКС​ делает каждый элемент​

​ такой синтаксис:​ ПОИСКПОЗ в Excel​ начала​и​

​Ещё более точно поиск​
​ цифру «4», то​

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

​ группы символов. Сама​ часов.​ НАЙТИ всегда возвращает​Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/​

  • ​ Правильно, чтобы функция​​ПОИСКПОЗ​​ величина населения города​ списке:​:​

    ​/​
    ​ этой формулы:​

  • ​MATCH(lookup_value,lookup_array,[match_type])​Преимущества ИНДЕКС и ПОИСКПОЗ​​просматриваемого текста​​ПСТРБ​ можно задать, нажав​ среди результатов выдачи​ ячейка становится активной.​​Если же вы знакомы​​ номер знака, считая​
  • ​Перевел: Антон Андронов​ПОИСКПОЗ​

    ​на значения, которые​
    ​ Москва – ближайшее​

​=MATCH(«Russia»,$B$2:$B$10,0))​​=VLOOKUP(A2,B5:D10,3,FALSE)​ПОИСКПОЗ​Функция​​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​​ перед ВПР​​, включая символы, которые​​или заменить его​ на кнопку​ будет все та​Поиск и выдача результатов​

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

​ с ВПР, то​ от левого края​​Автор: Антон Андронов​​возвращала позицию только,​​ они возвращают, формула​​ меньшее к среднему​=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​=ВПР(A2;B5:D10;3;ЛОЖЬ)​.​MATCH​lookup_value​ИНДЕКС и ПОИСКПОЗ –​

​ пропускаются, если значение​​ с помощью функций​​«Формат»​ же ячейка E2.​​ производится построчно. Сначала​​ — вдогон -​ текста «просматриваемый_текст», а​​В этой статье описаны​​ когда оба критерия​

​ станет легкой и​
​ значению (12 269​

​Далее, задаём диапазон для​

​Формула не будет работать,​​1. Поиск справа налево.​​(ПОИСКПОЗ) ищет значение​(искомое_значение) – это​​ примеры формул​​ аргумента​ЗАМЕНИТЬ​​.​​ Как такое могло​

​ обрабатываются все ячейки​
​ стоит разобраться с​

​ не от значения​

​ синтаксис формулы и​​ выполняются.​​ понятной:​ 006).​​ функции​​ если значение в​Как известно любому​ «Japan» в столбце​ число или текст,​​Как находить значения, которые​​начальная_позиция​

​и​
​При этом открывается окно​

​ получиться? Просто в​

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

​ первой строки. Если​​ похожими функциями:​​ аргумента «нач_позиция».​​ использование функций​​Обратите внимание:​​=INDEX($A$1:$E$11,4,5))​​Эта формула эквивалентна двумерному​INDEX​​ ячейке​​ грамотному пользователю Excel,​B​​ который Вы ищите.​​ находятся слева​​больше 1.​​ЗАМЕНИТЬБ​ формата ячеек. Тут​ ячейке E2 в​ данные отвечающие условию​ИНДЕКС (INDEX)​Скопируйте образец данных из​НАЙТИ​В этом случае​​=ИНДЕКС($A$1:$E$11;4;5))​​ поиску​(ИНДЕКС), из которого​

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

​ нужно извлечь значение.​длиннее 255 символов.​​не может смотреть​​ в ячейках​ значением, в том​ и ПОИСКПОЗ​​ следующей таблицы и​​ в примере 1​​ ячеек, которые будут​​ адрес на ячейку​​ программа начинает искать​​ПОИСКПОЗ (MATCH)​​ вставьте их в​НАЙТИБ​ не обязательный аргумент​ на пересечении​и позволяет найти​ В нашем случае​

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

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

​ Вместо неё Вам​ влево, а это​​B2:B10​​ числе логическим, или​Поиск по известным строке​ вставьте их в​ данной статьи.​

​ участвовать в поиске.​​ A4, который как​​ во второй строке,​​, владение которыми весьма​​ ячейку A1 нового​в Microsoft Excel.​ функции​4-ой​ значение на пересечении​ это​

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

​ ячейку A1 нового​
​Важно:​

​ Можно устанавливать ограничения​ раз включает в​ и так далее,​

​ облегчит жизнь любому​ листа Excel. Чтобы​Функции НАЙТИ и НАЙТИБ​ИНДЕКС​строки и​​ определённой строки и​​A2:A10​​ формулу​​ значение должно обязательно​3​lookup_array​​Поиск по нескольким критериям​​ листа Excel. Чтобы​ ​

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

​ИНДЕКС​ находиться в крайнем​, поскольку «Japan» в​(просматриваемый_массив) – диапазон​​ИНДЕКС и ПОИСКПОЗ в​​ отобразить результаты формул,​​Эти функции могут быть​​ по выравниванию, шрифту,​

​ 4.​ удовлетворительный результат.​ Гляньте на следующий​ выделите их и​ текстовой строки в​ в первом аргументе​столбца в диапазоне​В этом примере формула​

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

​Затем соединяем обе части​/​ левом столбце исследуемого​ списке на третьем​ ячеек, в котором​ сочетании с ЕСЛИОШИБКА​ выделите их и​

​ доступны не на​ границе, заливке и​​Но, как отсечь такие,​​Поисковые символы не обязательно​ пример:​ нажмите клавишу F2,​​ другую и возвращают​​ мы задаем всю​

  • ​A1:E11​​ИНДЕКС​ и получаем формулу:​​ПОИСКПОЗ​​ диапазона. В случае​ месте.​​ происходит поиск.​​Так как задача этого​ нажмите клавишу F2,​​ всех языках.​​ защите, по одному​ и другие заведомо​

    ​ должны быть самостоятельными​
    ​Необходимо определить регион поставки​

    ​ а затем — клавишу​​ начальную позицию искомой​​ таблицу и должны​, то есть значение​/​​=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))​​:​

  • ​ с​​Функция​match_type​​ учебника – показать​​ а затем — клавишу​​Функция ПОИСКБ отсчитывает по​​ из этих параметров,​ неприемлемые результаты выдачи​​ элементами. Так, если​​ по артикулу товара,​

    ​ ВВОД. При необходимости​
    ​ строки относительно первого​

    ​ указать функции, из​​ ячейки​​ПОИСКПОЗ​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​

​=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))​ПОИСКПОЗ​​INDEX​​(тип_сопоставления) – этот​

​ возможности функций​
​ ВВОД. При необходимости​

​ два байта на​​ или комбинируя их​​ поиска? Именно для​ в качестве запроса​ набранному в ячейку​ измените ширину столбцов,​

​ знака второй строки.​
​ какого столбца нужно​

​E4​будет очень похожа​​Подсказка:​​=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))​​/​​(ИНДЕКС) использует​​ аргумент сообщает функции​​ИНДЕКС​ измените ширину столбцов,​​ каждый символ, только​​ вместе.​

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

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

​ этих целей существует​​ будет задано выражение​​ C16.​ чтобы видеть все​​Важно:​​ извлечь значение. В​. Просто? Да!​ на формулы, которые​Правильным решением будет​4. Более высокая скорость​ИНДЕКС​​3​​ПОИСКПОЗ​​и​​ чтобы видеть все​ если языком по​Если вы хотите использовать​ расширенный поиск Excel.​

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

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

​ двух функций:​​Данные​​Эти функции могут быть​​ столбец​​ВПР​

​ в этом уроке,​
​ ссылки для​

​Если Вы работаете​
​ быть, как в​

​row_num​ найти точное или​для реализации вертикального​Данные​​ с поддержкой БДЦС.​​ ячейки, то в​​«Найти и заменить»​​ все ячейки, которые​=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)​Владимир Егоров​​ доступны не на​​C​мы показывали пример​

​ с одним лишь​
​ИНДЕКС​

​ с небольшими таблицами,​ левой, так и​(номер_строки), который указывает​​ приблизительное совпадение:​​ поиска в Excel,​Выписки​ В противном случае​ нижней части окна​любым вышеописанным способом,​ содержат данный последовательный​Функция​

  • ​Формула​ всех языках.​​(Sum), и поэтому​​ формулы с функцией​​ отличием. Угадайте каким?​​и​ то разница в​ в правой части​ из какой строки​​1​​ мы не будем​
  • ​Доход: маржа​ функция ПОИСКБ работает​​ нажмите на кнопку​​ жмем на кнопку​ набор символов даже​​ПОИСКПОЗ​​Описание​
  • ​Функция НАЙТИ предназначена для​ мы ввели​ВПР​​Как Вы помните, синтаксис​​ПОИСКПОЗ​
  • ​ быстродействии Excel будет,​ диапазона поиска. Пример:​ нужно возвратить значение.​или​ задерживаться на их​маржа​ так же, как​​«Использовать формат этой ячейки…»​​«Параметры»​ внутри слова. Например,​ищет в столбце​Результат​ языков с однобайтовой​​3​​для поиска по​

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

​.​​.​ релевантным запросу в​D1:D13​=НАЙТИ(«В»;A2)​​ кодировкой, а функция​​.​ нескольким критериям. Однако,​INDEX​ не сбились при​ заметная, особенно в​ которые находятся слева​ формула:​– находит максимальное​Приведём здесь необходимый минимум​​Формула​​ отсчитывает по одному​После этого, появляется инструмент​​В окне появляется целый​​ этом случае будет​

​значение артикула из​Позиция первой «В» в​ НАЙТИБ — для​И, наконец, т.к. нам​ существенным ограничением такого​(ИНДЕКС) позволяет использовать​ копировании формулы в​ последних версиях. Если​ покажет эту возможность​=INDEX($D$2:$D$10,3)​ значение, меньшее или​ для понимания сути,​​Описание​​ байту на каждый​

​ в виде пипетки.​ ряд дополнительных инструментов​ считаться слово «Направо».​ ячейки​

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

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

​ ячейке A2​ языков с двухбайтовой​ нужно проверить каждую​ решения была необходимость​ три аргумента:​ другие ячейки.​​ же Вы работаете​​ в действии.​​=ИНДЕКС($D$2:$D$10;3)​​ равное искомому. Просматриваемый​​ а затем разберём​​Результат​​ символ.​​ С помощью него​ для управления поиском.​ Если вы зададите​C16​1​ кодировкой. Заданный на​​ ячейку в массиве,​​ добавлять вспомогательный столбец.​​INDEX(array,row_num,[column_num])​​Вы можете вкладывать другие​​ с большими таблицами,​​2. Безопасное добавление или​

​Формула говорит примерно следующее:​​ массив должен быть​​ подробно примеры формул,​

​=ПОИСК("и";A2;6)​
​К языкам, поддерживающим БДЦС,​

​ можно выделить ту​​ По умолчанию все​​ в поисковике цифру​. Последний аргумент функции​=НАЙТИ(«в»;A2)​ компьютере язык по​ эта формула должна​​ Хорошая новость: формула​​ИНДЕКС(массив;номер_строки;[номер_столбца])​​ функции Excel в​​ которые содержат тысячи​​ удаление столбцов.​​ ищи в ячейках​ упорядочен по возрастанию,​ которые показывают преимущества​Позиция первого знака «и»​

​ относятся японский, китайский​ ячейку, формат которой​ эти инструменты находятся​​ «1», то в​​ 0 — означает​

​Позиция первой "в" в​
​ умолчанию влияет на​ быть формулой массива.​
​ИНДЕКС​
​И я поздравляю тех​ИНДЕКС​

​ строк и сотни​Формулы с функцией​ от​ то есть от​

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

​ использования​ в строке ячейки​ (упрощенное письмо), китайский​ вы собираетесь использовать.​ в состоянии, как​ ответ попадут ячейки,​​ поиск точного (а​​ ячейке A2​

​ возвращаемое значение указанным​
​ Вы можете видеть​

​/​ из Вас, кто​и​ формул поиска, Excel​ВПР​D2​ меньшего к большему.​ИНДЕКС​ A2, начиная с​ (традиционное письмо) и​После того, как формат​ при обычном поиске,​ которые содержат, например,​ не приблизительного) соответствия.​15​

​ ниже образом.​ это по фигурным​
​ПОИСКПОЗ​
​ догадался!​

​ПОИСКПОЗ​

office-guru.ru

НАЙТИ, НАЙТИБ (функции НАЙТИ, НАЙТИБ)

​ будет работать значительно​перестают работать или​до​​0​​и​​ шестого знака.​​ корейский.​

Описание

​ поиска настроен, жмем​ но при необходимости​ число «516».​ Функция выдает порядковый​=НАЙТИ(«и»;A2;3)​Функция НАЙТИ при подсчете​ скобкам, в которые​

​может искать по​​Начнём с того, что​

  • ​, например, чтобы найти​ быстрее, при использовании​ возвращают ошибочные значения,​

  • ​D10​– находит первое​ПОИСКПОЗ​7​ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция])​ на кнопку​ можно выполнить корректировку.​Для того, чтобы перейти​ номер найденного значения​Позиция первой «и» в​

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

  • ​и извлеки значение​ значение, равное искомому.​вместо​=ПОИСК(A4;A3)​ПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция])​«OK»​По умолчанию, функции​ к следующему результату,​ в диапазоне, т.е.​ строке А2, начиная​ знак, как однобайтовый,​

​ когда закончите вводить​ столбцах, без необходимости​ Для этого возьмём​ ближайшее к среднему​и​

Синтаксис

​ добавить столбец в​

​ из третьей строки,​

​ Для комбинации​ВПР​

  • ​Начальная позиция строки «маржа»​​Аргументы функций ПОИСК и​.​

  • ​«Учитывать регистр»​​ опять нажмите кнопку​ фактически номер строки,​ с третьего знака​

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

Замечания

  • ​.​ (искомая строка в​ ПОИСКБ описаны ниже.​Бывают случаи, когда нужно​и​«Найти далее»​ где найден требуемыый​8​ как один знак,​ нажать​

  • ​Предположим, у нас есть​ формулу​ вариантов формул, применительно​вместо​ функции​ ячейки​/​Функция​ ячейке A4) в​

  • ​Искомый_текст​ произвести поиск не​

  • ​«Ячейки целиком»​.​ артикул.​Данные​ независимо от выбранного​

  • ​Ctrl+Shift+Enter​ список заказов, и​ИНДЕКС​ к таблице из​

  • ​ВПР​ВПР​D4​ПОИСКПОЗ​INDEX​

  • ​ строке «Доход: маржа»​    Обязательный. Текст, который требуется​ по конкретному словосочетанию,​отключены, но, если​Так можно продолжать до​Функция​Керамический изолятор №124-ТД45-87​ по умолчанию языка.​.​ мы хотим найти​/​ предыдущего примера:​. В целом, такая​любой вставленный или​, так как счёт​всегда нужно точное​(ИНДЕКС) в Excel​ (ячейка, в которой​ найти.​ а найти ячейки,​ мы поставим галочки​ тех, пор, пока​ИНДЕКС​Медная пружина №12-671-6772​Функция НАЙТИБ при подсчете​Если всё сделано верно,​ сумму по двум​

Примеры

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

​Переменный резистор №116010​

​ рассматривает каждый двухбайтовый​

​ Вы получите результат​

​ критериям –​

​и добавим в​

​MAX​

​ работы Excel на​ результат формулы, поскольку​

​ строки.​

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

​ массива по заданным​8​

​    Обязательный. Текст, в котором​

​ поисковые слова в​

​ то в таком​ начнется по новому​A1:G13​

​Формула​

Пример 2

​ знак как два​

​ как на рисунке​

​имя покупателя​

​ неё ещё одну​

​(МАКС). Формула находит​

​13%​

​ синтаксис​

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

​ПОИСКПОЗ​ номерам строки и​=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем»)​ нужно найти значение​

​ любом порядке, даже,​

​ случае, при формировании​

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

​ ниже:​

​(Customer) и​

​ функцию​ максимум в столбце​.​ВПР​

​ в Excel:​

support.office.com

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

​должен быть равен​​ столбца. Функция имеет​Заменяет слово «маржа» словом​ аргумента​ если их разделяют​
​ результата будет учитываться​В случае, если при​
​ пересечении заданной строки​
​Результат​ поддержка языка с​Как Вы, вероятно, уже​продукт​

​ПОИСКПОЗ​​D​
​Влияние​
​требует указывать весь​

​Важно! Количество строк и​​0​ вот такой синтаксис:​
​ «объем», определяя позицию​искомый_текст​ другие слова и​ введенный регистр, и​ запуске поисковой процедуры​ (номер строки с​
​=ПСТР(A2;1;НАЙТИ(» №»;A2;1)-1)​ БДЦС и такой​
​ заметили (и не​(Product). Дело усложняется​, которая будет возвращать​и возвращает значение​ВПР​
​ диапазон и конкретный​ столбцов в массиве,​.​INDEX(array,row_num,[column_num])​ слова «маржа» в​.​ символы. Тогда данные​ точное совпадение. Если​
​ вы нажмете на​ артикулом выдает функция​Выделяет текст от позиции​
​ язык установлен по​ раз), если вводить​ тем, что один​ номер столбца.​ из столбца​на производительность Excel​
​ номер столбца, из​ который использует функция​-1​ИНДЕКС(массив;номер_строки;[номер_столбца])​ ячейке A3 и​
​Начальная_позиция​ слова нужно выделить​ вы введете слово​

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

​ кнопку​​ПОИСКПОЗ​​ 1 до знака​ умолчанию. В противном​ некорректное значение, например,​ покупатель может купить​=INDEX(Ваша таблица,(MATCH(значение для вертикального​C​ особенно заметно, если​ которого нужно извлечь​INDEX​– находит наименьшее​Каждый аргумент имеет очень​

​ заменяя этот знак​    Необязательный. Номер знака в​ с обеих сторон​ с маленькой буквы,​«Найти все»​​) и столбца (нам​​ «№» в строке​​ случае функция НАЙТИБ​​ которого нет в​ сразу несколько разных​ поиска,столбец, в котором​той же строки:​ рабочая книга содержит​

Как вȎxcel найти нужную строку в

​ данные.​(ИНДЕКС), должно соответствовать​ значение, большее или​ простое объяснение:​

​ и последующие пять​ аргументе​

​ знаком «*». Теперь​

​ то в поисковую​​, все результаты выдачи​​ нужен регион, т.е.​​ («Керамический изолятор»)​​ рассматривает каждый знак​ просматриваемом массиве, формула​​ продуктов, и имена​​ искать,0)),(MATCH(значение для горизонтального​=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))​ сотни сложных формул​Например, если у Вас​ значениям аргументов​ равное искомому значению.​array​ знаков текстовой строкой​просматриваемый_текст​ в поисковой выдаче​

​ выдачу, ячейки содержащие​​ будут представлены в​​ второй столбец).​​Керамический изолятор​​ как один знак.​ИНДЕКС​ покупателей в таблице​ поиска,строка в которой​​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))​​ массива, таких как​ есть таблица​row_num​

planetaexcel.ru

​ Просматриваемый массив должен​

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. Я надеюсь, что наши примеры формул окажутся полезными для вас.

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

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

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

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

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