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 основные причины использовать ИНДЕКС ПОИСКПОЗ вместо ВПР
- Поиск справа налево. Как известно любому образованному пользователю, ВПР не может искать влево. Это означает, что искомое значение всегда должно находиться в крайнем левом столбце таблицы. А извлекать нужное значение мы будем из столбца, который находится правее. ИНДЕКС+ПОИСКПОЗ может легко выполнять поиск влево! Здесь это показано в действии: Как выполнить поиск значения слева в Excel .
- Можно безопасно вставлять или удалять столбцы. Формулы ВПР не работают или выдают неверные результаты, когда новый столбец удаляется из таблицы поиска или добавляется в нее, поскольку синтаксис ВПР требует указания порядкового номера столбца, из которого вы хотите извлечь данные. Естественно, когда вы добавляете или удаляете столбцы, этот номер в формуле автоматически не меняется, а нужный столбец уже оказывается на новом месте.
С функциями ИНДЕКС и ПОИСКПОЗ вы указываете диапазон возвращаемых столбцов, а не номер одного из них. В результате вы можете вставлять и удалять столько столбцов, сколько хотите, не беспокоясь об обновлении каждой связанной с ними формулы.
- Нет ограничений на размер искомого значения. При использовании функции ВПР общая длина ваших критериев поиска не может превышать 255 символов, иначе вы получите ошибку #ЗНАЧ!. Таким образом, если ваш набор данных содержит длинные строки, ИНДЕКС ПОИСКПОЗ — единственное работающее решение.
- Более высокая скорость обработки. Если ваши таблицы относительно небольшие, вряд ли будет какая-то существенная разница в производительности 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. Я надеюсь, что наши примеры формул окажутся полезными для вас.
Вот еще несколько статей по этой теме:
Совет: Попробуйте использовать новые функции ПРОСМОТРX и XMATCH, а также улучшенные версии функций, описанные в этой статье. Эти новые функции работают в любом направлении и возвращают точные совпадения по умолчанию, что упрощает и упрощает работу с ними по сравнению с предшественниками.
Предположим, у вас есть список номеров офисов, и вам нужно знать, какие сотрудники работают в каждом из них. Таблица очень угрюмая, поэтому, возможно, вам кажется, что это сложная задача. С функцией подытов на самом деле это довольно просто.
Функции ВВ., а также ИНДЕКС и ВЫБОРПОЗ — одни из самых полезных функций в Excel.
Примечание: Мастер подметок больше не доступен в Excel.
Ниже в качестве примера по выбору вы можете найти пример использования в этой области.
=ВПР(B2;C2:E7,3,ИСТИНА)
В этом примере B2 является первым аргументом —элементом данных, который требуется для работы функции. В случае СРОТ ВЛ.В.ОВ этот первый аргумент является искомой значением. Этот аргумент может быть ссылкой на ячейку или фиксированным значением, таким как «кузьмина» или 21 000. Вторым аргументом является диапазон ячеек C2–:E7, в котором нужно найти и найти значение. Третий аргумент — это столбец в диапазоне ячеек, содержащий ищите значение.
Четвертый аргумент необязателен. Введите истина или ЛОЖЬ. Если ввести ИСТИНА или оставить аргумент пустым, функция возвращает приблизительное совпадение значения, указанного в качестве первого аргумента. Если ввести ЛОЖЬ, функция будет соответствовать значению, заведомо первому аргументу. Другими словами, если оставить четвертый аргумент пустым или ввести ИСТИНА, это обеспечивает большую гибкость.
В этом примере показано, как работает функция. При вводе значения в ячейку B2 (первый аргумент) в результате поиска в ячейках диапазона C2:E7 (2-й аргумент) выполняется поиск в ней и возвращается ближайшее приблизительное совпадение из третьего столбца в диапазоне — столбца E (третий аргумент).
Четвертый аргумент пуст, поэтому функция возвращает приблизительное совпадение. Иначе потребуется ввести одно из значений в столбец C или D, чтобы получить какой-либо результат.
Если вы хорошо разучились работать с функцией ВГТ.В.В., то в равной степени использовать ее будет легко. Вы вводите те же аргументы, но выполняется поиск в строках, а не в столбцах.
Использование индекса и MATCH вместо ВРОТ
При использовании функции ВПРАВО существует ряд ограничений, которые действуют только при использовании функции ВПРАВО. Это означает, что столбец, содержащий и look up, всегда должен быть расположен слева от столбца, содержащего возвращаемого значения. Теперь, если ваша таблица не построена таким образом, не используйте В ПРОСМОТР. Используйте вместо этого сочетание функций ИНДЕКС и MATCH.
В данном примере представлен небольшой список, в котором искомое значение (Воронеж) не находится в крайнем левом столбце. Поэтому мы не можем использовать функцию ВПР. Для поиска значения «Воронеж» в диапазоне B1:B11 будет использоваться функция ПОИСКПОЗ. Оно найдено в строке 4. Затем функция ИНДЕКС использует это значение в качестве аргумента поиска и находит численность населения Воронежа в четвертом столбце (столбец D). Использованная формула показана в ячейке A14.
Дополнительные примеры использования индексов и MATCH вместо В ПРОСМОТР см. в статье билла Https://www.mrexcel.com/excel-tips/excel-vlookup-index-match/ Билла Джилена (Bill Jelen), MVP корпорации Майкрософт.
Попробуйте попрактиковаться
Если вы хотите поэкспериментировать с функциями подытовки, прежде чем попробовать их с собственными данными, вот примеры данных.
Пример работы с ВЛОКОНПОМ
Скопируйте следующие данные в пустую таблицу.
Совет: Прежде чем врезать данные в Excel, установите для столбцов A–C ширину в 250 пикселей и нажмите кнопку «Перенос текста» (вкладка «Главная», группа «Выравнивание»).
Плотность |
Вязкость |
Температура |
0,457 |
3,55 |
500 |
0,525 |
3,25 |
400 |
0,606 |
2,93 |
300 |
0,675 |
2,75 |
250 |
0,746 |
2,57 |
200 |
0,835 |
2,38 |
150 |
0,946 |
2,17 |
100 |
1,09 |
1,95 |
50 |
1,29 |
1,71 |
0 |
Формула |
Описание |
Результат |
=ВПР(1,A2:C10,2) |
Используя приблизительное соответствие, функция ищет в столбце A значение 1, находит наибольшее значение, которое меньше или равняется 1 и составляет 0,946, а затем возвращает значение из столбца B в той же строке. |
2,17 |
=ВПР(1,A2:C10,3,ИСТИНА) |
Используя приблизительное соответствие, функция ищет в столбце A значение 1, находит наибольшее значение, которое меньше или равняется 1 и составляет 0,946, а затем возвращает значение из столбца C в той же строке. |
100 |
=ВПР(0,7,A2:C10,3,ЛОЖЬ) |
Используя точное соответствие, функция ищет в столбце A значение 0,7. Поскольку точного соответствия нет, возвращается сообщение об ошибке. |
#Н/Д |
=ВПР(0,1,A2:C10,2,ИСТИНА) |
Используя приблизительное соответствие, функция ищет в столбце A значение 0,1. Поскольку 0,1 меньше наименьшего значения в столбце A, возвращается сообщение об ошибке. |
#Н/Д |
=ВПР(2,A2:C10,2,ИСТИНА) |
Используя приблизительное соответствие, функция ищет в столбце A значение 2, находит наибольшее значение, которое меньше или равняется 2 и составляет 1,29, а затем возвращает значение из столбца B в той же строке. |
1,71 |
Пример ГВ.Г.В.В.
Скопируйте всю таблицу и вставьте ее в ячейку A1 пустого листа Excel.
Совет: Прежде чем врезать данные в Excel, установите для столбцов A–C ширину в 250 пикселей и нажмите кнопку «Перенос текста» (вкладка «Главная», группа «Выравнивание»).
Оси |
Подшипники |
Болты |
4 |
4 |
9 |
5 |
7 |
10 |
6 |
8 |
11 |
Формула |
Описание |
Результат |
=ГПР(«Оси»;A1:C4;2;ИСТИНА) |
Поиск слова «Оси» в строке 1 и возврат значения из строки 2, находящейся в том же столбце (столбец A). |
4 |
=ГПР(«Подшипники»;A1:C4;3;ЛОЖЬ) |
Поиск слова «Подшипники» в строке 1 и возврат значения из строки 3, находящейся в том же столбце (столбец B). |
7 |
=ГПР(«П»;A1:C4;3;ИСТИНА) |
Поиск буквы «П» в строке 1 и возврат значения из строки 3, находящейся в том же столбце. Так как «П» найти не удалось, возвращается ближайшее из меньших значений: «Оси» (в столбце A). |
5 |
=ГПР(«Болты»;A1:C4;4) |
Поиск слова «Болты» в строке 1 и возврат значения из строки 4, находящейся в том же столбце (столбец C). |
11 |
=ГПР(3;{1;2;3:»a»;»b»;»c»;»d»;»e»;»f»};2;ИСТИНА) |
Поиск числа 3 в трех строках константы массива и возврат значения из строки 2 того же (в данном случае — третьего) столбца. Константа массива содержит три строки значений, разделенных точкой с запятой (;). Так как «c» было найдено в строке 2 того же столбца, что и 3, возвращается «c». |
c |
Примеры индекса и match
В последнем примере функции ИНДЕКС и MATCH совместно возвращают номер счета с наиболее ранней датой и соответствующую дату для каждого из пяти городов. Так как дата возвращается как число, для ее формата используется функция ТЕКСТ. Функция ИНДЕКС использует результат, возвращенный функцией ПОИСКПОЗ, как аргумент. Сочетание функций ИНДЕКС и ПОИСКПОЗ используется в каждой формуле дважды — сперва для возврата номера счета, а затем для возврата даты.
Скопируйте всю таблицу и вставьте ее в ячейку A1 пустого листа Excel.
Совет: Перед тем как вировать данные в Excel, установите для столбцов A–D ширину в 250 пикселей и нажмите кнопку «Перенос текста» (вкладка «Главная», группа «Выравнивание»).
Счет |
Город |
Дата выставления счета |
Счет с самой ранней датой по городу, с датой |
3115 |
Казань |
07.04.12 |
=»Казань = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),3),»m/d/yy») |
3137 |
Казань |
09.04.12 |
=»Орел = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),3),»m/d/yy») |
3154 |
Казань |
11.04.12 |
=»Челябинск = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),3),»m/d/yy») |
3191 |
Казань |
21.04.12 |
=»Нижний Новгород = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),3),»m/d/yy») |
3293 |
Казань |
25.04.12 |
=»Москва = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),1)& «, Дата выставления счета: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),3),»m/d/yy») |
3331 |
Казань |
27.04.12 |
|
3350 |
Казань |
28.04.12 |
|
3390 |
Казань |
01.05.12 |
|
3441 |
Казань |
02.05.12 |
|
3517 |
Казань |
08.05.12 |
|
3124 |
Орел |
09.04.12 |
|
3155 |
Орел |
11.04.12 |
|
3177 |
Орел |
19.04.12 |
|
3357 |
Орел |
28.04.12 |
|
3492 |
Орел |
06.05.12 |
|
3316 |
Челябинск |
25.04.12 |
|
3346 |
Челябинск |
28.04.12 |
|
3372 |
Челябинск |
01.05.12 |
|
3414 |
Челябинск |
01.05.12 |
|
3451 |
Челябинск |
02.05.12 |
|
3467 |
Челябинск |
02.05.12 |
|
3474 |
Челябинск |
04.05.12 |
|
3490 |
Челябинск |
05.05.12 |
|
3503 |
Челябинск |
08.05.12 |
|
3151 |
Нижний Новгород |
09.04.12 |
|
3438 |
Нижний Новгород |
02.05.12 |
|
3471 |
Нижний Новгород |
04.05.12 |
|
3160 |
Москва |
18.04.12 |
|
3328 |
Москва |
26.04.12 |
|
3368 |
Москва |
29.04.12 |
|
3420 |
Москва |
01.05.12 |
|
3501 |
Москва |
06.05.12 |
Функция ПОИСКПОЗ() в MS EXCEL
Смотрите также с функцией поиска принимает число 0, 4 – ключи, чтобы вернуть ссылку, подсказку со спискомвозвращает использовать обычную функцию количество товара311550«Приблизительная сумма выручки»Эффективнее всего эту функцию массив на листе, в комплексе с доступны не на яблокам: яблоки илиФункция ПОИСКПОЗ(), английский вариант и подстановки для поиска частичного а названия фруктов заданную текстовой строкой, подходящих имен, так2-й
ВПРSweetsКазань1,29на другое, то использовать с другими зажимая при этом другими операторами. Давайте всех языках. яблоко. MATCH(), возвращает позициюВПР совпадения текстовых значений – значения. Тогда а это как же, как принаименьший элемент массива,, чтобы найти нужный
Синтаксис функции
, заказанное покупателем07.04.12
1,71 соответственно автоматически будет операторами в составе левую кнопку мыши. разберемся, что жеФункция ПОИСКБ отсчитывает поВ качестве критерия можно значения в диапазонеили могут быть использованы функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет раз то, что
вводе формулы. то есть заказ. Например:Jeremy Hill=»Казань = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),1)& «,0 пересчитано и содержимое комплексной формулы. Наиболее После этого его собой представляет функция два байта на задать»яблок*» и формула ячеек. Например, еслиVLOOKUP подстановочные знаки («?» значение 2, являющееся нам сейчас нужно.Нажмите3Находим, запишите вот такую Дата выставления счета:
Формула поля часто её применяют адрес отобразится вПОИСКПОЗ каждый символ, только =ПОИСКПОЗ(«яблок*»;B53:B62;0) вернет позицию в ячейке(если еще нет, — замена одного
- ключом второго элемента. Итак, смело заменяемEnter, и так далее.2-й формулу: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),3),»m/d/yy»)Описание«Товар» в связке с окне аргументов.
- , и как её если языком по текстового значения, начинающегосяА10 то сначала почитайте любого символа, «*» Отсчет выполняется не в представленной вышеи проверьте результатINDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))товар, заказанный покупателем=VLOOKUP(B1,$A$5:$C$14,3,FALSE)3137Результат. функцией
- В третьем поле можно использовать на умолчанию является язык со слова яблоксодержится значение «яблоки», эту статью, чтобы — замена любого с 0 (нуля), формуле выражение сВ целом, какой быИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))Dan Brown=ВПР(B1;$A$5:$C$14;3;ЛОЖЬ)Казань
=ВПР(1,A2:C10,2)Урок:ИНДЕКС
«Тип сопоставления» практике. с поддержкой БДЦС. (если она есть
Поиск позиции в массивах с текстовыми значениями
то формула =ПОИСКПОЗ им стать). Для количества символов). как это реализовано функцией
из представленных вышеФункция:
– эта формула вернет09.04.12
Используя приблизительное соответствие, функцияФункция ИНДЕКС в Excel. Данный аргумент выводитставим числоСкачать последнюю версию В противном случае
в списке). («яблоки»;A9:A20;0) вернет 2, тех, кто понимает,Если в объекте данных, во многих языках
ЕСЛИ методов Вы ниINDEX=VLOOKUP(«Dan Brown2»,$A$2:$C$16,3,FALSE) результат=»Орел = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),1)& «, ищет в столбцеКак видим, оператор в указанную ячейку«0»
Excel функция ПОИСКБ работаетПодстановочные знаки следует использовать т.е. искомое значение
Поиск позиции в массиве констант
рекламировать ее не переданном в качестве программирования при работена ссылку с выбрали, результат двумерного(ИНДЕКС) просто возвращает=ВПР(«Dan Brown2»;$A$2:$C$16;3;ЛОЖЬ)
Поиск позиции с использованием подстановочных знаков
15 Дата выставления счета: A значение 1,ПОИСКПОЗ содержимое диапазона заданное, так как будемОператор так же, как только для поиска «яблоки» содержится во нужно - аргумента просматриваемый_массив, содержится с массивами, а
функцией поиска будет одним значение определённой ячейкиНаходим, соответствующий товару » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),3),»m/d/yy») находит наибольшее значение,
является очень удобной по номеру его работать с текстовымиПОИСКПОЗ функция ПОИСК, и позиции текстовых значений второй ячейке диапазона
без нее не два и больше с 1.ДВССЫЛ и тем же: в массиве3-й
Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию
Apples3154 которое меньше или функцией для определения строки или столбца. данными, и поэтому
принадлежит к категории отсчитывает по одному иA9:A20А9 обходится ни один
элементов, соответствующих искомомуФункция ПОИСКПОЗ редко используется. Вот такая комбинацияБывает так, что основная
C2:C16
товар, заказанный покупателем, так как этоКазань равняется 1 и порядкового номера указанного Причем нумерация, как нам нужен точный функций байту на каждыйТипом сопоставления- первая ячейка сложный расчет в значению, будет возвращена самостоятельно. Ее целесообразно
ВПР таблица и таблица
. Для ячейки
Dan Brown первое совпадающее значение.11.04.12 составляет 0,946, а элемента в массиве
Поиск позиции в массивах с Числами
и в отношении результат.«Ссылки и массивы» символ.= 0 (третий (предполагается, что в
Excel. Есть, однако, позиция первого вхождения применять в связке
и поиска не имеютF4
:Есть простой обходной путь=»Челябинск = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),1)& «, затем возвращает значение данных. Но польза оператора
После того, как все. Он производит поискК языкам, поддерживающим БДЦС, аргумент функции). ней не содержится одна проблема: эта
такого элемента. с другими функциями,ДВССЫЛ ни одного общегофункция=VLOOKUP(«Dan Brown3»,$A$2:$C$16,3,FALSE) – создать дополнительный Дата выставления счета: из столбца B от него значительноПОИСКПОЗ данные установлены, жмем заданного элемента в относятся японский, китайский
Функция ПОИСКПОЗ() возвращает только значение «яблоки»),
функция умеет искатьВ Excel есть очень например, ИНДЕКС.
отлично работает в столбца, и этоИНДЕКС($C$2:$C$16;1)=ВПР(«Dan Brown3″;$A$2:$C$16;3;ЛОЖЬ) столбец, в котором » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),3),»m/d/yy») в той же увеличивается, если он, выполняется не относительно на кнопку
Функции ПОИСКПОЗ() и ИНДЕКС()
указанном массиве и (упрощенное письмо), китайский одно значение. ЕслиА10 данные только по удобная, но почему-то паре:
мешает использовать обычнуювозвратитНа самом деле, Вы объединить все нужные
3191
строке. применяется в комплексных всего листа, а«OK»
выдает в отдельную (традиционное письмо) и в списке присутствует- вторая,
совпадению одного параметра. редко используемая функция,Пример 1. Найти позицию=VLOOKUP($D$2,INDIRECT($D3&»_Sales»),2,FALSE) функциюApples
excel2.ru
ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
можете ввести ссылку критерии. В нашемКазань2,17 формулах. только внутри диапазона..
Описание
ячейку номер его корейский. несколько значений, удовлетворяющихА11 А если у которая называется ИНДЕКС. первого частичного совпадения=ВПР($D$2;ДВССЫЛ($D3&»_Sales»);2;ЛОЖЬ)ВПР, для на ячейку в примере это столбцы21.04.12=ВПР(1,A2:C10,3,ИСТИНА)Автор: Максим Тютюшев
Синтаксис этой функции
Программа выполняет вычисление и позиции в этомПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция]) критерию, то эта- третья и
нас их несколько? Удобная она потому, строки в диапазоне
Где:
. Однако, существует ещёF5 качестве искомого значенияИмя клиента=»Нижний Новгород = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«НижнийИспользуя приблизительное соответствие, функцияПримечание: следующий: выводит порядковый номер диапазоне. Собственно наПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция]) функция не поможет. т.д. (подсчет позицииПредположим, что у нас что позволяет выдавать ячеек, хранящих текстовые$D$2 одна таблица, котораяфункция вместо текста, как(Customer) и Новгород»,$B$2:$B$33,0),1)& «, Дата ищет в столбцеМы стараемся как=ИНДЕКС(массив;номер_строки;номер_столбца) позиции это указывает даже
Аргументы функций ПОИСК иРассмотрим список с повторяющимися
-
производится от верхней есть база данных значение из диапазона
-
значения.– это ячейка не содержит интересующуюИНДЕКС($C$2:$C$16;3) представлено на следующемНазвание продукта выставления счета: « A значение 1, можно оперативнее обеспечиватьПри этом, если массив«Сахар» его название. Также ПОИСКБ описаны ниже.
значениями в диапазоне ячейки). по ценам товаров по заданным номерамВид исходной таблицы данных:
Синтаксис
с названием товара,
нас информацию, но
возвратит рисунке:
-
(Product). Не забывайте, & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),3),»m/d/yy») находит наибольшее значение,
-
вас актуальными справочными одномерный, то можнов выделенном массиве эта функция приИскомый_текстB66:B72
-
Функция ПОИСКПОЗ() возвращает позицию за разные месяцы: строки и столбца.Для нахождения позиции текстовой она неизменна благодаря имеет общий столбец
Замечание
-
SweetsЕсли Вы ищите только что объединенный столбец3293 которое меньше или материалами на вашем использовать только один в той ячейке, применении в комплексе Обязательный. Текст, который требуется. Найдем все позиции
-
искомого значения, аНужно найти и вытащитьНа практике ИНДЕКС редко строки в таблице абсолютной ссылке. с основной таблицейи так далее.2-е должен быть всегдаКазань равняется 1 и языке. Эта страница из двух аргументов: которую мы задали с другими операторами найти. значения Груши.
-
не само значение. цену заданного товара используется, скорее всего, используем следующую формулу:
-
$D3 и таблицей поиска.IFERROR()повторение, то можете
-
крайним левым в25.04.12 составляет 0,946, а переведена автоматически, поэтому«Номер строки» ещё на первом сообщает им номерПросматриваемый_текст
-
Значение Груши находятся в Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращает ( из-за того, что=ПОИСКПОЗ(D2&»*»;B:B;0)-1– это ячейка,Давайте разберем следующий пример.ЕСЛИОШИБКА() сделать это без диапазоне поиска, поскольку=»Москва = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),1)& «, затем возвращает значение ее текст можетили шаге данной инструкции. позиции конкретного элемента Обязательный. Текст, в котором позициях 2 и число 2 -Нектарин эти самые номерОписание аргументов: содержащая первую часть У нас естьВ завершение, мы помещаем вспомогательного столбца, создав именно левый столбец Дата выставления счета: из столбца C содержать неточности и«Номер столбца» Номер позиции будет для последующей обработки нужно найти значение 5 списка. С относительную позицию буквы) в определенном месяце строки и столбцаD2&»*» – искомое значение, названия региона. В основная таблица (Main
Примеры
формулу внутрь функции более сложную формулу: функция » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),3),»m/d/yy») в той же грамматические ошибки. Для. равен этих данных. аргумента помощью формулы массива «б» в массиве (
приходится вводить каждый |
||
состоящее и фамилии, |
||
нашем примере это |
||
table) со столбцом |
||
IFERROR |
||
=IFERROR(VLOOKUP($F$2,INDIRECT(«$B$»&(MATCH($F$2,Table4[Customer Name],0)+2)&»:$C16″),2,FALSE),»») |
ВПР |
3331 |
строке. |
нас важно, чтобыОсобенность связки функций«4»Синтаксис оператора |
искомый_текст |
=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65)) |
{«а»;»б»;»в»;»б»}. Позиция второйЯнварь раз. Ведь искомое указанной в ячейкеFLSKU (new) |
(ЕСЛИОШИБКА), поскольку вряд |
=ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ(«$B$»&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&»:$C16″);2;ИСТИНА);»») |
просматривает при поискеКазань100 эта статья былаИНДЕКС.ПОИСКПОЗ. |
можно найти все эти |
буквы «б» будет |
), т.е. получить на значение не всегда B2, и любого., куда необходимо добавить |
ли Вас обрадует |
В этой формуле: |
значения.27.04.12=ВПР(0,7,A2:C10,3,ЛОЖЬ) |
вам полезна. Просим |
и |
Урок:выглядит так:Начальная_позиция |
позиции. Для этого |
support.office.com
Функция ПОИСКПОЗ в программе Microsoft Excel
проигнорирована, функция вернет выходе нужно выдавать по количества других символов_Sales столбец с соответствующими сообщение об ошибке$F$2Итак, Вы добавляете вспомогательный3350Используя точное соответствие, функция вас уделить паруПОИСКПОЗМастер функций в Экселе=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) Необязательный. Номер знака в необходимо выделить несколько позицию только первой
152 порядку. Но тогда
Применение оператора ПОИСКПОЗ
(“*”);– общая часть ценами из другой#N/A– ячейка, содержащая столбец в таблицуКазань ищет в столбце секунд и сообщить,заключается в том,Выше мы рассмотрели самыйТеперь рассмотрим каждый из аргументе ячеек (расположенных вертикально), буквы. О том, но автоматически, т.е. к функции ИНДЕКСB:B – ссылка на названия всех именованных таблицы. Кроме этого,(#Н/Д) в случае,
имя покупателя (она и копируете по28.04.12
A значение 0,7.
помогла ли она что последняя может примитивный случай применения
трех этих аргументовпросматриваемый_текст в Строке формул как вернуть ВСЕ с помощью формулы. на помощь приходит столбец B:B, в диапазонов или таблиц. у нас есть если количество ячеек, неизменна, обратите внимание всем его ячейкам3390
Поскольку точного соответствия вам, с помощью использоваться в качестве оператора в отдельности., с которого следует ввести вышеуказанную формулу позиции искомого значения ВПР в чистом функция ПОИСКПОЗ, которая
котором выполняется поиск; Соединенная со значением 2 таблицы поиска. в которые скопирована – ссылка абсолютная); формулу вида:Казань нет, возвращается сообщение кнопок внизу страницы. аргумента первой, тоПОИСКПОЗ«Искомое значение» начать поиск. и нажать читайте ниже в виде тут не как раз таки0 – поиск точного в ячейке D3, Первая (Lookup table формула, будет меньше,$B$=B2&C201.05.12 об ошибке. Для удобства также есть, указывать на, но даже его– это тотФункцииCTRL+SHIFT+ENTER разделе Поиск позиций поможет, но есть позволяет найти нужную совпадения. она образует полное 1) содержит обновленные чем количество повторяющихся– столбец. Если хочется, чтобы3441#Н/Д
приводим ссылку на позицию строки или можно автоматизировать. элемент, который следуетПОИСК. В позициях, в ВСЕХ текстовых значений, несколько других способов позицию.Из полученного значения вычитается имя требуемого диапазона. номера значений в просматриваемомCustomer Name строка была болееКазань=ВПР(0,1,A2:C10,2,ИСТИНА)
оригинал (на английском столбца.Для удобства на листе отыскать. Он можети которых есть значение удовлетворяющих критерию. решить эту задачу.Рассмотрим интересный пример, который
единица для совпадения Ниже приведены некоторыеSKU (new) диапазоне.; читаемой, можно разделить02.05.12Используя приблизительное соответствие, функция языке) .
Способ 1: отображение места элемента в диапазоне текстовых данных
Давайте взглянем, как это добавляем ещё два иметь текстовую, числовуюПОИСКБ Груши будет выведеноПОИСКПОЗискомое_значение просматриваемый_массивЭто самый очевидный и позволит понять прелесть результата с id подробности для тех,и названия товаров,Выполнение двумерного поиска вTable4
- объединенные значения пробелом:3517 ищет в столбцеПредположим, что у вас можно сделать на дополнительных поля:
- форму, а такжене учитывают регистр. соответствующее значение позиции,; тип_сопоставления) простой (хотя и функции ИНДЕКС и записи в таблице. кто не имеет а вторая (Lookup Excel подразумевает поиск– Ваша таблица=B2&» «&C2Казань A значение 0,1. есть списка номеров
- практике, используя всю«Заданное значение» принимать логическое значение. Если требуется учитывать в остальных ячейкахИскомое_значение не самый удобный) неоценимую помощь ПОИСКПОЗ.
Пример поиска: опыта работы с table 2) – значения по известному (на этом месте. После этого можно08.05.12 Поскольку 0,1 меньше
офисов расположение и ту же таблицу.и В качестве данного регистр, используйте функции быдет выведен 0.- значение, используемое способ. Поскольку штатная Имеем сводную таблицу,Пример 2. В Excel функцией названия товаров и номеру строки и также может быть
использовать следующую формулу:3124 наименьшего значения в вам нужно знать, У нас стоит«Номер» аргумента может выступатьНАЙТИC помощью другой формулы
при поиске значения функция в которой ведется хранятся две таблицы,ДВССЫЛ
- старые номера столбца. Другими словами, обычный диапазон);=VLOOKUP(«Jeremy Hill Sweets»,$A$7:$D$18,4,FALSE)Орел столбце A, возвращается какие сотрудники являются задача вывести в. В поле также ссылка наи массива в
ВПР (VLOOKUP) учет купленной продукции.
Способ 2: автоматизация применения оператора ПОИСКПОЗ
которые на первый.SKU (old) Вы извлекаете значение$C16=ВПР(«Jeremy Hill Sweets»;$A$7:$D$18;4;ЛОЖЬ)
- 09.04.12 сообщение об ошибке. в каждой программы дополнительное поле листа«Заданное значение» ячейку, которая содержитНАЙТИБ=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65))просматриваемом_массивеИскомое_значениеумеет искать толькоНаша цель: создать карточку взгляд кажутся одинаковыми.Во-первых, позвольте напомнить синтаксис. ячейки на пересечении– конечная ячейкаили3155#Н/Д office. Электронную таблицу«Товар»
- вбиваем то наименование, любое из вышеперечисленных.можно отсортировать найденные позиции,может быть значением по одному столбцу, заказа, где по Было решено сравнить функцииЧтобы добавить цены из конкретной строки и Вашей таблицы или=VLOOKUP(B1,$A$7:$D$18,4,FALSE)Орел=ВПР(2,A2:C10,2,ИСТИНА) огромный, поэтому вынаименование товара, общая которое нужно найти. значений.В аргументе чтобы номера найденных
- (числом, текстом или а не по номеру артикула можно по одному однотипномуДВССЫЛ второй таблицы поиска столбца. диапазона.=ВПР(B1;$A$7:$D$18;4;ЛОЖЬ)11.04.12Используя приблизительное соответствие, функция
- думаете, что он сумма выручки от Пусть теперь это«Просматриваемый массив»искомый_текст позиций отображались в логическим значением (ЛОЖЬ нескольким, то нам будет видеть, что столбцу этих таблиц(INDIRECT): в основную таблицу,Итак, давайте обратимся кЭта формула находит толькоГде ячейка
Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
3177 ищет в столбце является довольно сложной которого равна 350 будет
– это адресможно использовать подстановочные первых ячейках (см. или ИСТИНА)) или нужно из нескольких это за товар,
- на наличие несовпадений.INDIRECT(ref_text,[a1]) необходимо выполнить действие, нашей таблице и второе совпадающее значение.B1Орел A значение 2, задачи. Это задача несложная рублям или самому«Мясо» диапазона, в котором знаки: вопросительный знак файл примера). ссылкой на ячейку, сделать один! какой клиент его Реализовать способ сравнения
- ДВССЫЛ(ссылка_на_текст;[a1]) известное как двойной запишем формулу с Если же Вамсодержит объединенное значение19.04.12 находит наибольшее значение, делать с помощью близкому к этому
. В поле расположено искомое значение. (1. Произведем поиск позиции содержащую число, текстДобавим рядом с нашей приобрел, сколько было двух диапазонов ячеек.Первый аргумент может бытьВПР функцией необходимо извлечь остальные аргумента3357 которое меньше или функции поиска. значению по убыванию.«Номер» Именно позицию данного?
- в НЕ сортированном или логическое значение. таблицей еще один куплено и поВид таблицы данных: ссылкой на ячейкуили вложенныйВПР повторения, воспользуйтесь предыдущимlookup_valueОрел равняется 2 и
Функции ВПР и ГПР Данный аргумент указанустанавливаем курсор и элемента в этом) и звездочку ( списке числовых значенийПросматриваемый_массив столбец, где склеим какой общей стоимости.Для сравнения значений, находящихся (стиль A1 илиВПР, которая найдет информацию решением.
(искомое_значение), а28.04.12 составляет 1,29, а
Способ 4: использование в сочетании с другими операторами
вместе с функций в поле переходим к окну массиве и должен* (диапазон— непрерывный диапазон название товара и Сделать это поможет в столбце B:B R1C1), именем диапазона. о стоимости проданныхЕсли Вам нужен список43492 затем возвращает значение индекс и ПОИСКПОЗ,описаны«Приблизительная сумма выручки на аргументов оператора тем определить оператор). Вопросительный знак соответствует
B8:B14
ячеек, возможно, содержащих месяц в единое функция ИНДЕКС совместно со значениями из или текстовой строкой.Запишите функцию в марте лимонов. всех совпадений –
– аргументОрел из столбца B некоторые из наиболее листе» же способом, оПОИСКПОЗ любому знаку, звездочка —) искомые значения. целое с помощью
с ПОИСКПОЗ. столбца A:A используем Второй аргумент определяет,ВПРСуществует несколько способов выполнить функцияcol_index_num06.05.12 в той же полезных функций в. котором шел разговор. любой последовательности знаков.Столбец Позиция приведен дляПросматриваемый_массив оператора сцепки (&),Для начала создадим выпадающий следующую формулу массива
- какого стиля ссылка, которая находит имя двумерный поиск. ПознакомьтесьВПР(номер_столбца), т.е. номер3316 строке. Microsoft Excel.Отсортировываем элементы в столбце выше.«Тип сопоставления» Если требуется найти наглядности и неможет быть только чтобы получить уникальный
- список для поля (CTRL+SHIFT+ENTER): содержится в первом товара в таблице с возможными вариантамитут не помощник, столбца, содержащего данные,Челябинск
- 1,71Примечание:«Сумма выручки»В окне аргументов функцииуказывает точное совпадение вопросительный знак или влияет на вычисления. одностолбцовым диапазоном ячеек, столбец-ключ для поиска: АРТИКУЛ ТОВАРА, чтобы
- Функция ПОИСКПОЗ выполняет поиск аргументе:Lookup table 1 и выберите наиболее поскольку она возвращает которые необходимо извлечь.25.04.12Скопируйте всю таблицу и Функция мастер подстановок большепо возрастанию. Для в поле нужно искать или звездочку, введите передНайдем позицию значения 30
- напримерТеперь можно использовать знакомую не вводить цифры логического значения ИСТИНАA1, используя подходящий. только одно значениеЕсли Вам необходимо обновить3346 вставьте ее в не доступен в этого выделяем необходимый
«Искомое значение» неточное. Этот аргумент ним тильду ( с помощью формулыА9:А20 функцию с клавиатуры, а в массиве логических, если аргумент равенSKUВы можете использовать связку за раз – основную таблицу (MainЧелябинск ячейку A1 пустого Microsoft Excel. столбец и, находясьуказываем адрес ячейки, может иметь три~ =ПОИСКПОЗ(30;B8:B14;0)или диапазоном, расположеннымВПР (VLOOKUP) выбирать их. Для значений, возвращаемых функциейTRUE, как искомое значение: из функций и точка. Но table), добавив данные28.04.12 листа Excel.Вот пример того, как во вкладке в которой вписано значения:).Формула ищет в одной строке,для поиска склеенной этого кликаем в СОВПАД (сравнивает каждый(ИСТИНА) или не=VLOOKUP(A2,New_SKU,2,FALSE)ВПР в Excel есть из второй таблицы3372Совет: использовать функцию ВПР.
«Главная» слово «1»Еслиточное например, пары соответствующую ячейку (у
- элемент диапазона A2:A12 указан;=ВПР(A2;New_SKU;2;ЛОЖЬ)(VLOOKUP) и функция (Lookup table), котораяЧелябинск Прежде чем вставлять=ВПР(B2;C2:E7,3,ИСТИНА), кликаем по значку«Мясо»,искомый_текстзначение 30. ЕслиА2:Е2
- НектаринЯнварь нас это F13), со значением, хранящимсяR1C1ЗдесьПОИСКПОЗINDEX находится на другом01.05.12
данные в Excel,В этом примере B2
«Сортировка и фильтр». В полях«0»не найден, возвращается в списке его. Таким образом формулаиз ячеек H3 затем выбираем вкладку в ячейке B2,, еслиNew_SKU
(MATCH), чтобы найти
lumpics.ru
Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ
(ИНДЕКС), которая с листе или в3414 установите для столбцов — это первый, а затем в«Просматриваемый массив»и значение ошибки #ЗНАЧ!. нет, то будет =ПОИСКПОЗ(«слива»;A30:B33;0) работать не и J3 в ДАННЫЕ – ПРОВЕРКА и возвращает массивF– именованный диапазон значение на пересечении легкостью справится с другой рабочей книгеЧелябинск A – Саргумент
появившемся меню кликаеми«-1»Если аргумент возвращена ошибка #Н/Д. будет (выдаст ошибку созданном ключевом столбце: ДАННЫХ. В открывшемся результатов сравнения). ЕслиALSE$A:$B полей этой задачей. Как
Excel, то Вы01.05.12 ширину в 250— элемент данных, функция по пункту«Тип сопоставления»
. При значенииначальная_позиция2. Произведем поиск позиции #Н/Д), так как
Плюсы окне в пункте
функция ПОИСКПОЗ нашла
(ЛОЖЬ).в таблицеНазвание продукта будет выглядеть такая можете собрать искомое3451 пикселей и нажмите должна работать. Функции«Сортировка от минимального куказываем те же«0»опущен, то он в отсортированном поПросматриваемый_массив: Простой способ, знакомая ТИП ДАННЫХ выбираем значение ИСТИНА, будетВ нашем случае ссылкаLookup table 1(строка) и формула, Вы узнаете значение непосредственно в
Челябинск кнопку ВПР это первый максимальному» самые данные, чтооператор ищет только полагается равным 1. возрастанию списке числовыхпредставляет собой диапазон функция, работает с СПИСОК. А в возвращена позиция его имеет стиль, аМесяц в следующем примере. формуле, которую вставляете
02.05.12Перенос текста аргумент — значение,. и в предыдущем точное совпадение. ЕслиЕсли аргумент значений (диапазон ячеек размещенный одновременно любыми данными. качестве источника выделяем первого вхождения вA1
2(столбец) рассматриваемого массива:Как упоминалось выше, в основную таблицу.3467(вкладка « которое требуется найти.Выделяем ячейку в поле способе – адрес
указано значениеначальная_позицияB31:B37 в нескольких столбцахМинусы столбец с артикулами, массив. Функция ЕНД
Попробуйте попрактиковаться
, поэтому можно не– это столбец=VLOOKUP(«Lemons»,$A$2:$I$9,MATCH(«Mar»,$A$1:$I$1,0),FALSE)ВПРКак и в предыдущемЧелябинскГлавная Этот аргумент может«Товар» диапазона и число«1»не больше 0) и нескольких ячейках.: Надо делать дополнительный включая шапку. Так возвратит значение ЛОЖЬ,
Пример функции ВПР в действии
указывать второй аргумент B, который содержит
=ВПР(«Lemons»;$A$2:$I$9;ПОИСКПОЗ(«Mar»;$A$1:$I$1;0);ЛОЖЬ)не может извлечь примере, Вам понадобится02.05.12», группа « быть ссылка наи вызываем«0», то в случае или больше, чемСортированные списки позволяют искатьТип_сопоставления столбец и потом, у нас получился
если она не |
и сосредоточиться на |
названия товаров (смотрите |
Формула выше – это |
все повторяющиеся значения |
в таблице поиска |
3474 |
Выравнивание |
ячейку или фиксированным |
Мастер функций |
соответственно. После этого |
отсутствия точного совпадения |
длина |
не только точные |
— число -1, |
возможно, еще и |
выпадающий список артикулов, |
принимает значение ошибки |
первом. |
на рисунке выше) |
обычная функция |
из просматриваемого диапазона. |
(Lookup table) вспомогательный |
Челябинск |
»). |
значением, например «строфа» |
обычным способом через |
жмем на кнопку |
ПОИСКПОЗ |
просматриваемого текста |
значения (их позицию), |
0 или 1. |
прятать его от |
которые мы можем |
#Н/Д в качествеИтак, давайте вернемся кЗапишите формулу для вставкиВПР Чтобы сделать это, столбец с объединенными04.05.12Оси или 21,000. Второй кнопку«OK» |
выдает самый близкий |
, возвращается значение ошибки |
но и позициюТип_сопоставления пользователя. При изменении выбирать. аргумента. В этом нашим отчетам по цен из таблицы, которая ищет точное Вам потребуется чуть значениями. Этот столбец3490 |
Подшипники |
аргумент — это |
«Вставить функцию». к нему элемент #ЗНАЧ!. ближайшего значения. Например,указывает, как MS |
числа строк в |
Теперь нужно сделать так, |
случае функция ЕСЛИ продажам. Если ВыLookup table 2 совпадение значения «Lemons» более сложная формула, должен быть крайнимЧелябинск |
Болты |
диапазон ячеек, C2-:E7, |
.После того, как мы по убыванию. ЕслиАргумент в списке на EXCEL сопоставляет таблице — допротягивать чтобы при выборе вернет текстовую строку помните, то каждыйна основе известных |
в ячейках от |
Пример функции ГПР
составленная из нескольких левым в заданном05.05.124
в котором выполняетсяВ открывшемся окне произвели вышеуказанные действия, указано значениеначальная_позиция картинке ниже нетискомое_значение формулу сцепки на артикула автоматически выдавались «есть», иначе – отчёт – это названий товаров. Для A2 до A9. функций Excel, таких
для поиска диапазоне. |
3503 |
4 |
поиск значения, которые |
Мастера функций |
в поле |
«-1» |
можно использовать, чтобы |
значения 45, но |
со значениями в |
новые строки (хотя |
значения в остальных |
«нет». |
отдельная таблица, расположенная |
этого вставьте созданную |
Но так как |
какИтак, формула сЧелябинск9 нужно найти. Третийв категории |
«Номер» |
, то в случае, |
пропустить определенное количество можно найти позицию аргументе это можно упростить четырех строках. ВоспользуемсяЧтобы вычислить остальные значения |
на отдельном листе. |
ранее формулу в |
Вы не знаете,INDEXВПР08.05.125 аргумент — это«Ссылки и массивы»отобразится позиция слова если не обнаружено знаков. Допустим, что наибольшего значения, которое |
просматриваемый_массив. |
применением умной таблицы). |
функцией ИНДЕКС. Записываем «протянем» формулу из Чтобы формула работала качестве искомого значения в каком именно(ИНДЕКС), |
может быть такой: |
3151 |
7 столбец в диапазонищем наименование«Мясо» точное совпадение, функция функцию меньше либо равно,ЕслиЕсли нужно найти именно ее и параллельно ячейки C2 вниз верно, Вы должны для новой функции столбце находятся продажиSMALL=VLOOKUP(B2&» «&C2,Orders!$A&$2:$D$2,4,FALSE) |
Нижний Новгород |
ИНДЕКС и ПОИСКПОЗ примеры
10 ячеек, содержащий значение,«ИНДЕКС»в выбранном диапазоне. выдает самый близкийПОИСК чем искомое значение,тип_сопоставления число (в нашем изучаем синтаксис. для использования функции дать названия своимВПР за март, то(НАИМЕНЬШИЙ) и=ВПР(B2&» «&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ)09.04.126 которое вы поиска., выделяем его и В данном случае к нему элементнужно использовать для
т.е. позицию значенияравен 0, то случае цена какМассив. В данном случае
автозаполнения. В результате таблицам (или диапазонам),: не сможете задатьROWЗдесь в столбцах B34388Четвертый аргумент не является жмем на кнопку она равна по возрастанию. Важно, работы с текстовой
40. |
функция ПОИСКПОЗ() находит |
раз число), то |
это вся таблица получим: |
причем все названия |
=VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE) |
номер столбца для |
(СТРОКА) и C содержатсяНижний Новгород |
11 |
обязательным. Введите TRUE |
«OK» |
«3» если ведется поиск строкой «МДС0093.МужскаяОдежда». Чтобы |
Это можно сделать с |
первое значение, которое |
вместо ВПР можно |
заказов. Выделяем ееКак видно, третьи элементы должны иметь общую |
=ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ) |
третьего аргумента функции |
Например, формула, представленная ниже, |
имена клиентов и02.05.12Формула или FALSE. Если |
. |
. |
не точного значения, |
найти первое вхождение помощью формулы =ПОИСКПОЗ(45;B31:B37;1) в |
использовать функцию |
вместе с шапкой |
списков не совпадают. |
|
часть. Например, так: |
Здесь |
ВПР |
|
находит все повторения |
названия продуктов соответственно, |
3471 |
|
Описание |
ввести значение ИСТИНА |
Далее открывается окошко, которое |
|
Данный способ хорош тем, |
а приблизительного, чтобы |
«М» в описательной |
|
Обратите внимание, что тип |
точности |
СУММЕСЛИМН (SUMIFS) |
|
и фиксируем клавишей |
Пример 3. Найти ближайшее |
CA_Sales |
|
Price |
. Вместо этого используется |
значения из ячейки |
|
а ссылка |
Нижний Новгород |
Результат |
|
или аргумент оставлен |
предлагает выбор варианта |
что если мы |
|
просматриваемый массив был |
части текстовой строки, |
сопоставления =1 (третий |
|
равно аргументу |
, появившуюся начиная с |
F4. |
|
меньшее числу 22 |
, |
– именованный диапазон |
|
функция |
F2 в диапазоне |
Orders!$A&$2:$D$2 |
|
04.05.12 |
=ГПР(«Оси»;A1:C4;2;ИСТИНА) |
пустым, функция возвращает |
|
оператора |
захотим узнать позицию |
упорядочен по возрастанию |
|
задайте для аргумента |
аргумент функции). |
искомое_значениеПросматриваемый_массив |
|
Excel 2007. По |
Номер строки. Если бы |
в диапазоне чисел, |
|
FL_Sales |
$A:$C |
ПОИСКПОЗ |
|
B2:B16 и возвращает |
определяет таблицу для |
3160 |
|
Поиск слова «Оси» в |
приблизительное значение, указать |
ИНДЕКС |
|
любого другого наименования, |
(тип сопоставления |
начальная_позиция |
|
3. Поиск позиции в |
может быть не |
идее, эта функция |
|
у нас требовалось |
хранящихся в столбце |
, |
|
в таблице |
, чтобы определить этот |
результат из тех |
|
поиска на другом |
Москва |
строке 1 и |
|
в качестве первого |
: для массива или |
то не нужно |
Дополнительные сведения о функциях поиска
-
«1»значение 8, чтобы
-
списке отсортированном по упорядочен.
-
выбирает и суммирует вывести одно значение,
support.office.com
Продвинутые примеры с функцией ВПР: поиск по нескольким критериям
таблицы Excel.TX_SalesLookup table 2 столбец. же строк в листе.18.04.12 возврат значения из аргумента. Если ввести для ссылки. Нам будет каждый раз) или убыванию (тип поиск не выполнялся убыванию выполняется аналогично,Если тип_сопоставления равен 1, числовые значения по мы бы написалиВид исходной таблицы данных:и так далее., аMATCH(«Mar»,$A$1:$I$1,0) столбце C.Чтобы сделать формулу более3328 строки 2, находящейся
- значение FALSE, функция нужен первый вариант.
- заново набирать или сопоставления в той части
- но с типом то функция ПОИСКПОЗ()
- нескольким (до 127!) какую-то конкретную цифру.
- Для поиска ближайшего большего Как видите, во
- 3ПОИСКПОЗ(«Mar»;$A$1:$I$1;0)
Поиск в Excel по нескольким критериям
{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)),»»)} читаемой, Вы можетеМосква в том же будут соответствовать значение Поэтому оставляем в изменять формулу. Достаточно«-1» текста, которая является сопоставления = -1. находит наибольшее значение, условиям. Но если Но раз нам значения заданному во всех именах присутствует– это столбец
Пример 1: Поиск по 2-м разным критериям
В переводе на человеческий{=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3));»»)} задать имя для26.04.12 столбце (столбец A). в первом аргументе этом окне все просто в поле). серийным номером (в В этом случае которое меньше либо в нашем списке нужно, чтобы результат всем столбце A:A
«_Sales». C, содержащий цены. язык, данная формулаВведите эту формулу массива просматриваемого диапазона, и33684 предоставить. Другими словами, настройки по умолчанию«Заданное значение»Аргумент данном случае — функция ПОИСКПОЗ() находит равно, чем нет повторяющихся товаров
менялся, воспользуемся функцией
(числовой ряд может
ФункцияНа рисунке ниже виден означает: в несколько смежных тогда формула станетМосква=ГПР(«Подшипники»;A1:C4;3;ЛОЖЬ)
оставив четвертый аргумент и жмем навписать новое искомое«Тип сопоставления» «МДС0093»). Функция наименьшее значение, котороеискомое_значениеПросматриваемый_массив внутри одного месяца, ПОИСКПОЗ. Она будет пополняться новыми значениями)ДВССЫЛ результат, возвращаемый созданнойИщем символы «Mar» – ячеек, например, в выглядеть гораздо проще:29.04.12Поиск слова «Подшипники» в пустым, или ввести кнопку
слово вместо предыдущего.не является обязательным.ПОИСК больше либо равнодолжен быть упорядочен то она просто искать необходимую позицию используем формулу массивасоединяет значение в нами формулой: аргумент ячейки=VLOOKUP(B2&» «&C2,Orders,4,FALSE)
3420
строке 1 и
значение ИСТИНА —
«OK»
Обработка и выдача
Он может бытьначинает поиск с чем искомое значение. по возрастанию: …, выведет значение цены каждый раз, когда (CTRL+SHIFT+ENTER): столбце D иВ начале разъясним, чтоlookup_valueF4:F8=ВПР(B2&» «&C2;Orders;4;ЛОЖЬ)
Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе
Москва возврат значения из обеспечивает гибкость.. результата после этого пропущенным, если в восьмого символа, находитФункции ПОИСКПОЗ() и ИНДЕКС() -2, -1, 0, для заданного товара мы будем менять=B2;A:A;»»));A:A;0);1)’ class=’formula’> текстовую строку «_Sales»,
мы подразумеваем под(искомое_значение);, как показано наЧтобы формула работала, значения01.05.12 строки 3, находящейсяВ этом примере показано,Открывается окно аргументов функции произойдет автоматически.
нем нет надобности. знак, указанный в часто используются вместе,
1, 2, ...,
и месяца:
артикул.Функция ПОИСКПОЗ возвращает позицию тем самым сообщая выражением «Динамическая подстановкаИщем в ячейках от рисунке ниже. Количество в крайнем левом3501 в том же
как работает функция.ИНДЕКСТеперь давайте рассмотрим, как В этом случае аргументе т.к. позволяют по
A-Z, ЛОЖЬ, ИСТИНА.
Плюсы
Записываем команду ПОИСКПОЗ и элемента в столбцеВПР данных из разных A1 до I1 ячеек должно быть столбце просматриваемой таблицыМосква столбце (столбец B). При вводе значения. В поле можно использовать его значение поискомый_текст
найденной позиции в Если: Не нужен дополнительный проставляем ее аргументы. A:A, имеющего максимальноев какой таблице таблиц», чтобы убедиться – аргумент равным или большим, должны быть объединены06.05.127
в ячейке B2«Массив»ПОИСКПОЗ умолчанию равно, в следующей позиции, одном диапазоне вывеститип_сопоставления столбец, решение легкоИскомое значение. В нашем значение среди чисел, искать. Если в правильно ли мыlookup_array чем максимально возможное точно так же,
Извлекаем 2-е, 3-е и т.д. значения, используя ВПР
Краткий справочник: обзор функции=ГПР(«П»;A1:C4;3;ИСТИНА) (первый аргумент) функцияуказываем адрес тогодля работы с«1» и возвращает число соответствующее значение изопущен, то предполагается, масштабируется на большее случае это ячейка, которые больше числа, ячейке D3 находится понимает друг друга.(просматриваемый_массив); число повторений искомого
как и в ВПРПоиск буквы «П» в ВПР ищет ячейки диапазона, где оператор числовыми выражениями.. Применять аргумент 9. Функция другого диапазона. Рассмотрим что он равен
количество условий (до в которой указывается указанного в ячейке значение «FL», формулаБывают ситуации, когда естьВозвращаем точное совпадение – значения. Не забудьте критерии поиска. НаФункции ссылки и поиска строке 1 и в диапазоне C2:E7ИНДЕКССтавится задача найти товар«Тип сопоставления»ПОИСК пример. 1. 127), быстро считает.
артикул, т.е. F13.
B2. Функция ИНДЕКС
выполнит поиск в несколько листов с аргумент нажать рисунке выше мы
- (справка) возврат значения из (2-й аргумент) ибудет искать название на сумму реализации
, прежде всего, имеет
всегда возвращает номер
- Найдем количество заданного товараЕслиМинусы Фиксируем ее клавишей возвращает значение, хранящееся
таблице
данными одного формата,
match_typeCtrl+Shift+Enter объединили значения иИспользование аргумента массива таблицы строки 3, находящейся возвращает ближайший Приблизительное продукции. В нашем
400 рублей или смысл только тогда, знака, считая от на определенном складе.тип_сопоставления: Работает только с
F4.
в найденной ячейке.
FL_Sales
- и необходимо извлечь(тип_сопоставления)., чтобы правильно ввести поставили между ними в функции ВПР
- в том же совпадение с третьего случае – это самый ближайший к
- когда обрабатываются числовые начала Для этого используемравен -1, то числовыми данными на
- Просматриваемый массив. Т.к. мыРезультат расчетов:, если «CA» – нужную информацию с
Использовав формулу массива. пробел, точно такВо второй части нашего столбце. Так как столбца в диапазоне,
столбец этой сумме по значения, а непросматриваемого текста формулу функция ПОИСКПОЗ() находит выходе, не применима ищем по артикулу,Для поиска ближайшего меньшего в таблице определенного листа в0Если Вам интересно понять, же необходимо сделать учебника по функции «П» найти не столбец E (3-й«Наименование товара»
Извлекаем все повторения искомого значения
возрастанию. текстовые., включая символы, которые=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0)) наименьшее значение, которое для поиска текста, значит, выделяем столбец значения достаточно лишьCA_Sales зависимости от значения,в третьем аргументе, как она работает, в первом аргументеВПР удалось, возвращается ближайшее аргумент)..
Прежде всего, нам нужноВ случае, если пропускаются, если значениеВ файле примера, соответствующий больше либо равно не работает в артикулов вместе с немного изменить данную
и так далее.
которое введено в
Вы говорите функции давайте немного погрузимся функции (B2&» «&C2).(VLOOKUP) в Excel из меньших значений:Четвертый аргумент пуст, поэтомуВ поле отсортировать элементы вПОИСКПОЗ аргумента столбец и строка чем старых версиях Excel шапкой. Фиксируем F4. формулу и ееРезультат работы функций
заданную ячейку. Думаю,ПОИСКПОЗ в детали формулы:Запомните!
Часть 1:
мы разберём несколько
"Оси" (в столбце
функция возвращает Приблизительное«Номер строки» столбцепри заданных настройкахначальная_позиция выделены с помощьюискомое_значениеПросматриваемый_массив (2003 и ранее).Тип сопоставления. Excel предлагает следует также ввестиВПР проще это объяснитьискать первое значение,IF($F$2=B2:B16,ROW(C2:C16)-1,»»)Функция примеров, которые помогут A).
совпадение. Если этобудет располагаться вложенная«Сумма» не может найтибольше 1.
Часть 2:
Условного форматирования.
должен быть упорядочен
О том, как спользовать три типа сопоставления: как массив (CTRL+SHIFT+ENTER):и на примере. в точности совпадающееЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»)ВПР Вам направить всю5 не так, вам функцияпо убыванию. Выделяем нужный элемент, тоСкопируйте образец данных изСОВЕТ: Подробнее о поиске по убыванию: ИСТИНА, связку функций больше, меньше иРезультат поиска:ДВССЫЛ
Часть 3:
Представьте, что имеются отчеты
с искомым значением.
$F$2=B2:B16ограничена 255 символами, мощь=ГПР(«Болты»;A1:C4;4) придется введите одноПОИСКПОЗ данную колонку и оператор показывает в следующей таблицы и позиций можно прочитать ЛОЖЬ, Z-A, …,ИНДЕКС (INDEX) точное совпадение. УФункция имеет следующую синтаксическуюбудет следующий: по продажам для Это равносильно значению– сравниваем значение она не можетВПРПоиск слова «Болты» в из значений в. Её придется вбить переходим во вкладку ячейке ошибку вставьте их в в соответствующем разделе 2, 1, 0,и нас конкретный артикул,
Часть 4:
запись:
Если данные расположены в
нескольких регионов сFALSE в ячейке F2 искать значение, состоящеена решение наиболее строке 1 и столбцах C и вручную, используя синтаксис,«Главная»«#Н/Д» ячейку A1 нового сайта: Поиск позиции. -1, -2, …,ПОИСКПОЗ (MATCH) поэтому выбираем точное=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) разных книгах Excel, одинаковыми товарами и(ЛОЖЬ) для четвёртого
Часть 5:
с каждым из
из более чем
амбициозных задач Excel. возврат значения из D, чтобы получить о котором говорится. Щелкаем по значку. листа Excel. ЧтобыС помощью функций ПОИСКПОЗ() и так далее.в качестве более совпадение. В программеОписание аргументов: то необходимо добавить в одинаковом формате.
Двумерный поиск по известным строке и столбцу
аргумента значений диапазона B2:B16. 255 символов. Имейте Примеры подразумевают, что строки 4, находящейся результат вообще. в самом начале«Сортировка и фильтр»При проведении поиска оператор
отобразить результаты формул, и ИНДЕКС() можноФункция ПОИСКПОЗ() не различает мощной альтернативы ВПР оно значится какискомое_значение – обязательный аргумент, имя книги перед Требуется найти показатели
ВПР Если найдено совпадение, это ввиду и Вы уже имеете в том же
Функции ВПР и ПОИСКПОЗ
Когда вы будете довольны статьи. Сразу записываем, который расположен на не различает регистры выделите их и заменить функцию ВПР(), РеГИстры при сопоставлении я уже подробно 0 (ноль). На принимающий текстовые, числовые именованным диапазоном, например: продаж для определенного
.
то выражение
следите, чтобы длина базовые знания о столбце (столбец C). ВПР, ГПР одинаково название функции – ленте в блоке символов. Если в нажмите клавишу F2, об этом читайте текстов. описывал (с видео). этом аргументы ПОИСКПОЗ значения, а также=VLOOKUP($D$2,INDIRECT($D3&»Workbook1!_Sales»),2,FALSE) региона:Вот так Вы можетеСТРОКА(C2:C16)-1 искомого значения не том, как работает11 удобно использовать. Введите
«ПОИСКПОЗ»
«Редактирование»
массиве присутствует несколько а затем — клавишу в статье о
- Если функция ПОИСКПОЗ() не В нашем же закончились. данные логического и
- =ВПР($D$2;ДВССЫЛ($D3&»Workbook1!_Sales»);2;ЛОЖЬ)Если у Вас всего создать формулу длявозвращает номер соответствующей превышала этот лимит.
- эта функция. Если=ГПР(3;{1;2;3:»a»;»b»;»c»;»d»;»e»;»f»};2;ИСТИНА) те же аргументы,без кавычек. Затем
. В появившемся списке точных совпадений, то ВВОД. При необходимости функции ВПР(). находит соответствующего значения, случае, можно применитьНомер столбца. Опять же ссылочного типов, которыйЕсли функция два таких отчета, поиска по двум строки (значениеСоглашусь, добавление вспомогательного столбца нет, возможно, Вам
Поиск числа 3 в но он осуществляет открываем скобку. Первым выбираем пунктПОИСКПОЗ измените ширину столбцов,В этой статье описаны то возвращается значение
Функция СУММПРОИЗВ
их для поиска воспользуемся ПОИСКПОЗ. Искомым используется в качествеДВССЫЛ
то можно использовать
критериям в Excel,
Функции ИНДЕКС и ПОИСКПОЗ
-1 – не самое будет интересно начать трех строках константы поиск в строках аргументом данного оператора
«Сортировка от максимального к
выводит в ячейку
Именованные диапазоны и оператор пересечения
чтобы видеть все синтаксис формулы и ошибки #Н/Д. по нескольким столбцам значением будет ячейка критерия поиска (дляссылается на другую
- до безобразия простую что также известно,позволяет не включать изящное и не с первой части
- массива и возврат вместо столбцов. « является минимальному» позицию самого первого данные. использование функцийПроизведем поиск позиции в в виде формулы E14, где указано сопоставления величин или книгу, то эта формулу с функциями как двумерный поиск строку заголовков). Если
- всегда приемлемое решение. этого учебника, в значения из строкиЕсли вы хотите поэкспериментировать
«Искомое значение»
.
из них.ДанныеПОИСК НЕ сортированном списке массива. Для этого: наименование параметра, который нахождения точного совпадения);
книга должна бытьВПР или поиск в совпадений нет, функция Вы можете сделать которой объясняются синтаксис
- 2 того же с функциями подстановки,. Оно располагается на
После того, как былаДавайте рассмотрим на примереВыпискии текстовых значений (диапазонВыделите пустую зеленую ячейку,
Используем несколько ВПР в одной формуле
мы ищем (ТОВАР).просматриваемый_массив – обязательный аргумент, открытой. Если жеи двух направлениях.IF то же самое и основное применение (в данном случае — прежде чем применять листе в поле сортировка произведена, выделяем самый простой случай,Доход: маржаПОИСКБ
B7:B13 где должен быть Просматриваемый массив: шапка принимающий данные ссылочного она закрыта, функцияЕСЛИФункция(ЕСЛИ) возвращает пустую без вспомогательного столбца,ВПР третьего) столбца. Константа их к собственным«Приблизительная сумма выручки» ячейку, где будет когда с помощьюмаржав Microsoft Excel.) результат. с наименованиями, потому типа (ссылки на сообщит об ошибке
(IF), чтобы выбратьСУММПРОИЗВ строку. но в таком. Что ж, давайте массива содержит три данным, то некоторые. Указываем координаты ячейки, выводиться результат, и
- ПОИСКПОЗЗдесь «босс».ФункцииСтолбец Позиция приведен дляВведите в строке формул что искать система диапазон ячеек) или#REF!
нужный отчет для
(SUMPRODUCT) возвращает сумму
Результатом функции случае потребуется гораздо приступим. строки значений, разделенных образцы данных. Некоторые содержащей число запускаем окно аргументовможно определить местоФормулаПОИСК наглядности и не в нее следующую
- будет по слову константу массива, в(#ССЫЛ!). поиска: произведений выбранных массивов:IF более сложная формулаПоиск в Excel по точкой с запятой пользователи Excel, такие350
тем же путем,
указанного элемента в
ОписаниеИ влияет на вычисления. формулу: ТОВАР. Тип сопоставления: которых выполняется поискУрок подготовлен для Вас=VLOOKUP($D$2,IF($D3=»FL»,FL_Sales,CA_Sales),2,FALSE)=SUMPRODUCT(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»),$A$2:$I$9)(ЕСЛИ) окажется вот
с комбинацией функций нескольким критериям (;). Так как
Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ
как с помощью. Ставим точку с о котором шла массиве текстовых данных.РезультатПОИСКБФормула для поиска позиции
Нажмите в конце не 0. позиции элемента согласно командой сайта office-guru.ru=ВПР($D$2;ЕСЛИ($D3=»FL»;FL_Sales;CA_Sales);2;ЛОЖЬ)=СУММПРОИЗВ(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»);$A$2:$I$9) такой горизонтальный массив:INDEXИзвлекаем 2-е, 3-е и «c» было найдено функции ВПР и
запятой. Вторым аргументом речь в первом Узнаем, какую позицию=ПОИСК(«и»;A2;6)находят одну текстовую значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0) Enter, а сочетаниеСинтаксис функции ИНДЕКС закончен.
критерию, заданному первымИсточник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/Где:В следующей статье я{1,»»,3,»»,5,»»,»»,»»,»»,»»,»»,12,»»,»»,»»}(ИНДЕКС) и т.д. значения, используя в строке 2 ГПР; другие пользователи является способе.
в диапазоне, в
Позиция первого знака "и"
строку в другой
- Формула находит первое значениеCtrl+Shift+Enter Как в итоге аргументом функции;Перевел: Антон Андронов$D$2 буду объяснять этиROW()-3MATCH
- ВПР того же столбца, предпочитают с помощью«Просматриваемый массив»В поле котором находятся наименования в строке ячейки и возвращают начальную сверху и выводит, чтобы ввести формулу
- выглядит формула, видно[тип_сопоставления] – необязательный дляАвтор: Антон Андронов– это ячейка, функции во всехСТРОКА()-3(ПОИСКПОЗ).Извлекаем все повторения искомого что и 3, функций индекс и.«Искомое значение» товаров, занимает слово A2, начиная с позицию первой текстовой его позицию в
не как обычную, на скриншоте выше. заполнения аргумент вФункция ПОИСКПОЗ в Excel содержащая название товара. деталях, так чтоЗдесь функцияВы уже знаете, что значения возвращается «c».
ПОИСКПОЗ вместе. ПопробуйтеПОИСКПОЗвбиваем число«Сахар» шестого знака. строки (считая от диапазоне, второе значение а как формулу Видим, что артикул виде числового значения, используется для поиска Обратите внимание, здесь сейчас можете простоROWВПРДвумерный поиск по известнымc каждый из методовбудет просматривать тот«400».7 первого символа второй
Груши учтено не
массива.
3516 действительно у
- определяющего способ поиска точного совпадения или мы используем абсолютные скопировать эту формулу:(СТРОКА) действует как
- может возвратить только строке и столбцуВ этом примере последней и посмотрите, какие диапазон, в котором. В полеВыделяем ячейку, в которую
- =ПОИСК(A4;A3) текстовой строки). Например, будет.Как это на самом арахиса. Протянем формулу в диапазоне ячеек ближайшего (меньшего или ссылки, чтобы избежать=INDEX($A$2:$I$9,MATCH(«Lemons»,$A$2:$A$9,0),MATCH(«Mar»,$A$1:$I$1,0)) дополнительный счётчик. Так одно совпадающее значение,Используем несколько ВПР в использует функций индекс из них подходящий находится сумма выручки
Как работают ДВССЫЛ и ВПР
«Просматриваемый массив» будет выводиться обрабатываемыйНачальная позиция строки «маржа» чтобы найти позицию
Чтобы найти номер строки,
деле работает:
на остальные строки или массиве. Может большего заданному в изменения искомого значения=ИНДЕКС($A$2:$I$9;ПОИСКПОЗ(«Lemons»;$A$2:$A$9;0);ПОИСКПОЗ(«Mar»;$A$1:$I$1;0)) как формула скопирована точнее – первое одной формуле и ПОИСКПОЗ вместе
- вариант. и искать наиболееуказываем координаты столбца результат. Щелкаем по (искомая строка в
- буквы «n» в а не позицииФункция ИНДЕКС выдает из и проверим. Теперь, принимать следующие значения:
зависимости от типа при копировании формулыЕсли Вы не в в ячейки F4:F9, найденное. Но какДинамическая подстановка данных из для возвращения раннюю
Скопируйте следующие данные в приближенную к 350«Сумма» значку ячейке A4) в слове «printer», можно в искомом диапазоне, диапазона цен C2:C161 меняя артикул товара,-1 – поиск наименьшего сопоставления, указанного в в другие ячейки. восторге от всех мы вычитаем число быть, если в разных таблиц номер счета-фактуры и пустой лист. рублям. Поэтому в. В поле«Вставить функцию» строке «Доход: маржа» использовать следующую функцию:
можно записать следующую содержимое N-ой ячейки мы будем видеть, ближайшего значения заданному качестве аргумента) значения$D3 этих сложных формул3 просматриваемом массиве этоФункция его соответствующих датыСовет: данном случае указываем«Тип сопоставления»около строки формул. (ячейка, в которой=ПОИСК(«н»;»принтер») формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)
по порядку. При кто его купил, аргументом искомое_значение в заданному в массиве– это ячейка
Excel, Вам можетиз результата функции, значение повторяется несколькоВПР для каждого из
Прежде чем вставлять
координаты столбца
устанавливаем значениеПроизводится запуск выполняется поиск — A3).Эта функция возвращаетЕсли искомое значение не этом порядковый номер сколько и почем. упорядоченном по убыванию или диапазоне ячеек с названием региона.
понравиться вот такой чтобы получить значение
раз, и Вы
в Excel –
пяти городов. Так
office-guru.ru
Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel
данные в Excel,«Сумма выручки»«-1»Мастера функций84 обнаружено в списке, нужной ячейки нам массиве или диапазоне и возвращает номер Используем абсолютную ссылку
Примеры использования функции ПОИСКПОЗ в Excel
наглядный и запоминающийся1 хотите извлечь 2-е это действительно мощный как дата возвращаются установите для столбцов. Опять ставим точку, так как мы. Открываем категорию=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем»), так как «н»
то будет возвращено находит функция ПОИСКПОЗ.Функция ИНДЕКС также помогает ячеек. позиции найденного элемента. для столбца и способ:в ячейке или 3-е из инструмент для выполнения в виде числа, A – С с запятой. Третьим производим поиск равного«Полный алфавитный перечень»Заменяет слово «маржа» словом
является четвертым символом значение ошибки #Н/Д. Она ищет связку выделить из массива0 – (по умолчанию)Например, имеем последовательный ряд относительную ссылку дляВыделите таблицу, откройте вкладкуF4 них? А что поиска определённого значения мы используем функцию ширину в 250 аргументом является или большего значенияили «объем», определяя позицию в слове «принтер». Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0) названия товара и максимальное число. Рассмотрим
поиск первого значения чисел от 1 строки, поскольку планируемFormulas(строка 4, вычитаем
если все значения?
Формула для поиска неточного совпадения текста в Excel
в базе данных. текст отформатировать его пикселей и нажмите«Тип сопоставления» от искомого. После
«Ссылки и массивы»
слова «маржа» вМожно также находить слова вернет ошибку, т.к.
месяца (
тот же самый
- в массиве или до 10, записанных копировать формулу в(Формулы) и нажмите 3), чтобы получить Задачка кажется замысловатой,
- Однако, есть существенное как дату. Результат кнопку
- . Так как мы выполнения всех настроек
. В списке операторов ячейке A3 и в других словах. значения «грейпфрут» в
НектаринЯнварь
Сравнение двух таблиц в Excel на наличие несовпадений значений
пример. Попробуем определить диапазоне ячеек (не в ячейках B1:B10. другие ячейки тогоCreate from Selection2 но решение существует! ограничение – её функции ПОИСКПОЗ фактическиПеренос текста
будем искать число
жмем на кнопку ищем наименование заменяя этот знак Например, функция диапазоне ячеек) по очереди во
максимальные значения купленного обязательно упорядоченном), которое Функция =ПОИСКПОЗ(3;B1:B10;0) вернет же столбца.(Создать из выделенного).в ячейкеПредположим, в одном столбце синтаксис позволяет искать используется функция индекс(вкладка « равное заданному или«OK»«ПОИСКПОЗ» и последующие пять=ПОИСК(«base»;»database»)B7:B13 всех ячейках склеенного количества товара, цены полностью совпадает со число 3, посколькуFL_SalОтметьте галочкамиF5 таблицы записаны имена
только одно значение. аргументом. Сочетание функцийГлавная самое близкое меньшее,.. Найдя и выделив
знаков текстовой строкойвозвращает
Поиск ближайшего большего знания в диапазоне чисел Excel
нет. из двух столбцов и суммы. значением, переданным в искомое значение находится
es
Top row(строка 5, вычитаем клиентов (Customer Name), Как же быть, индекс и ПОИСКПОЗ», группа « то устанавливаем тут
Результат обработки выводится в
его, жмем на «объем.»5В файле примера можно диапазона A2:A161&B2:B161 иНачнем с количества. В качестве первого аргумента. в ячейке B3,и
(в строке выше)
3) и так а в другом если требуется выполнить используются два разаВыравнивание цифру
предварительно указанную ячейку.
Особенности использования функции ПОИСКПОЗ в Excel
кнопкуДоход: объем
, так как слово
найти применение функции
- выдает порядковый номер любой ячейке под1 – Поиск наибольшего которая является третьейCA_Sales и далее. – товары (Product), поиск по нескольким
- в каждой формуле»).«1» Это позиция«OK»=ПСТР(A3;ПОИСК(» «;A3)+1,4) «base» начинается с при поиске в ячейки, где нашла
- этим столбцом пишем ближайшего значения заданному от точки отсчета– названия таблицLeft columnSMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)) которые они купили.
- условиям? Решение Вы — сначала получитьПлотность. Закрываем скобки.«3»в нижней части
- Возвращает первые четыре знака, пятого символа слова горизонтальном массиве. точное совпадение. По =ИНДЕКС. первым аргументом в (ячейки B1). (или именованных диапазонов),
- (в столбце слева).НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3)) Попробуем найти 2-й, найдёте далее. номер счета-фактуры, аВязкость
Третий аргумент функции
- . Ей соответствует окна. которые следуют за «database». Можно использоватьПоиск позиции можно производить сути, это первыйПервым аргументом у нас упорядоченном по возрастаниюДанная функция удобна для в которых содержаться Microsoft Excel назначитФункция 3-й и 4-й
- Предположим, у нас есть затем для возвратаТемператураИНДЕКС«Картофель»
- Активируется окно аргументов оператора первым пробелом в функции не только в способ, но ключевой будет не просто массиве или диапазоне использования в случаях, соответствующие отчеты о имена диапазонам изSMALL
- товары, купленные заданным список заказов и даты.0,457«Номер столбца». Действительно, сумма выручкиПОИСКПОЗ строке «Доход: маржа»
exceltable.com
Функции ИНДЕКС и ПОИСКПОЗ в Excel и примеры их использования
ПОИСК диапазонах ячеек, но столбец создается виртуально массив, а максимальное ячеек. когда требуется вернуть продажах. Вы, конечно значений в верхней(НАИМЕНЬШИЙ) возвращает
клиентом. мы хотим найтиСкопируйте всю таблицу и3,55оставляем пустым. После от реализации этого. Как видим, в (ячейка A3).и и в массивах прямо внутри формулы, число из массива.Примечания: не само значение, же, можете использовать строке и левом
Пример использования функций ИНДЕКС и ПОИСКПОЗ
n-оеПростейший способ – добавитьКоличество товара вставьте ее в500 этого жмем на продукта самая близкая
данном окне помаржПОИСКБ констант. Например, формула а не в Поэтому дополнительно используемЕсли в качестве аргумента содержащееся в искомой обычные названия листов столбце Вашей таблицы.наименьшее значение в вспомогательный столбец перед
(Qty.), основываясь на ячейку A1 пустого0,525 кнопку к числу 400 числу количества аргументов=ПОИСК(«»»»;A5)для определения положения =ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0) вернет значение ячейках листа. команду МАКС и искомое_значение была передана ячейке, а ее и ссылки на Теперь Вы можете массиве данных. В столбцом двух критериях – листа Excel.3,25«OK» по возрастанию и
имеется три поля.Позиция первой двойной кавычки символа или текстовой 2.Плюсы выделяем соответствующий массив. текстовая строка, функция координату относительно рассматриваемого
диапазоны ячеек, например осуществлять поиск, используя нашем случае, какуюCustomer NameИмя клиентаСовет:
400. составляет 450 рублей. Нам предстоит их («) в ячейке строки в другойЕсли искомое значение точно: Не нужен отдельныйВ принципе, нам больше ПОИСКПОЗ вернет позицию диапазона. В случае‘FL Sheet’!$A$3:$B$10 эти имена, напрямую,
по счёту позициюи заполнить его
(Customer) и Прежде чем вставлять данные0,606Как видим, функцияАналогичным образом можно произвести заполнить.
A5. текстовой строке, а не известно, то столбец, работает и не нужны никакие
элемента в массиве использования для констант, но именованные диапазоны без создания формул. (от наименьшего) возвращать именами клиентов сНазвание продукта в Excel, установите2,93ИНДЕКС поиск и самой
Так как нам нужно5 затем вернуть текст с помощью подстановочных с числами и аргументы, но требуется (если такой существует) массивов, которые могут гораздо удобнее.В любой пустой ячейке – определено функцией номером повторения каждого
(Product). Дело усложняется для столбцов A300при помощи оператора близкой позиции к найти позицию слова=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1) с помощью функций знаков можно задать с текстом. ввести номер строки без учета регистра быть представлены как
Однако, когда таких таблиц
Поиск индекса максимального числа массива в Excel
запишитеROW имени, например, тем, что каждый – D ширину0,675ПОИСКПОЗ«400»
«Сахар»Возвращает из ячейки A5ПСТР поиск по шаблону,
Минусы и столбца. В символов. Например, строки массивы элементов «ключ» много, функция=имя_строки имя_столбца(СТРОКА) (смотри Часть
John Doe1 из покупателей заказывал в 250 пикселей2,75в заранее указаннуюпо убыванию. Тольков диапазоне, то
только текст, заключенныйи
т.е. искомое_значение может: Ощутимо тормозит на таком случае напишем «МоСкВа» и «москва» — «значение», функцияЕСЛИ
exceltable.com
Поиск и подстановка по нескольким условиям
Постановка задачи
, например, так: 2). Так, для, несколько видов товаров, и нажмите кнопку250 ячейку выводит наименование для этого нужно вбиваем это наименование в двойные кавычки.ПСТРБ содержать знаки шаблона: больших таблицах (как два нуля. являются равнозначными. Для ПОИСКПОЗ возвращает значение– это не=Lemons Mar ячейкиJohn Doe2 как это видноПеренос текста0,746«Чай» произвести фильтрацию данных
в полебоссили заменить его звездочку (*) и
и все формулыСкачать примеры использования функций различения регистров можно ключа, который явно лучшее решение. Вместо… или наоборот:F4и т.д. Фокус из таблицы ниже:(вкладка «2,57. Действительно, сумма от по возрастанию, а«Искомое значение»Одним из наиболее востребованных с помощью функций знак вопроса (?).
Способ 1. Дополнительный столбец с ключом поиска
массива, впрочем), особенно ИНДЕКС и ПОИСКПОЗ дополнительно использовать функцию не указан. нее можно использовать=Mar Lemonsфункция с нумерацией сделаемОбычная функцияГлавная200 реализации чая (300
в поле. операторов среди пользователейЗАМЕНИТЬ Звездочка соответствует любой если указывать диапазоныПолучили простейшую формулу, помогающую СОВПАД.Например, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит
функциюПомните, что имена строкиНАИМЕНЬШИЙ({массив};1) при помощи функцииВПР», группа «0,835 рублей) ближе всего«Тип сопоставления»
В поле Excel является функцияи последовательности знаков, знак
«с запасом» или вывести максимальное значениеЕсли поиск с использованием элементы, которые можноДВССЫЛ и столбца нужновозвращаетCOUNTIFне будет работатьВыравнивание2,38 по убыванию к
Способ 2. Функция СУММЕСЛИМН
аргументов функции установить«Просматриваемый массив»ПОИСКПОЗЗАМЕНИТЬБ вопроса соответствует любому сразу целые столбцы из массива. Протянем рассматриваемой функции не представить как: 1(INDIRECT), чтобы возвратить разделить пробелом, который1-й(СЧЁТЕСЛИ), учитывая, что по такому сценарию,»).150 сумме 350 рублей значениенужно указать координаты. В её задачи. Эти функции показаны
одиночному знаку. (т.е. вместо A2:A161 ее вправо, получив дал результатов, будет – «виноград», 2 нужный диапазон поиска.
в данном случае(наименьший) элемент массива, имена клиентов находятся поскольку она возвратитСчет0,946 из всех имеющихся«1»
Способ 3. Формула массива
самого диапазона. Его входит определение номера в примере 1Предположим, что имеется перечень вводить A:A и аналогичную информацию по возвращен код ошибки – «яблоко», 3Как Вы, вероятно, знаете, работает как оператор то есть в столбце B: первое найденное значение,Город2,17
- в обрабатываемой таблице. можно вбить вручную,
- позиции элемента в данной статьи. товаров и мы
- т.д.) Многим непривычны цене и сумме. #Н/Д. – «груша», 4 функция пересечения.1
=B2&COUNTIF($B$2:B2,B2) соответствующее заданному искомому
Дата выставления счета100 значений.Урок: но проще установить заданном массиве данных.Важно: не знаем точно формулы массива вЕсли вы продвинутый пользовательЕсли аргумент [тип_сопоставления] явно – «слива», гдеДВССЫЛПри вводе имени, Microsoft. Для ячейки=B2&СЧЁТЕСЛИ($B$2:B2;B2) значению. Например, еслиСамая ранняя счет по1,09Если мы изменим числоСортировка и фильтрация данных курсор в поле Наибольшую пользу она
как записана товарная принципе (тогда вам Microsoft Excel, то не указан или 1, 2, 3,
используется для того, Excel будет показыватьF5После этого Вы можете Вы хотите узнать городу, с датой1,95 в поле в Excel и выделить этот приносит, когда применяетсяЭти функции могут быть позиция относящаяся к сюда).
planetaexcel.ru
должны быть знакомы
Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в Excel, которые делают их более привлекательными по сравнению с ВПР. Вы увидите несколько примеров формул, которые помогут Вам легко справиться со многими сложными задачами, перед которыми функция ВПР бессильна.
В нескольких недавних статьях мы приложили все усилия, чтобы разъяснить начинающим пользователям основы функции ВПР и показать примеры более сложных формул для продвинутых пользователей. Теперь мы попытаемся, если не отговорить Вас от использования ВПР, то хотя бы показать альтернативные способы реализации вертикального поиска в Excel.
Зачем нам это? – спросите Вы. Да, потому что ВПР – это не единственная функция поиска в Excel, и её многочисленные ограничения могут помешать Вам получить желаемый результат во многих ситуациях. С другой стороны, функции ИНДЕКС и ПОИСКПОЗ – более гибкие и имеют ряд особенностей, которые делают их более привлекательными, по сравнению с ВПР.
- Базовая информация об ИНДЕКС и ПОИСКПОЗ
- Используем функции ИНДЕКС и ПОИСКПОЗ в Excel
- Преимущества ИНДЕКС и ПОИСКПОЗ перед ВПР
- ИНДЕКС и ПОИСКПОЗ – примеры формул
- Как находить значения, которые находятся слева
- Вычисления при помощи ИНДЕКС и ПОИСКПОЗ
- Поиск по известным строке и столбцу
- Поиск по нескольким критериям
- ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА
Содержание
- Базовая информация об ИНДЕКС и ПОИСКПОЗ
- ИНДЕКС – синтаксис и применение функции
- ПОИСКПОЗ – синтаксис и применение функции
- Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
- Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
- 4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
- ИНДЕКС и ПОИСКПОЗ – примеры формул
- Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
- Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
- О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
- Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
- Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
- ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в 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))
Думаю, ещё проще будет понять на примере. Предположим, у Вас есть вот такой список столиц государств:
Давайте найдём население одной из столиц, например, Японии, используя следующую формулу:
=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:
Важно! Количество строк и столбцов в массиве, который использует функция 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))
Теперь у Вас не должно возникать проблем с пониманием, как работает эта формула:
- Во-первых, задействуем функцию 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).
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
Эта формула эквивалентна двумерному поиску ВПР и позволяет найти значение на пересечении определённой строки и столбца.
В этом примере формула ИНДЕКС/ПОИСКПОЗ будет очень похожа на формулы, которые мы уже обсуждали в этом уроке, с одним лишь отличием. Угадайте каким?
Как Вы помните, синтаксис функции INDEX (ИНДЕКС) позволяет использовать три аргумента:
INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])
И я поздравляю тех из Вас, кто догадался!
Начнём с того, что запишем шаблон формулы. Для этого возьмём уже знакомую нам формулу ИНДЕКС/ПОИСКПОЗ и добавим в неё ещё одну функцию ПОИСКПОЗ, которая будет возвращать номер столбца.
=INDEX(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
Обратите внимание, что для двумерного поиска нужно указать всю таблицу в аргументе array (массив) функции INDEX (ИНДЕКС).
А теперь давайте испытаем этот шаблон на практике. Ниже Вы видите список самых населённых стран мира. Предположим, наша задача узнать население США в 2015 году.
Хорошо, давайте запишем формулу. Когда мне нужно создать сложную формулу в 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. Просто? Да!
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
В учебнике по ВПР мы показывали пример формулы с функцией ВПР для поиска по нескольким критериям. Однако, существенным ограничением такого решения была необходимость добавлять вспомогательный столбец. Хорошая новость: формула ИНДЕКС/ПОИСКПОЗ может искать по значениям в двух столбцах, без необходимости создания вспомогательного столбца!
Предположим, у нас есть список заказов, и мы хотим найти сумму по двум критериям – имя покупателя (Customer) и продукт (Product). Дело усложняется тем, что один покупатель может купить сразу несколько разных продуктов, и имена покупателей в таблице на листе Lookup table расположены в произвольном порядке.
Вот такая формула ИНДЕКС/ПОИСКПОЗ решает задачу:
{=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
Как Вы, вероятно, уже заметили (и не раз), если вводить некорректное значение, например, которого нет в просматриваемом массиве, формула ИНДЕКС/ПОИСКПОЗ сообщает об ошибке #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));
"Совпадений не найдено. Попробуйте еще раз!")
И теперь, если кто-нибудь введет ошибочное значение, формула выдаст вот такой результат:
Если Вы предпочитаете в случае ошибки оставить ячейку пустой, то можете использовать кавычки («»), как значение второго аргумента функции ЕСЛИОШИБКА. Вот так:
IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),"")
ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);"")
Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.
Оцените качество статьи. Нам важно ваше мнение:
Функция
ПОИСКПОЗ(
)
, английский вариант MATCH(),
возвращает позицию значения в диапазоне ячеек. Например, если в ячейке
А10
содержится значение «яблоки», то формула
=ПОИСКПОЗ («яблоки»;A9:A20;0)
вернет 2, т.е. искомое значение «яблоки» содержится во второй ячейке диапазона
A9:A20
:
А9
— первая ячейка (предполагается, что в ней не содержится значение «яблоки»),
А10
— вторая,
А11
— третья и т.д. (подсчет позиции производится от верхней ячейки)
.
Функция
ПОИСКПОЗ()
возвращает позицию искомого значения, а не само значение. Например:
ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0)
возвращает число 2 — относительную позицию буквы «б» в массиве {«а»;»б»;»в»;»б»}. Позиция второй буквы «б» будет проигнорирована, функция вернет позицию только первой буквы. О том как вернуть ВСЕ позиции искомого значения читайте ниже в разделе
Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию
.
Синтаксис функции
ПОИСКПОЗ
(
искомое_значение
;
просматриваемый_массив
; тип_сопоставления)
Искомое_значение
— значение, используемое при поиске значения в
просматриваемом_массиве
.
Искомое_значение
может быть значением (числом, текстом или логическим значением (ЛОЖЬ или ИСТИНА)) или ссылкой на ячейку, содержащую число, текст или логическое значение.
Просматриваемый_массив
— непрерывный диапазон ячеек, возможно, содержащих искомые значения.
Просматриваемый_массив
может быть только одностолбцовым диапазоном ячеек, например
А9:А20
или диапазоном, расположенным в одной строке, например,
А2:Е2
. Таким образом формула
=ПОИСКПОЗ(«слива»;A30:B33;0)
работать не будет (выдаст ошибку #Н/Д), так как
Просматриваемый_массив
представляет собой диапазон ячеек размещенный одновременно в нескольких столбцах и нескольких ячейках.
Тип_сопоставления
— число -1, 0 или 1.
Тип_сопоставления
указывает, как MS EXCEL сопоставляет
искомое_значение
со значениями в аргументе
просматриваемый_массив.
-
Если
тип_сопоставления
равен 0, то функция
ПОИСКПОЗ()
находит первое значение, которое в
точности
равно аргументу
искомое_значение
.
Просматриваемый_массив
может быть не упорядочен. -
Если тип_сопоставления равен 1, то функция
ПОИСКПОЗ()
находит наибольшее значение, которое меньше либо равно, чем
искомое_значение
.
Просматриваемый_массив
должен быть упорядочен по возрастанию: …, -2, -1, 0, 1, 2, …, A-Z, ЛОЖЬ, ИСТИНА. Если
тип_сопоставления
опущен, то предполагается, что он равен 1. -
Если
тип_сопоставления
равен -1, то функция
ПОИСКПОЗ()
находит наименьшее значение, которое больше либо равно чем
искомое_значение
.
Просматриваемый_массив
должен быть упорядочен по убыванию: ИСТИНА, ЛОЖЬ, Z-A, …, 2, 1, 0, -1, -2, …, и так далее.
Функция
ПОИСКПОЗ()
не различает
РеГИстры
при сопоставлении текстов.
Если функция
ПОИСКПОЗ()
не находит соответствующего значения, то возвращается значение ошибки #Н/Д.
Поиск позиции в массивах с текстовыми значениями
Произведем поиск позиции в НЕ сортированном списке текстовых значений (диапазон
B7:B13
)
Столбец
Позиция
приведен для наглядности и не влияет на вычисления.
Формула для поиска позиции значения
Груши:
=ПОИСКПОЗ(«груши»;B7:B13;0)
Формула находит первое значение сверху и выводит его позицию в диапазоне, второе значение
Груши
учтено не будет.
Чтобы найти номер строки, а не позиции в искомом диапазоне, можно записать следующую формулу:
=ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)
Если искомое значение не обнаружено в списке, то будет возвращено значение ошибки #Н/Д. Например, формула
=ПОИСКПОЗ(«грейпфрут»;B7:B13;0)
вернет ошибку, т.к. значения «грейпфрут» в диапазоне ячеек
B7:B13
нет.
В
файле примера
можно найти применение функции при поиске в горизонтальном массиве.
Поиск позиции в массиве констант
Поиск позиции можно производить не только в диапазонах ячеек, но и в
массивах констант
. Например, формула
=ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0)
вернет значение 2.
Поиск позиции с использованием подстановочных знаков
Если искомое значение точно не известно, то с помощью
подстановочных знаков
можно задать поиск по шаблону, т.е. искомое_значение может содержать знаки шаблона: звездочку (*) и знак вопроса (?). Звездочка соответствует любой последовательности знаков, знак вопроса соответствует любому одиночному знаку.
Предположим, что имеется перечень товаров и мы не знаем точно как записана товарная позиция относящаяся к яблокам:
яблоки
или
яблоко
.
В качестве критерия можно задать
«яблок*»
и формула
=ПОИСКПОЗ(«яблок*»;B53:B62;0)
вернет позицию текстового значения, начинающегося со слова
яблок
(если она есть в списке).
Подстановочные знаки
следует использовать только для поиска позиции текстовых значений и
Типом сопоставления
= 0 (третий аргумент функции).
Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию
Функция
ПОИСКПОЗ()
возвращает только одно значение. Если в списке присутствует несколько значений, удовлетворяющих критерию, то эта функция не поможет.
Рассмотрим список с
повторяющимися
значениями в диапазоне
B66:B72
. Найдем все позиции значения
Груши
.
Значение
Груши
находятся в позициях 2 и 5 списка. С помощью
формулы массива
=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65))
можно найти все эти позиции. Для этого необходимо выделить несколько ячеек (расположенных вертикально), в
Строке формул
ввести вышеуказанную формулу и нажать
CTRL+SHIFT+ENTER
. В позициях, в которых есть значение
Груши
будет выведено соответствующее значение позиции, в остальных ячейках быдет выведен 0.
C помощью другой
формулы массива
=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65))
можно отсортировать найденные позиции, чтобы номера найденных позиций отображались в первых ячейках (см.
файл примера
).
Поиск позиции в массивах с Числами
1. Произведем поиск позиции в НЕ сортированном списке числовых значений (диапазон
B8:B14
)
Столбец
Позиция
приведен для наглядности и не влияет на вычисления.
Найдем позицию значения 30 с помощью формулы
=ПОИСКПОЗ(30;B8:B14;0)
Формула ищет
точное
значение 30. Если в списке его нет, то будет возвращена ошибка #Н/Д.
2. Произведем поиск позиции в
отсортированном
по возрастанию списке числовых значений (диапазон
B31:B37
)
Сортированные списки позволяют искать не только точные значения (их позицию), но и позицию
ближайшего
значения. Например, в списке на картинке ниже нет значения 45, но можно найти позицию наибольшего значения, которое меньше либо равно, чем искомое значение, т.е. позицию значения 40.
Это можно сделать с помощью формулы
=ПОИСКПОЗ(45;B31:B37;1)
Обратите внимание, что тип сопоставления =1 (третий аргумент функции).
3. Поиск позиции в списке
отсортированном
по убыванию выполняется аналогично, но с типом сопоставления = -1. В этом случае функция
ПОИСКПОЗ()
находит наименьшее значение, которое больше либо равно чем искомое значение.
Функции ПОИСКПОЗ() и ИНДЕКС()
Функции
ПОИСКПОЗ()
и
ИНДЕКС()
часто используются вместе, т.к. позволяют по найденной позиции в одном диапазоне вывести соответствующее значение из другого диапазона. Рассмотрим пример.
Найдем количество заданного товара на определенном складе. Для этого используем формулу
=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0))
В
файле примера
, соответствующий столбец и строка выделены с помощью
Условного форматирования
.
СОВЕТ:
Подробнее о поиске позиций можно прочитать в соответствующем разделе сайта:
Поиск позиции
.
С помощью функций
ПОИСКПОЗ()
и
ИНДЕКС()
можно заменить функцию
ВПР()
, об этом читайте в статье о
функции ВПР()
.