Как в excel найти строку по значению ячейки

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

Описание

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

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

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

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

A

B

C

D

E

1

Имя

Правитель

Возраст

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

2

Анри

501

Плот

Иванов

3

Стэн

201

19

4

Иванов

101

максималь

5

Ларри

301

составляет

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

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

Термин

Определение

Пример

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

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

A2: C5

Превышающ

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

E2

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

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

A2: A5

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

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

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

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

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

C2: C5

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

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

ЛОЖЬ

Топ_целл

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

Оффсет_кол

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

Функции

LOOKUP ()

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

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

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


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

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

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

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

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

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

ВПР ()

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

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

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

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

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

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

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

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

INDEX () и MATCH ()

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

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

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

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


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

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

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

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

СМЕЩ () и MATCH ()

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

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

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

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

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

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

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

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

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

Skip to content

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

index1.gif

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

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

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

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

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

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

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

Поиск в программе 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

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

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

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

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

В этой статье

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

Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.

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

Дополнительные сведения можно найти в разделе функция ВПР.

Примеры ИНДЕКСов и СОВПАДЕНИй

=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))

Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.

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

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

Для этого используйте функцию ВПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

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

Дополнительные сведения можно найти в разделе функция ВПР.

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

Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.

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

C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).

Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.

1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.

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

Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.

Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.

Дополнительные сведения можно найти в разделе функции ГПР.

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

Для выполнения этой задачи используется функция ГПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.

Дополнительные сведения можно найти в разделе функции ГПР.

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

Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).

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

Щелкните ячейку в диапазоне.

На вкладке формулы в группе решения нажмите кнопку Подстановка .

Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.

Загрузка программы-надстройки «Мастер подстановок»

Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.

В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.

Поиск на листе Excel

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

Поиск перебором значений

Довольно простой в реализации способ. Например, найти в колонке «A» ячейку, содержащую «123» можно примерно так:

Минусами этого так сказать «классического» способа являются: медленная работа и громоздкость. А плюсом является его гибкость, т.к. таким способом можно реализовать сколь угодно сложные варианты поиска с различными вычислениями и т.п.

Поиск функцией Find

Гораздо быстрее обычного перебора и при этом довольно гибкий. В простейшем случае, чтобы найти в колонке A ячейку, содержащую «123» достаточно такого кода:

Вкратце опишу что делают строчки данного кода:
1-я строка: Выбираем в книге лист «Данные»;
2-я строка: Осуществляем поиск значения «123» в колонке «A», результат поиска будет в fcell;
3-я строка: Если удалось найти значение, то fcell будет содержать Range-объект, в противном случае — будет пустой, т.е. Nothing.

Полностью синтаксис оператора поиска выглядит так:

Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

What — Строка с текстом, который ищем или любой другой тип данных Excel

After — Ячейка, после которой начать поиск. Обратите внимание, что это должна быть именно единичная ячейка, а не диапазон. Поиск начинается после этой ячейки, а не с нее. Поиск в этой ячейке произойдет только когда весь диапазон будет просмотрен и поиск начнется с начала диапазона и до этой ячейки включительно.

LookIn — Тип искомых данных. Может принимать одно из значений: xlFormulas (формулы), xlValues (значения), или xlNotes (примечания).

LookAt — Одно из значений: xlWhole (полное совпадение) или xlPart (частичное совпадение).

SearchOrder — Одно из значений: xlByRows (просматривать по строкам) или xlByColumns (просматривать по столбцам)

SearchDirection — Одно из значений: xlNext (поиск вперед) или xlPrevious (поиск назад)

MatchCase — Одно из значений: True (поиск чувствительный к регистру) или False (поиск без учета регистра)

MatchByte — Применяется при использовании мультибайтных кодировок: True (найденный мультибайтный символ должен соответствовать только мультибайтному символу) или False (найденный мультибайтный символ может соответствовать однобайтному символу)

SearchFormat — Используется вместе с FindFormat. Сначала задается значение FindFormat (например, для поиска ячеек с курсивным шрифтом так: Application.FindFormat.Font.Italic = True), а потом при использовании метода Find указываем параметр SearchFormat = True. Если при поиске не нужно учитывать формат ячеек, то нужно указать SearchFormat = False.

Чтобы продолжить поиск, можно использовать FindNext (искать «далее») или FindPrevious (искать «назад»).

Примеры поиска функцией Find

Пример 1: Найти в диапазоне «A1:A50» все ячейки с текстом «asd» и поменять их все на «qwe»

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

Пример 2: Правильный поиск значения с использованием FindNext, не приводящий к зацикливанию.

В ниже следующем примере используется другой вариант продолжения поиска — с помощью той же функции Find с параметром After. Когда найдена очередная ячейка, следующий поиск будет осуществляться уже после нее. Однако, как и с FindNext, когда будет достигнут конец диапазона, Find продолжит поиск с его начала, поэтому, чтобы не произошло зацикливания, необходимо проверять совпадение с первым результатом поиска.

Пример 3: Продолжение поиска с использованием Find с параметром After.

Следующий пример демонстрирует применение SearchFormat для поиска по формату ячейки. Для указания формата необходимо задать свойство FindFormat.

Пример 4: Найти все ячейки с шрифтом «курсив» и поменять их формат на обычный (не «курсив»)

Примечание: В данном примере намеренно не используется FindNext для поиска следующей ячейки, т.к. он не учитывает формат (статья об этом: https://support.microsoft.com/ru-ru/kb/282151)

Коротко опишу алгоритм поиска Примера 4. Первые две строки определяют последнюю строку (lLastRow) на листе и последний столбец (lLastCol). 3-я строка задает формат поиска, в данном случае, будем искать ячейки с шрифтом Italic. 4-я строка определяет область ячеек с которой будет работать программа (с ячейки A1 и до последней строки и последнего столбца). 5-я строка осуществляет поиск с использованием SearchFormat. 6-я строка — цикл пока результат поиска не будет пустым. 7-я строка — меняем шрифт на обычный (не курсив), 8-я строка продолжаем поиск после найденной ячейки.

Хочу обратить внимание на то, что в этом примере я не стал использовать «защиту от зацикливания», как в Примерах 2 и 3, т.к. шрифт меняется и после «прохождения» по всем ячейкам, больше не останется ни одной ячейки с курсивом.

Свойство FindFormat можно задавать разными способами, например, так:

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

Пример 5: Найти последнюю колонку и столбец, заполненные данными

В этом примере используется UsedRange, который так же как и SpecialCells возвращает все используемые ячейки, в т.ч. и те, что были использованы ранее, а сейчас пустые. Функция Find ищет ячейку с любым значением с конца диапазона.

При поиске можно так же использовать шаблоны, чтобы найти текст по маске, следующий пример это демонстрирует.

Пример 6: Выделить красным шрифтом ячейки, в которых текст начинается со слова из 4-х букв, первая и последняя буквы «т», при этом после этого слова может следовать любой текст.

Для поиска функцией Find по маске (шаблону) можно применять символы:
* — для обозначения любого количества любых символов;
? — для обозначения одного любого символа;

— для обозначения символов *, ? и

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

?, чтобы искать именно звездочку (*), нужно написать

* и наконец, чтобы найти в тексте тильду, необходимо написать

Поиск даты с помощью Find

Если необходимо найти текущую дату или какую-то другую дату на листе Excel или в диапазоне с помощью Find, необходимо учитывать несколько нюансов:

  • Тип данных Date в VBA представляется в виде #[месяц]/[день]/[год]#, соответственно, если необходимо найти фиксированную дату, например, 01 марта 2018 года, необходимо искать #3/1/2018#, а не «01.03.2018»
  • В зависимости от формата ячеек, дата может выглядеть по-разному, поэтому, чтобы искать дату независимо от формата, поиск нужно делать не в значениях, а в формулах, т.е. использовать LookIn:=xlFormulas

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

Пример 7: Найти текущую дату на листе независимо от формата отображения даты.

Пример 8: Найти 1 марта 2018 г.

Искать часть даты — сложнее. Например, чтобы найти все ячейки, где месяц «март», недостаточно искать «03» или «3». Не работает с датами так же и поиск по шаблону. Единственный вариант, который я нашел — это выбрать формат в котором месяц прописью для ячеек с датами и искать слово «март» в xlValues.

Тем не менее, можно найти, например, 1 марта независимо от года.

Пример 9: Найти 1 марта любого года.

Как искать в Excel: поиск слов и ячеек в таблицах

Программа Excel ориентирована на ускоренные расчеты. Зачастую документы здесь состоят из большого ко.

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

Поиск слов

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

  • запустить программу Excel;
  • проверить активность таблицы, щелкнув по любой из ячеек;
  • нажать комбинацию клавиш «Ctrl + F»;
  • в строке «Найти» появившегося окна ввести искомое слово;
  • нажать «Найти».

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

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

  • «?» – подразумевает любой отдельно взятый символ;
  • «*» – обозначает любое количество символов.

Примечательно, при поиске вопросительного знака или знака умножения дополнительно впереди ставится тильда («

»). При поиске тильды, соответственно – две тильды.

Алгоритм неточного поиска слова:

  • запустить программу;
  • активировать страницу щелчком мыши;
  • зажать комбинацию клавиш «Ctrl + F»;
  • в строке «Найти» появившегося окна ввести искомое слово, используя вместо букв, вызывающих сомнения, джокерные символы;
  • проверить параметр «Ячейка целиком» (он не должен быть отмеченным);
  • нажать «Найти все».

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

Поиск нескольких слов

Не зная, как найти слово в таблице в Еxcel, следует также воспользоваться функцией раздела «Редактирование» – «Найти и выделить». Далее нужно отталкиваться от искомой фразы:

  • если фраза точная, введите ее и нажмите клавишу «Найти все»;
  • если фраза разбита другими ключами, нужно при написании ее в строке поиска дополнительно проставить между всеми словами «*».

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

Поиск ячеек

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

Для поиска ячеек с формулами выполняются следующие действия.

  1. В открытом документе выделить ячейку или диапазон ячеек (в первом случае поиск идет по всему листу, во втором – в выделенных ячейках).
  2. Во вкладке «Главная» выбрать функцию «Найти и выделить».
  3. Обозначить команду «Перейти».
  4. Выделить клавишу «Выделить».
  5. Выбрать «Формулы».
  6. Обратить внимание на список пунктов под «Формулами» (возможно, понадобится снятие флажков с некоторых параметров).
  7. Нажать клавишу «Ок».

Для поиска объединенных ячеек потребуется выполнение следующих манипуляций.

  1. Перейти во вкладку «Главная».
  2. Выбрать функцию «Найти и выделить».
  3. Нажать на команду «Найти».
  4. Перейти в «Параметры» и выбрать «Формат».
  5. Здесь выделить функцию «Выравнивание», поставить отметку «Объединить ячейки».
  6. Нажать на «Ок».
  7. Нажать на кнопку «Найти все» и проанализировать список ячеек, которые объединены на соответствующем листе.

При нажимании кнопкой мыши на элемент в списке происходит выделение объединенной ячейки на листе. Дополнительно доступна функция «Отменить объединение ячеек».

Выполнение представленных выше действий приводит к нахождению всех объединенных ячеек на листе и при необходимости отмене данного свойства. Для поиска скрытых ячеек проводятся следующие действия.

  1. Выбрать лист, требующий анализа на присутствие скрытых ячеек и их нахождения.
  2. Нажать клавиши «F5_гт_ Special».
  3. Нажать сочетание клавиш «CTRL + G_гт_ Special».

Можно воспользоваться еще одним способом для поиска скрытых ячеек:

  1. Открыть функцию «Редактирование» во вкладке «Главная».
  2. Нажать на «Найти».
  3. Выбрать команду «Перейти к разделу». Выделить «Специальные».
  4. Попав в группу «Выбор», поставить галочку на «Только видимые ячейки».
  5. Нажать кнопку «Ок».

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

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

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

  • нажать на ячейку, не предусматривающую условное форматирование;
  • выбрать функцию «Редактирование» во вкладке «Главная»;
  • нажать на кнопку «Найти и выделить»;
  • выделить категорию «Условное форматирование».

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

  • выбрать ячейку, предусматривающую условное форматирование, требующую поиска;
  • выбрать группу «Редактирование» во вкладке «Главная»;
  • нажать на кнопку «Найти и выделить»;
  • выбрать категорию «Выделить группу ячеек»;
  • установить свойство «Условные форматы»;
  • напоследок нужно зайти в группу «Проверка данных» и установить аналогичный пункт.

Поиск через фильтр

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

  • выделить заполненную ячейку;
  • во вкладке «Главная» выбрать функцию «Сортировка»;
  • нажать на кнопку «Фильтр»;
  • открыть выпадающее меню;
  • ввести искомый запрос;
  • нажать кнопку «Ок».

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

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

Допустим ваш отчет содержит таблицу с большим количеством данных на множество столбцов. Проводить визуальный анализ таких таблиц крайне сложно. А одним из заданий по работе с отчетом является – анализ данных относительно заголовков строк и столбцов касающихся определенного месяца. На первый взгляд это весьма простое задание, но его нельзя решить, используя одну стандартную функцию. Да, конечно можно воспользоваться инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F, чтобы вызвать окно поиска значений на листе Excel. Или же создать для таблицы правило условного форматирования. Но тогда нельзя будет выполнить дальнейших вычислений с полученными результатами. Поэтому необходимо создать и правильно применить соответствующую формулу.

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

Схема решения задания выглядит примерно таким образом:

  • в ячейку B1 мы будем вводить интересующие нас данные;
  • в ячейке B2 будет отображается заголовок столбца, который содержит значение ячейки B1
  • в ячейке B3 будет отображается название строки, которая содержит значение ячейки B1.

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

Последовательно рассмотрим варианты решения разной сложности, а в конце статьи – финальный результат.

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

Сначала научимся получать заголовки столбцов таблицы по значению. Для этого выполните следующие действия:

  1. В ячейку B1 введите значение взятое из таблицы 5277 и выделите ее фон синим цветом для читабельности поля ввода (далее будем вводить в ячейку B1 другие числа, чтобы экспериментировать с новыми значениями).
  2. В ячейку C2 вводим формулу для получения заголовка столбца таблицы который содержит это значение:
  3. После ввода формулы для подтверждения нажимаем комбинацию горячих клавиш CTRL+SHIFT+Enter, так как формула должна быть выполнена в массиве. Если все сделано правильно в строке формул по краям появятся фигурные скобки < >.

В ячейку C2 формула вернула букву D — соответственный заголовок столбца листа. Как видно все сходиться, значение 5277 содержится в ячейке столбца D. Рекомендуем посмотреть на формулу для получения целого адреса текущей ячейки.

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

Теперь получим номер строки для этого же значения (5277). Для этого в ячейку C3 введите следующую формулу:

После ввода формулы для подтверждения снова нажимаем комбинацию клавиш CTRL+SHIFT+Enter и получаем результат:

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

Как получить заголовок столбца и название строки таблицы

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

  • для столбца таблицы – Март;
  • для строки – Товар4.

Чтобы решить данную задачу будем использовать формулу с уже полученными значениями в ячейках C2 и C3. Для этого делаем так:

  1. Для заголовка столбца. В ячейку D2 введите формулу: На этот раз после ввода формулы для подтверждения жмем как по традиции просто Enter:
  2. Для строки вводим похожую, но все же немного другую формулу:

В результате получены внутренние координаты таблицы по значению – Март; Товар 4:

На первый взгляд все работает хорошо, но что, если таблица будет содержат 2 одинаковых значения? Тогда могут возникнуть проблемы с ошибками! Рекомендуем также посмотреть альтернативное решение для поиска столбцов и строк по значению.

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

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

Более того для диапазона табличной части создадим правило условного форматирования:

  1. Выделите диапазон B6:J12 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Правила выделения ячеек»-«Равно».
  2. В левом поле введите значение $B$1, а из правого выпадающего списка выберите опцию «Светло-красная заливка и темно-красный цвет» и нажмите ОК.
  3. В ячейку B1 введите значение 3478 и полюбуйтесь на результат.

Как видно при наличии дубликатов формула для заголовков берет заголовок с первого дубликата по горизонтали (с лева на право). А формула для получения названия (номера) строки берет номер с первого дубликата по вертикали (сверху вниз). Для исправления данного решения есть 2 пути:

  1. Получить координаты первого дубликата по горизонтали (с лева на право). Для этого только в ячейке С3 следует изменить формулу на: В результате получаем правильные координаты как для листа, так и для таблицы:
  2. Получить координаты первого дубликата по вертикали (сверху вниз). Для этого только в ячейке С2 следует изменить формулу на:

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

Здесь правильно отображаются координаты первого дубликата по вертикали (с верха в низ) – I7 для листа и Август; Товар2 для таблицы. Оставим такой вариант для следующего завершающего примера.

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

Данная таблица все еще не совершенна. Ведь при анализе нужно точно знать все ее значения. Если введенное число в ячейку B1 формула не находит в таблице, тогда возвращается ошибка – #ЗНАЧ! Идеально было-бы чтобы формула при отсутствии в таблице исходного числа сама подбирала ближайшее значение, которое содержит таблица. Чтобы создать такую программу для анализа таблиц в ячейку F1 введите новую формулу:

После чего следует во всех остальных формулах изменить ссылку вместо B1 должно быть F1! Так же нужно изменить ссылку в условном форматировании. Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»-«Изменить правило». И здесь в параметрах укажите F1 вместо B1 . Чтобы проверить работу программы, введите в ячейку B1 число которого нет в таблице, например: 8000. Это приведет к завершающему результату:

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

Наша программа в Excel нашла наиболее близкое значение 4965 для исходного – 5000. Такая программа может пригодится для автоматического решения разных аналитических задач при бизнес-планировании, постановки целей, поиска рационального решения и т.п. А полученные строки и столбцы позволяют дальше расширять вычислительные возможности такого рода отчетов с помощью новых формул Excel.

Функции поиска данных: разыскивается информация!

Привет, друзья. Как часто вам приходится для какого-то значения искать соответствие в таблице Эксель? Например, нужно в справочнике найти адрес человека, или в прайсе – цену товара. Если такие задачи встречаются – этот пост именно для вас!

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

Поиск в таблице Эксель, функции ВПР и ГПР

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

Синтаксис функции ВПР такой: =ВПР( Искомое_значение; таблица_для_поиска; номер_выводимого_столбца; [тип_сопоставления]) . Рассмотрим аргументы:

  • Искомое значение – значение, которое будем искать. Это обязательный аргумент;
  • Таблица для поиска – тот массив ячеек, в котором будет поиск. Столбец с искомыми значениями должен быть первым в этом массиве. Это тоже обязательный аргумент;
  • Номер выводимого столбца – порядковый номер столбца (начиная с первого в массиве), из которого функция выведет данные при совпадении искомых значений. Обязательный аргумент;
  • Тип сопоставления – выберите «1» (или «ИСТИНА») для нестрогого совпадения, «0» («ЛОЖЬ») – для полного совпадения. Аргумент необязателен, если его упустить – будет выполнен поиск нестрогого совпадения.

Поиск точного совпадения с помощью ВПР

Посмотрим на примере, как работает функция ВПР, когда выбран тип сопоставления «ЛОЖЬ», поиск точного совпадения. В массиве В5:Е10 указаны основные средства некой компании, их балансовая стоимость, инвентарный номер и место расположения. В ячейке В2 указано наименование, для которого нужно в таблице найти инвентарный номер и поместить его в ячейку С2 .

Функция ВПР в Excel

Запишем формулу: =ВПР(B2;B5:E10;3;ЛОЖЬ) .

Здесь первый аргумент указывает, что в таблице нужно искать значение из ячейки В2 , т.е. слово «Факс». Второй аргумент говорит, что таблица для поиска — в диапазоне В5:Е10 , а искать слово «Факс» нужно в первом столбце, т.е. в массиве В5:В10 . Третий аргумент сообщает программе, что результат расчета содержится в третьем столбце массива, т.е. D5:D10 . Четвёртый аргумент равен «ЛОЖЬ», т.е. требуется полное совпадение.

И так, функция получит строку «Факс» из ячейки В2 и будет искать его в массиве В5:В10 сверху вниз. Как только совпадение будет найдено (строка 8), функция вернёт соответствующее значение из столбца D , т.е. содержимое D8 . Именно это нам и требовалось, задача решена.

Если искомое значение не будет найдено, функция вернёт ошибку #Н/Д.

Поиск неточного совпадения с помощью ВПР

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

В массиве В5:С12 указаны процентные ставки по кредитам в зависимости от суммы займа. В ячейке В2 Указываем сумму кредита и хотим получить в С2 ставку для такой сделки. Задача сложна тем, что сумма может быть любой и вряд ли будет совпадать с указанными в массиве, поиск по точному совпадению не подходит:

Тогда запишем формулу нестрогого поиска: =ВПР(B2;B5:C12;2;ИСТИНА) . Теперь из всех представленных в столбце В данных программа будет искать ближайшее меньшее. То есть, для суммы 8 000 будет отобрано значение 5000 и выведен соответствующий процент.

Нестрогий поиск ВПР в Excel

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

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

Поиск данных с помощью функции ПРОСМОТР

Функция ПРОСМОТР работает аналогично ВПР, но имеет другой синтаксис. Я использую её, когда таблица данных содержит несколько десятков столбцов и для использования ВПР нужно дополнительно просчитывать номер выводимой колонки. В таких случаях функция ПРОСМОТР облегчает задачу. И так, синтаксис: =ПРОСМОТР(Искомое_значение; Массив_для_поиска; Массив_для_отображения) :

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

При такой записи вы даёте не относительную ссылку массива результатов. А прямо на него указываете, т.е. не нужно предварительно просчитывать номер выводимого столбца. Используем функцию ПРОСМОТР в первом примере для функции ВПР (основные средства, инвентарные номера): =ПРОСМОТР(B2;B5:B10;D5:D10) . Задача успешно решена!

Функция «ПРОСМОТР» в Microsoft Excel

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

Еще один способ поиска данных – комбинирование функций ПОИСКПОЗ и ИНДЕКС.

Первая из них, служит для поиска значения в массиве и получения его порядкового номера: ПОИСКПОЗ(Искомое_значение; Просматриваемый_массив; [Тип сопоставления]). Аргументы функции:

  • Искомое значение – обязательный аргумент
  • Просматриваемый массив – одна строка или столбец, в котором ищем совпадение. Обязательный аргумент
  • Тип сопоставления – укажите «0» для поиска точного совпадения, «1» — ближайшее меньшее, «-1» — ближайшее большее. Поскольку функция проводит поиск с начала списка в конец, при поиске ближайшего меньшего – отсортируйте столбец поиска по убыванию. А при поиске большего – сортируйте его по возрастанию.

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

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

Теперь скомбинируем эти функции, чтобы получить результат:

Функции ПОИСКПОЗ и ИНДЕКС в Эксель

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

Чувствуете, как растут и крепчают Ваши знания и умения? Тогда не останавливайтесь, продолжайте читать Officelegko.com! В следующем посте мы будем рассматривать расчеты кредита в Эксель: будет сложно и интересно!

Добавить комментарий Отменить ответ

4 комментариев

А как быть, если в поле «Наименование» вперемешку числовые и текстовые значения? У меня эксель числовые значения игнорирует, т.к. они числятся у него, как текстовые. К слову сказать, в таблице 56 тыс. записей и вручную всё пройти довольно сложно.

Не понял Вашего вопроса. Судя по всему, у Вас все данные хранятся, как текст. А что не работает?

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

Здравствуйте. Смотря что Вы называете однотипными данными. Опишите, пожалуйста, подробнее.

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

Пример работы функции ИНДЕКС в Excel от простого к сложному

Сначала рассмотрим самый простой пример применения. У нас есть несколько городов. Пусть нашей первой задачей будет извлечь пятый по счету город из нашей одномерной базы данных. Синтаксис нашей формулы будет следующий: ИНДЕКС(массив; номер_строки). Начинаем писать формулу (яч. B9). Первый аргумент – это все города B3:C7, а второй – необходимый нам номер ряда, в котором хранится информация, которую мы хотим получить – пятый город:

Пример города

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

двумерный массив

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



Функция ИНДЕКС двумерный и многомерный массив

Теперь наш массив двухмерный. Пусть теперешним заданием будет узнать количество туристов в Ливерпуле. В ячейке B19 пишем формулу. Синтаксис тоже видоизменится: ИНДЕКС(массив; номер_строки; номер_столбца), у нас добавится третий аргумент – номер столбца, в котором хранится нужные нам данные:

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

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

многомерные массивы

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

найти количество туристов

И получаем готовую формулу с решением поставленной задачи:

формула

Пример формулы комбинации функций ИНДЕКС и СУММ

Функцию ИНДЕКC так же можно комбинировать и с другими функциями. Например, наша база данных содержит дополнительно количество туристов Великобритании за 2018-2019 года, мы хотим узнать сумму туристов:

  1. за 2018 год.
  2. по городу Манчестер за весь период.

В этом нам поможет известная любому пользователю несложная функция СУММ. Она охватит результат поиска, сделанным ИНДЕКC и выполнит операцию сложения найденных значений. Чтобы выполнить первую задачу, для начала нам нужно выбрать диапазон с одними числами(без столбца с городами, поскольку будем суммировать численные значения C43:E47). Затем на месте, где мы прописывали номер строки, пишем 0. Благодаря этому ИНДЕКC не будет «искать» данные по строкам, а просто перейдет к следующей операции. А следующая операция – прописываем столбец 2 и получаем ответ на первый пункт:

ИНДЕКС и СУММ

Сумма туристов за 2018 год по пяти городам Великобритании составляет 40 987 людей.

Аналогично этой схеме мы ищем ответ на второй пункт. Только теперь нам нужно считать данные с ряда, поэтому ноль ставим на месте номера столбца:

сумма выборки данных

И получаем ответ на второй пункт – всего посетителей за три года в Манчестере было 2 474 человека.

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

Формулировку функции можно видоизменять в зависимости от постановки задачи. Пусть нам нужно определить и показать сколько туристов вместе было в 2017-м году в первых трёх городах по списку – Кембридже, Манчестере и Лондоне. Тогда мы снова используем функцию СУММ, но в месте, где указывается конец диапазона значений, по которым мы проводим поиск, вставляем нашу ИНДЕКС. Проще говоря, диапазон для суммирования выглядит так: (начало:конец). Началом будет первая ячейка массива, как обычно, а конец мы заменим. Укажем количество городов, по которым будем считать людей (действие 1). Затем, когда будем составлять функцию ИНДЕКC, укажем, что первый аргумент – числовой диапазон всех пяти городов за 2017-й год, а второй – наше кол-во городов (ячейка D64):

несколько функций их сочетание

Точно так же можно выполнить следующее задание: найти сумму посетителей Оксфорде за 2017-2018 года. В этом случае делаем всё точно так же, только выбираем горизонтальный диапазон C61:E61 :

найти сумму посетителей

В конце необязательно ссылаться на ячейку с написанным количеством искомых значений, можно сразу писать цифру 3 в первом примере и цифру 2 во втором примере, всё будет работать точно так же:

и

идентичны.

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

Формула ИНДЕКС и ПОИСКПОЗ лучшая замена функции ВПР

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

ВПР не работает

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

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

Рассмотрим более наглядный и реальный пример, где можно заменить ВПР. У нас есть два отчета: один — о количестве продаж определенного товара, а второй – о цене на упаковку одного товара. И как раз вторая таблица имеет такое расположение столбцов, которое не позволяет использовать нам ВПР – первыми занимают место значения, а вторыми – критерии:

значения и критерии

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

выбираем искомый критерий

Теперь просто копируем формулу до конца столбца, но не забываем закрепить ссылки, иначе массив будет спускаться дальше и мы получим некорректные значения. Наша таблица готова:

копируем формулу до конца столбца

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

ЕСЛИОШИБКА

download file. Скачать примеры функции ИНДЕКС и ПОИСКПОЗ в Excel

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

INDEX-MATCH has become a more popular tool for Excel as it solves the limitation of the VLOOKUP function, and it is easier to use. INDEX-MATCH function in Excel has a number of advantages over the VLOOKUP function:

  1. INDEX and MATCH are more flexible and faster than Vlookup
  2. It is possible to execute horizontal lookup, vertical lookup, 2-way lookup, left lookup, case-sensitive lookup, and even lookups based on multiple criteria.
  3. In sorted Data, INDEX-MATCH is 30% faster than VLOOKUP. This means that in a larger dataset 30% faster makes more sense.

Let’s begin with the detailed concepts of each INDEX and MATCH.

INDEX Function

The INDEX function in Excel is very powerful at the same time a flexible tool that retrieves the value at a given location in a range. In another word, It returns the content of a cell, specified by row and column offset.

Syntax:

=INDEX(reference, [row], [column])

Parameters:

  • reference: The array of cells to be offset into. It can be a single range or an entire dataset in a table of data.
  • row [optional]: The number of offset rows. It means if we choose a table reference range as “A1:A5” then the Cell/content that we want to extract is at how much vertical distance. Here, for A1 row will be 1, for A2 row = 2, and so on. If we give row = 4 then it will extract A4. As row is optional so if we don’t specify any row number then it extracts entire rows in the reference range. That is A1 to A5 in this case.
  • column [optional]: The number of offset columns. It means if we choose a table reference range as “A1:B5” then the Cell/content we want to extract is at how much horizontal distance. Here, for A1 row will be 1  and column will be 1, for B1 row will be 1 but the column will be 2 similarly for A2 row = 2 column = 1, for B2 row = 2 column = 2 and so on. If we give row = 5 and column 2 then it will extract B5. As the column is optional so if we don’t specify any row no. then it will extract the entire column in the reference range. For example, if we give row = 2 and column as empty then it will extract (A2:B2). If we don’t specify Row and column both then it will extract the entire reference table that is (A1:B5).

Reference Table: The following table will be used as a reference table for all the examples of the INDEX function. First Cell is at B3 (“FOOD”) and the Last Diagonal Cell is at F10 (“180”).

Reference table

Examples: Below are some examples of Index functions.

Case 1: No Rows and Columns are mentioned.

Input Command: =INDEX(B3:C10)                        

Case 1

Case 2: Only Rows are Mentioned.

Input Command: =INDEX(B3:C10,2)                  

Case 2

Case 3: Both Rows And Columns are mentioned.

Input Command: =INDEX(B3:D10,4,2)                    

Case 3

Case 4: Only Columns are mentioned.

Input Command: =INDEX(B3 : D10 , , 2)                  

Case 4

Problem With INDEX Function: The problem with the INDEX function is that there is a need to specify rows and columns for the data that we are looking for. Let’s assume we are dealing with a machine learning dataset of 10000 rows and columns then it will be very difficult to search and extract the data that we are looking for. Here comes the concept of Match Function, which will identify rows and columns based on some condition.

MATCH Function

It retrieves the position of an item/value in a range. It is a less refined version of a VLOOKUP or HLOOKUP that only returns the location information and not the actual data.  MATCH is not case-sensitive and does not care whether the range is Horizontal or Vertical.

Syntax:

=MATCH(search_key, range, [search_type])

Parameters:

  • search_key: The value to search for. For example, 42, “Cats”, or I24.
  • range: The one-dimensional array to be searched. It Can Either be a single row or a single column.eg->A1:A10 , A2:D2 etc.
  • search_type [optional]: The search method. = 1 (default) finds the largest value less than or equal to search_key when the range is sorted in ascending order. 
    • = 0 finds the exact value when the range is unsorted.
    • = -1 finds the smallest value greater than or equal to search_key when the range is sorted in descending order.

Row number or Column number can be found using the match function and can use it inside the index function so if there is any detail about an item, then all information can be extracted about the item by finding the row/column of the item using match then nesting it into index function.

Reference Table: The following table will be used as a reference table for all the examples of the MATCH function. First Cell is at B3 (“FOOD”) and the Last Diagonal Cell is At F10 (“180”)

Reference table MATCH function

Examples: Below are some examples of the MATCH function-

Case 1: Search Type 0, It means Exact Match.

Input Command: =MATCH(“South Indian”,C3:C10,0)                                 

Case 1 MATCH

Case 2: Search Type 1 (Default).

Input Command: =MATCH(“South Indian”,C3:C10)                           

Case 2 MATCH

  
Case 3: Search Type -1.

Input Command: =MATCH(“South Indian”,C3:C10,-1)                             

Case 3 MATCH

INDEX-MATCH Together

In the previous examples, the static values of rows and columns were provided in the INDEX function Let’s assume there is no prior knowledge about the rows and column position then rows and columns position can be provided using the MATCH function. This Is a dynamic way to search and extract value.

Syntax:

=INDEX(Reference Table , [Match(SearchKey,Range,Type)/StaticRowPosition],
                         [Match(SearchKey,Range,Type)/StaticColumnPosition])

Reference Table: The following reference table will be used. First Cell is at B3 (“FOOD”) and the Last Diagonal Cell is At F10 (“180”)

Reference table INDEX-MATCH

Example: Let’s say the task is to find the cost of Masala Dosa. It is known that column 3 represents the cost of items, but the row position of Masala Dosa is not known. The problem can be divided into two steps-

Step 1: Find the position of Masala Dosa by using the formula:

=MATCH("Masala Dosa",B3:B10,0) 

Here B3:B10 represents Column “Food” and 0 means Exact Match. It will return the row number of Masala Dosa.

Step 2: Find the cost of Masala Dosa. Use the INDEX Function to find the cost of Masala Dosa. By substituting the above MATCH function query inside the INDEX function at the place where the exact position of Masala Dosa is required, and the column number of cost is 3 which is already known. 

=INDEX(B3:F10, MATCH("Masala Dosa", B3:B10 , 0) ,3)

INDEX-MATCH Together

Two Ways Lookup With INDEX-MATCH Together

In the previous example, the column position Of the “Cost” attribute was hardcoded. So, It was not fully dynamic. 

Case 1: Let’s assume there is no knowledge about the column number of Cost also, then it can be obtained using the formula:

=MATCH("Cost",B3:F3,0)

Here B3:F3 represents Header Column.   

Case 2: When row, as well as column value, are provided via MATCH function (without giving static value) then it is called Two-Way Lookup. It can be achieved using the formula:

=INDEX(B3:F10, MATCH("Masala Dosa",B3:B10, 0) , MATCH("Cost" ,B3:F3 ,0))

Two-Way Lookup

Left Lookup

One of the key advantages of INDEX and MATCH over the VLOOKUP function is the ability to perform a “left lookup”. It means it is possible to extract the row position of an item from using any attribute at right and the value of another attribute in left can be extracted. 

For Example, Let’s say buy food whose cost should be 140 Rs. Indirectly we are saying buy “Biryani”. In this example, the cost Rs 140/- is known, there is a need to extract the “Food”. Since the Cost column is placed to the right of the Food column. If VLOOKUP is applied it will not be able to search the left side of the Cost column. That is why using VLOOKUP it is not possible to get Food Name. 

To overcome this disadvantage INDEX-MATCH function Left lookup can be used. 
Step 1: First extract row position of Cost 140 Rs using the formula:

=MATCH(140, D3:D10,0)

Here D3: D10 represents the Cost column where the search for the Cost 140 Rs row number is being done. 

Step 2: After getting the row number, the next step is to use the INDEX Function to extract Food Name using the formula:

=INDEX(B3:B10, MATCH(140, D3:D10,0)) 

Here B3:B10 represents Food Column and 140 is the Cost of the food item.

Left Lookup

Case Sensitive Lookup

By itself, the MATCH function is not case-sensitive. This means if there is a Food Name “DHOKLA” and the MATCH function is used with the following search word:

  1. “Dhokla”
  2. “dhokla”
  3. “DhOkLA”

All will return the row position of DHOKLA. However, the EXACT function can be used with INDEX and MATCH to perform a lookup that respects upper and lower case.

Exact Function: The Excel EXACT function compares two text strings, taking into account upper and lower case characters, and returns TRUE if they are the same, and FALSE if not. EXACT is case-sensitive.

Examples:

  1. EXACT(“DHOKLA”,”DHOKLA”): This will return True.
  2. EXACT(“DHOKLA”,”Dhokla”): This will return False.
  3. EXACT(“DHOKLA”,”dhokla”): This will return False.
  4. EXACT(“DHOKLA”,”DhOkLA”): This will return False.

Example: Let say the task is to search for the Type Of Food “Dhokla” but in Case-Sensitive Way. This can be done using the formula-

=INDEX(C3:C10, MATCH(TRUE , EXACT("Dhokla", B3:B10) ,0))

Here the EXACT function will return True if the value in Column B3:B10 matches with “Dhokla” with the same case, else it will return False. Now MATCH function will apply in Column B3:B10 and search for a row with the Exact value TRUE. After that INDEX Function will retrieve the value of Column C3:C10 (Food Type Column) at the row returned by the MATCH function.                 

Case-Sensitive Lookup

Multiple Criteria Lookup

One of the trickiest problems in Excel is a lookup based on multiple criteria. In other words, a lookup that matches on more than one column at the same time. In the example below, the INDEX and MATCH function and boolean logic are used to match on 3 columns-

  1. Food.
  2. Cost.
  3. Quantity.

To extract total cost.

Example: Let’s say the task is to calculate the total cost of Pasta where 

  1. Food: Pasta.
  2. Cost: 60.
  3. Quantity: 1.

So in this example, there are three criteria to perform a Match. Below are the steps for the search based on multiple criteria-

Step 1: First match Food Column (B3:B10) with Pasta using the formula:

"PASTA" = B3:B10 

This will convert B3:B10 (Food Column) values as Boolean. That Is True where Food is Pasta else False. 

Step 2: After that, match Cost criteria in the following manner:

60 = D3:D10

This will replace D3:D10 (Cost Column) values as Boolean. That is True where Cost=60 else False. 

Step 3: Next step is to match the third criteria that are Quantity = 1 in the following manner:

1 = E3:E10

This will replace E3:E10 Column (Quantity Column) as True where Quantity = 1 else it will be False.

Step 4: Multiply the result of the first, second, and third criteria. This will be the intersection of all conditions and convert Boolean True / False as 1/0.

Step 5: Now the result will be a Column with 0 And 1. Here use the MATCH Function to find the row number of columns that contain 1. Because if a column is having the value 1, then it means it satisfies all three criteria. 

Step 6: After getting the row number use the INDEX function to get the total cost of that row. 

=INDEX(F3:F10, MATCH(1, ("Pasta"=B3:B10) *  (60=D3:D10) * (1=E3:E10) , 0 ))

 Here F3:F10 represents the Total Cost Column.                      

Multiple Criteria Lookup

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

Функция ВПР()

Формула ВПРПредположим, у вас есть таблица с данными о работниках. В первой колонке хранится табельный номер сотрудника, в остальных – другие данные (ФИО, отдел и т.д.). Если у вас есть табельный номер, то можно воспользоваться функцией ВПР, чтобы вернуть определенную информацию о сотруднике. Синтаксис формулы =ВПР(искомое_значение; таблица; номер_столбца; [интервальный_просмотр]). Она говорит Excel: «Найди в таблице строку, первая ячейка которой совпадает с искомым_значением, и верни значение ячейки с порядковым номером номер_столбца».

формула ВПР не работаетНо случаются ситуации, когда у вас есть имя сотрудника и необходимо вернуть табельный номер. На рисунке в ячейке A10 – имя работника и требуется определить табельный номер в ячейке B10.

Когда ключевое поле находится правее данных, которые вы хотите получить, ВПР не поможет. Если, конечно, была бы возможность задать номер_столбца -1, тогда проблем бы не было. Одним из распространенных решений является добавление нового столбца A, копирование имен сотрудников в этот столбец, заполнить табельные номера с помощью ВПР, сохранить их как значения и удалить временную колонку A.

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

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

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

Говоря по-простому, Excel идет в массив данных и возвращает значение, находящееся на пересечении указанной строки и столбца. Как будто бы просто. Таким образом, формула =ИНДЕКС($A$2:$C$6;4;2) вернет значение, находящееся в ячейке B5.

формула ИНДЕКС

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

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

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

Она говорит Excel: «Найди искомое_значение  в массиве данных и верни номер строки массива, в которой это значение встречается». Таким образом, чтобы найти в какой строке находиться имя сотрудника в ячейке A10, необходимо прописать формулу =ПОИСКПОЗ(A10; $B$2:$B$6; 0). Если в ячейке A10 будет имя «Колин Фарел», тогда ПОИСКПОЗ вернет 5-ю строку массива B2:B6.

Описание формулы ПОИСКПОЗ

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

=ИНДЕКС($A$2:$B$6;ПОИСКПОЗ(A10;$B$2:$B$6;0);1)

формула индекс и поискпоз

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

формула индекс и поискпоз результат

Like this post? Please share to your friends:
  • Как в excel найти ячейку которая содержит
  • Как в excel напечатать примечания в excel
  • Как в excel найти столбец по номеру
  • Как в excel найти ячейку в массиве
  • Как в excel напечатать на одном листе с двух сторон