Функция ПОИСКПОЗ
Совет: Попробуйте использовать новую функцию XMATCH , улучшенную версию функции MATCH, которая работает в любом направлении и по умолчанию возвращает точные совпадения, что упрощает и удобнее в использовании, чем предшественницу.
Функция ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне. Например, если диапазон A1:A3 содержит значения 5, 25 и 38, то формула =ПОИСКПОЗ(25;A1:A3;0) возвращает значение 2, поскольку элемент 25 является вторым в диапазоне.
Совет: Функцией ПОИСКПОЗ следует пользоваться вместо одной из функций ПРОСМОТР, когда требуется найти позицию элемента в диапазоне, а не сам элемент. Например, функцию ПОИСКПОЗ можно использовать для передачи значения аргумента номер_строки функции ИНДЕКС.
Синтаксис
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
Аргументы функции ПОИСКПОЗ описаны ниже.
-
Искомое_значение. Обязательный аргумент. Значение, которое сопоставляется со значениями в аргументе просматриваемый_массив. Например, при поиске номера в телефонной книге имя абонента указывается в качестве искомого значения, а нужным значением будет номер телефона.
Аргумент искомое_значение может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, содержащую такое значение.
-
Просматриваемый_массив Обязательный аргумент. Диапазон ячеек, в которых производится поиск.
-
Тип_сопоставления. Необязательный аргумент. Число -1, 0 или 1. Аргумент тип_сопоставления указывает, каким образом в Microsoft Excel искомое_значение сопоставляется со значениями в аргументе просматриваемый_массив. По умолчанию в качестве этого аргумента используется значение 1.
В приведенной ниже таблице описано, как функция находит значения в зависимости от аргумента тип_сопоставления.
Тип_сопоставления |
Поведение |
1 или опущен |
Функция ПОИСКПОЗ находит наибольшее значение, которое меньше или равно значению аргумента искомое_значение. Просматриваемый_массив должен быть упорядочен по возрастанию: …, -2, -1, 0, 1, 2, …, A-Z, ЛОЖЬ, ИСТИНА. |
0 |
Функция ПОИСКПОЗ находит первое значение, равное аргументу искомое_значение. Просматриваемый_массив может быть не упорядочен. |
-1 |
Функция ПОИСКПОЗ находит наименьшее значение, которое больше или равно значению аргумента искомое_значение. Просматриваемый_массив должен быть упорядочен по убыванию: ИСТИНА, ЛОЖЬ, Z — A, …, 2, 1, 0, -1, -2, … и т. д. |
-
Функция ПОИСКПОЗ возвращает не само значение, а его позицию в аргументе просматриваемый_массив. Например, функция ПОИСКПОЗ(«б»;{«а»;»б»;»в«};0) возвращает 2 — относительную позицию буквы «б» в массиве {«а»;»б»;»в»}.
-
Функция ПОИСКПОЗ не различает регистры при сопоставлении текста.
-
Если функция ПОИСКПОЗ не находит соответствующего значения, возвращается значение ошибки #Н/Д.
-
Если тип_сопоставления равен 0 и искомое_значение является текстом, то искомое_значение может содержать подстановочные знаки: звездочку (*) и вопросительный знак (?). Звездочка соответствует любой последовательности знаков, вопросительный знак — любому одиночному знаку. Если нужно найти сам вопросительный знак или звездочку, перед ними следует ввести знак тильды (~).
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Продукт |
Количество |
|
Бананы |
25 |
|
Апельсины |
38 |
|
Яблоки |
40 |
|
Груши |
41 |
|
Формула |
Описание |
Результат |
=ПОИСКПОЗ(39;B2:B5,1;0) |
Так как точного соответствия нет, возвращается позиция ближайшего меньшего элемента (38) в диапазоне B2:B5. |
2 |
=ПОИСКПОЗ(41;B2:B5;0) |
Позиция значения 41 в диапазоне B2:B5 |
4 |
=ПОИСКПОЗ(40;B2:B5;-1) |
Возвращает сообщение об ошибке, так как диапазон B2:B5 упорядочен не по убыванию. |
#Н/Д |
Нужна дополнительная помощь?
Skip to content
В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в 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. Я надеюсь, что наши примеры формул окажутся полезными для вас.
Вот еще несколько статей по этой теме:
Функция ПОИСКПОЗ() в MS EXCEL
Смотрите такжеAcya961 – Поиск наибольшего массив. Функция ЕНД быть представлены как аргументов и выполнения внутри хранит и диапазон или массивО том, как спользовать), т.е. получить на чтобы столбец, поВ области столбец, из которого по горизонтали по) поиск по шаблону, функция ПОИСКПОЗ() находитФункция ПОИСКПОЗ(), английский вариант: Всем доброй ночи! ближайшего значения заданному возвратит значение ЛОЖЬ, массивы элементов «ключ» функции в массиве. обрабатывает даты как
(строка или столбец), связку функций выходе которому производится поиск,Доступные надстройки возвращается значение. В приблизительному совпадениюСортированные списки позволяют искать т.е. искомое_значение может первое значение, которое MATCH(), возвращает позициюЗадали задачку, никак первым аргументом в если она не — «значение», функция Для этого: числа, то подобный где производится поиск
Синтаксис функции
ИНДЕКС (INDEX)152
был левее столбца,установите флажок рядом этом примере значениеСоздание формулы подстановки с не только точные содержать знаки шаблона: в значения в диапазоне не могу сообразить, упорядоченном по возрастанию принимает значение ошибки ПОИСКПОЗ возвращает значение
В ячейку B16 введите подход на 100%Режим_поискаи, но автоматически, т.е. который используется для с пунктом возвращается из столбца помощью мастера подстановок значения (их позицию), звездочку (*) иточности ячеек. Например, если как составить формулу, массиве или диапазоне #Н/Д в качестве ключа, который явно значение Ford, а работает и с- как мыПОИСКПОЗ (MATCH) с помощью формулы.
вывода. Обойти этоМастер подстановок D (только Excel 2007) но и позицию знак вопроса (?).равно аргументу в ячейке используя ИНДЕКС и ячеек.
- аргумента. В этом не указан. в ячейку C16 датами. Например, мы ищем: точно (0),в качестве более ВПР в чистом ограничение позволяет, например,и нажмите кнопкуПродажиДля решения этой задачи
- ближайшего значения. Например, Звездочка соответствует любойискомое_значениеПросматриваемый_массивА10 ПОИСКПОЗ, если даныПримечания: случае функция ЕСЛИНапример, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит название интересующего нас можем легко определить с округлением в мощной альтернативы ВПР виде тут не вариант с использованиемОК.
- можно использовать функцию в списке на последовательности знаков, знакможет быть несодержится значение «яблоки», 4 условия. ПриЕсли в качестве аргумента вернет текстовую строку элементы, которые можно отдела – Маркетинговый. на каком этапе большую строну (-1) я уже подробно поможет, но есть
функций ИНДЕКС() и.К началу страницы
ВПР или сочетание картинке ниже нет вопроса соответствует любому упорядочен.
Поиск позиции в массивах с текстовыми значениями
то формула =ПОИСКПОЗ этом в ответе искомое_значение была передана «есть», иначе – представить как: 1
В ячейку C17 введите сейчас находится наш или в меньшую
описывал (с видео). несколько других способов
ПОИСКПОЗ(). Эквивалентная формулаСледуйте инструкциям мастера.Для выполнения этой задачи функций ИНДЕКС и значения 45, но одиночному знаку.
Если тип_сопоставления равен 1, («яблоки»;A9:A20;0) вернет 2, должна быть фраза текстовая строка, функция «нет».
– «виноград», 2 функцию со следующими проект: сторону (1) В нашем же решить эту задачу. приведена в статьеК началу страницы используется функция ГПР. ПОИСКПОЗ.
можно найти позициюПредположим, что имеется перечень то функция ПОИСКПОЗ() т.е. искомое значение
Поиск позиции в массиве констант
«есть/нет». Если просто ПОИСКПОЗ вернет позициюЧтобы вычислить остальные значения – «яблоко», 3 аргументами:Принципиальное ограничение функцииДавайте рассмотрим несколько полезных
Поиск позиции с использованием подстановочных знаков
случае, можно применитьЭто самый очевидный и о функции ВПР().Для нахождения позиции значения См. пример ниже.Дополнительные сведения см. в наибольшего значения, которое товаров и мы находит наибольшее значение, «яблоки» содержится во вписывать в формулу элемента в массиве «протянем» формулу из
– «груша», 4После ввода для подтвержденияПОИСКПОЗ вариантов ее применения их для поиска простой (хотя иЗадача подразумевает, что диапазон
в столбце, сФункция ГПР выполняет поиск разделе, посвященном функции меньше либо равно, не знаем точно которое меньше либо второй ячейке диапазона
всю таблицу, а (если такой существует) ячейки C2 вниз – «слива», где функции нажмите комбинациюсостоит в том, на практике.
Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию
по нескольким столбцам не самый удобный) поиска содержит неповторяющиеся последующим выводом соответствующего по столбцу ВПР.
чем искомое значение, как записана товарная равно, чемA9:A20А9 потом в поискпоз
без учета регистра для использования функции 1, 2, 3, горячих клавиш CTRL+SHIFT+Enter,
что она умеет
Классический сценарий — поиск в виде формулы способ. Поскольку штатная значения. В самом значения из соседнегоПродажиЧто означает: т.е. позицию значения позиция относящаяся кискомое_значениеПросматриваемый_массив- первая ячейка забивать условия - символов. Например, строки автозаполнения. В результате
4 – ключи, так как она
искать только в
точного текстового совпадения массива. Для этого: функция деле, если критерию столбца в EXCEL,
Поиск позиции в массивах с Числами
и возвращает значение=ИНДЕКС(нужно вернуть значение из 40. яблокам: яблоки илидолжен быть упорядочен (предполагается, что в
получается полная фигня. «МоСкВа» и «москва» получим:
а названия фруктов должна выполнятся в одномерных массивах (т.е.
для нахождения позицииВыделите пустую зеленую ячейку,ВПР (VLOOKUP) удовлетворяет сразу несколько существует специальная функция из строки 5 в
C2:C10, которое будетЭто можно сделать с яблоко. по возрастанию: …, ней не содержится И не проще
являются равнозначными. ДляКак видно, третьи элементы – значения. Тогда массиве. Если все строчке или столбце), нужного нам текста где должен бытьумеет искать только значений, то из ВПР(), но для указанном диапазоне. соответствовать ПОИСКПОЗ(первое значение помощью формулы =ПОИСКПОЗ(45;B31:B37;1)В качестве критерия можно
-2, -1, 0, значение «яблоки»),
ли в ВПР различения регистров можно списков не совпадают.
функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет сделано правильно в но никто не или числа в результат. по одному столбцу, какой строки выводить ее решения можноДополнительные сведения см. в «Капуста» в массиве
Функции ПОИСКПОЗ() и ИНДЕКС()
Обратите внимание, что тип задать»яблок*» и формула 1, 2, …,А10 просто сделать? В дополнительно использовать функциюПример 3. Найти ближайшее значение 2, являющееся
строке формул появятся запрещает использовать сразу списке:Введите в строке формул
а не по
соответствующее ему значение использовать также и разделе, посвященном функции B2:B10))
сопоставления =1 (третий =ПОИСКПОЗ(«яблок*»;B53:B62;0) вернет позицию A-Z, ЛОЖЬ, ИСТИНА.- вторая,
самом файле есть СОВПАД. меньшее числу 22 ключом второго элемента. фигурные скобки. два
excel2.ru
Поиск значений в списке данных
Если в качестве искомого в нее следующую нескольким, то нам из соседнего столбца? другие функции. Рассмотрим ГПР.Формула ищет в C2:C10 аргумент функции). текстового значения, начинающегося ЕслиА11 и основная таблицаЕсли поиск с использованием в диапазоне чисел, Отсчет выполняется неКак видно функция самостоятельноПОИСКПОЗ значения задать звездочку, формулу: нужно из нескольких
В этой статье
Если все же задачу в случаеК началу страницы
первое значение, соответствующее3. Поиск позиции в со слова яблок
тип_сопоставления- третья и и, собственно, условия, рассматриваемой функции не
хранящихся в столбце с 0 (нуля), справилась с решением
а вложенных в то функция будетНажмите в конце не
сделать один! диапазон поиска содержит текстовых значений.
Поиск значений в списке по вертикали по точному совпадению
Для выполнения этой задачи значению списке отсортированном по (если она естьопущен, то предполагается,
Примеры функции ВПР
т.д. (подсчет позиции которым нужно следовать. дал результатов, будет
Примеры функций ИНДЕКС и ПОИСКПОЗ
таблицы Excel.
как это реализовано поставленной задачи.ИНДЕКС искать первую ячейку Enter, а сочетание
Добавим рядом с нашей повторяющиеся значения, тоПусть в диапазоне используется функция ГПР.Капуста убыванию выполняется аналогично, в списке). что он равен производится от верхней
Спасибо за любую возвращен код ошибкиВид исходной таблицы данных:
во многих языках
Поиск значений в списке по вертикали по приблизительному совпадению
, чтобы реализовать двумерный
с текстом иCtrl+Shift+Enter таблицей еще один второй столбец из
А4:В15Важно:(B7), и возвращает но с типомПодстановочные знаки следует использовать 1. ячейки). помощь и комментарии! #Н/Д.Для поиска ближайшего большего программирования при работеЧтобы функция ПОИСКПОЗ работала поиск по строке выдавать её позицию., чтобы ввести формулу столбец, где склеим таблицы выше поясняетимеется таблица с
Значения в первой значение в ячейке сопоставления = -1.
только для поиска
Поиск значений по вертикали в списке неизвестного размера по точному совпадению
ЕслиФункция ПОИСКПОЗ() возвращает позициюvikttur
Если аргумент [тип_сопоставления] явно значения заданному во с массивами, а с таблицей с и столбцу одновременно: Для поиска последней не как обычную, название товара и какое значение будет перечнем сотрудников и строке должны быть C7 (
В этом случае позиции текстовых значенийтип_сопоставления искомого значения, а
: Странное желание… Но не указан или всем столбце A:A с 1. двумя столбцами какВо многих поисковых формулах текстовой ячейки можно
а как формулу месяц в единое выведено (обычно возвращается их зарплат (фамилии отсортированы по возрастанию.100 функция ПОИСКПОЗ() находит иравен -1, то не само значение. если нужно (простая, принимает число 0,
(числовой ряд может
Поиск значений в списке по горизонтали по точному совпадению
Функция ПОИСКПОЗ редко используется с одним мы очень часто приходится
изменить третий аргумент массива. целое с помощью первое значение, удовлетворяющее сотрудников не повторяются).В приведенном выше примере
). наименьшее значение, котороеТипом сопоставления
функция ПОИСКПОЗ() находит
Поиск значений в списке по горизонтали по приблизительному совпадению
Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращает не формула массива):
для поиска частичного пополняться новыми значениями) самостоятельно. Ее целесообразно использовали в ее
использовать функцию ПОИСКПОЗРежим_поискаКак это на самом оператора сцепки (&), критерию).Требуется, введя в ячейку функция ГПР ищетДополнительные сведения см. в больше либо равно
= 0 (третий наименьшее значение, которое число 2 -
=—ЕЧИСЛО(ПОИСКПОЗ(G5&H5&I5&J5;ИНДЕКС($A$3:$A$40&$B$3:$B$40&$C$3:$C$40&$E$3:$E$40;);))
Создание формулы подстановки с помощью мастера подстановок (только Excel 2007)
совпадения текстовых значений используем формулу массива применять в связке аргументах оператор &. как вспомогательную вс нуля на деле работает: чтобы получить уникальный
Если диапазон поиска содержитD4 значение 11 000 в строке 3 разделах, посвященных функциям чем искомое значение. аргумент функции). больше либо равно относительную позицию буквыbuchlotnik могут быть использованы (CTRL+SHIFT+ENTER): с другими функциями, Учитывая этот оператор комбинациях с другими минус 1:
-
Функция ИНДЕКС выдает из
-
столбец-ключ для поиска: повторяющиеся значения ифамилию сотрудника, вывести в указанном диапазоне. ИНДЕКС и ПОИСКПОЗ.Функции ПОИСКПОЗ() и ИНДЕКС()Функция ПОИСКПОЗ() возвращает только
-
чем «б» в массиве: видимо как-то так подстановочные знаки («?»
=B2;A:A;»»));A:A;0);1)’ class=’formula’>
-
например, ИНДЕКС. первый аргументом для функциями такими как:Числа и пустые ячейки диапазона цен C2:C161Теперь можно использовать знакомую требуется вернуть не в другой ячейке
-
Значение 11 000 отсутствует, поэтомуК началу страницы часто используются вместе, одно значение. Еслиискомое_значениеПросматриваемый_массив {«а»;»б»;»в»;»б»}. Позиция второй=ЕСЛИ(ЕНД(ПОИСКПОЗ(G5&H5&I5&J5;$A$3:$A$40&$B$3:$B$40&$C$3:$C$40&$E$3:$E$40;0));»нет»;»есть»)
-
— замена одногоФункция ПОИСКПОЗ возвращает позицию функции теперь является ИНДЕКС, ВПР, ГПР в этом случае содержимое N-ой ячейки функцию
-
одно, а все
его зарплату. Решение
support.office.com
Поиск позиции ТЕКСТа в MS EXCEL с выводом значения из соседнего столбца
она ищет следующееДля выполнения этой задачи т.к. позволяют по в списке присутствуетдолжен быть упорядочен буквы «б» будетсделайте, раз проще любого символа, «*» элемента в столбцеПример 1. Найти позицию значение FordМаркетинговый. По и др. Но
игнорируются. по порядку. ПриВПР (VLOOKUP) значения, удовлетворяющие критерию, приведено в файле максимальное значение, не
Задача
используется функция ВПР. найденной позиции в несколько значений, удовлетворяющих по убыванию: ИСТИНА, проигнорирована, функция вернетAcya96 — замена любого
Решение
A:A, имеющего максимальное
- первого частичного совпадения этой причине первый какую пользу может
- Если последний аргумент задать этом порядковый номер
- для поиска склеенной то читайте статью примера.
превышающее 11 000, и возвращаетВажно: одном диапазоне вывести критерию, то эта ЛОЖЬ, Z-A, …, позицию только первой: количества символов). значение среди чисел, строки в диапазоне Ford из отдела приносить данная функция равным 1 или нужной ячейки нам
пары |
Запрос на основеАлгоритм решения задачи следующий: |
10 543. |
Значения в первой соответствующее значение из функция не поможет. |
2, 1, 0, |
буквы. О томviktturЕсли в объекте данных, |
которые больше числа, |
ячеек, хранящих текстовые продаж не учитывается, работая самостоятельно. Из |
-1, то можно |
находит функция ПОИСКПОЗ.НектаринЯнварь Элементов управления формы. |
находим в списке кодов |
Дополнительные сведения см. в строке должны быть другого диапазона. РассмотримРассмотрим список с повторяющимися -1, -2, …, как вернуть ВСЕ |
, хмм, сама бы |
переданном в качестве |
указанного в ячейке |
значения. |
ведь теперь для |
самого названия функции |
реализовать поиск ближайшего Она ищет связкуиз ячеек H3Совет значение, совпадающее с разделе, посвященном функции отсортированы по возрастанию. пример. значениями в диапазоне и так далее. позиции искомого значения ни за что
аргумента просматриваемый_массив, содержится B2. Функция ИНДЕКСВид исходной таблицы данных: функции два форда ПОИСКПОЗ понятно, что наименьшего или наибольшего названия товара и и J3 в: Если в диапазон критерием; ГПР.В приведенном выше примереНайдем количество заданного товараB66:B72Функция ПОИСКПОЗ() не различает читайте ниже в не догадалась. Даже два и больше
возвращает значение, хранящеесяДля нахождения позиции текстовой – это разные ее главная задача числа. Таблица при месяца ( созданном ключевом столбце: поиска постоянно вводятся
определяем номер позиции (строку)К началу страницы функция ВПР ищет на определенном складе.. Найдем все позиции РеГИстры при сопоставлении разделе Поиск позиций не подумала про элементов, соответствующих искомому в найденной ячейке. строки в таблице значения (FordПродажи и заключается в определении
этом обязательно должнаНектаринЯнварьПлюсы новые значения, то найденного значения;
excel2.ru
Поиск и подстановка по нескольким условиям
Постановка задачи
Примечание: имя первого учащегося Для этого используем значения Груши. текстов. ВСЕХ текстовых значений, ЕЧИСЛО. Спасибо вам значению, будет возвращенаРезультат расчетов: используем следующую формулу: FordМаркетинговый). Просматриваемый диапазон позиции исходного значения, быть отсортирована по) по очереди во: Простой способ, знакомая для исключения вводавыводим значение из соседнего Поддержка надстройки «Мастер подстановок» с 6 пропусками в формулуЗначение Груши находятся вЕсли функция ПОИСКПОЗ() не удовлетворяющих критерию. огромное! позиция первого вхождения
Для поиска ближайшего меньшего=ПОИСКПОЗ(D2&»*»;B:B;0)-1 теперь распространяется на которое содержит диапазон
возрастанию или убыванию всех ячейках склеенного функция, работает с дубликатов следует наложить столбца той же в Excel 2010 диапазоне A2:B7. Учащихся=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0)) позициях 2 и находит соответствующего значения,ПОИСКПОЗискомое_значение просматриваемый_массивА желание и, такого элемента. значения достаточно лишьОписание аргументов: 2 столбца, так ячеек или таблица.
Способ 1. Дополнительный столбец с ключом поиска
соответственно. В общем из двух столбцов любыми данными. определенные ограничения (см. строки. прекращена. Эта надстройка сВ файле примера, соответствующий 5 списка. С то возвращается значение; тип_сопоставления) правда, крайне странное
R007 немного изменить даннуюD2&»*» – искомое значение, же благодаря оператору Применять эту функцию и целом, это диапазона A2:A161&B2:B161 иМинусы статью Ввод неповторяющихся
Решение практически аналогично поиску была заменена мастером6 столбец и строка помощью формулы массива ошибки #Н/Д.Искомое_значениеAcya96: Всем добрый день.
формулу и ее состоящее и фамилии, &, который мы очень просто для
чем-то похоже на выдает порядковый номер: Надо делать дополнительный значений). Для визуальной числового значения из функций и функциями пропусками в таблице нет, выделены с помощью=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65))Произведем поиск позиции в- значение, используемое:
Способ 2. Функция СУММЕСЛИМН
Столкнулся со следующей следует также ввести указанной в ячейке применяем во втором диапазонов или таблиц интервальный просмотр у ячейки, где нашла столбец и потом, проверки наличия дубликатов статьи Поиск позиции для работы со поэтому функция ВПР Условного форматирования.можно найти все эти НЕ сортированном списке при поиске значенияbuchlotnik проблемой. Как осуществлять как массив (CTRL+SHIFT+ENTER): B2, и любого аргументе для склейки
с одним столбцом функции точное совпадение. По возможно, еще и можно использовать Условное ЧИСЛА с выводом
ссылками и массивами. ищет первую записьСОВЕТ: Подробнее о поиске позиции. Для этого текстовых значений (диапазон в, спасибо большое! ПОИСПОЗ по двум
Способ 3. Формула массива
Результат поиска: количества других символов значений из двух или с однойВПР (VLOOKUP) сути, это первый прятать его от форматирование (см. статью соответствующего значения изВ Excel 2007 мастер со следующим максимальным позиций можно прочитать необходимо выделить несколькоB7:B13просматриваемом_массивеИскомое_значение
- Тут просто сама условиям?Функция имеет следующую синтаксическую
- (“*”); смежных диапазонов. Таким строкой. Поэтому сразу
- , но там возможен способ, но ключевой пользователя. При изменении Выделение повторяющихся значений). соседнего столбца. Для подстановок создает формулу значением, не превышающим
в соответствующем разделе ячеек (расположенных вертикально),
)может быть значением суть задания сделатьЕсть следующая задача: запись:B:B – ссылка на образом, значения берутся усложним задачу и только поиск ближайшего столбец создается виртуально числа строк вДля организации динамической сортировки этого типа задач подстановки, основанную на 6. Она находит сайта: Поиск позиции. в Строке формулСтолбец Позиция приведен для (числом, текстом или через ИНДЕКС иСтройматериалы у них=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) столбец B:B, в одновременно из двух
на конкретном примере наименьшего, а здесь прямо внутри формулы, таблице — допротягивать пополняемого диапазона поиска
в EXCEL существует данных листа, содержащих значение 5 и возвращаетС помощью функций ПОИСКПОЗ() ввести вышеуказанную формулу наглядности и не логическим значением (ЛОЖЬ ПОИСКПОЗ. Для меня есть по пареОписание аргументов: котором выполняется поиск; столбцов Автомобиль и проиллюстрируем как применять — есть выбор.
planetaexcel.ru
Поиск позиции элемента в списке с ПОИСКПОЗ (MATCH)
а не в формулу сцепки на можно использовать идеи специальная функция ВПР(), названия строк и связанное с ним и ИНДЕКС() можно и нажать влияет на вычисления. или ИСТИНА)) или
это немного странно
характеристик, как сделать
искомое_значение – обязательный аргумент,
- 0 – поиск точного Отдел. функцию ПОИСКПОЗ для
- Например, нам нужно выбрать ячейках листа. новые строки (хотя из статьи Сортированный но для ее
- столбцов. С помощью имя заменить функцию ВПР(),CTRL+SHIFT+ENTERФормула для поиска позиции ссылкой на ячейку, и непонятно:/
так что бы принимающий текстовые, числовые совпадения.
Точный поиск
Читайте также: Функции ИНДЕКС таблицы с двумя генератор из прайс-листаПлюсы это можно упростить список.
Поиск первой или последней текстовой ячейки
решения можно использовать мастера подстановок можноАлексей об этом читайте. В позициях, в значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0) содержащую число, текстvikttur при выборе из значения, а такжеИз полученного значения вычитается и ПОИСКПОЗ в
столбцами и более. для расчетной мощности: Не нужен отдельный
Поиск ближайшего числа или даты
применением умной таблицы).Если вы продвинутый пользователь и другие функции найти остальные значения. в статье о которых есть значениеФормула находит первое значение или логическое значение.: Видимо, проверяют Вас пары характеристик выбиралась данные логического и единица для совпадения Excel и примерыДля примера возьмем список в 47 кВт. столбец, работает иЕсли нужно найти именно Microsoft Excel, то
(про функцию ВПР() в строке, еслиДополнительные сведения см. в функции ВПР(). Груши будет выведено сверху и выводитПросматриваемый_массив на знание материала нужная исходя из ссылочного типов, который результата с id их использования автомобилей из автопарка
Если последний аргумент с числами и число (в нашем должны быть знакомы см. эту статью). известно значение в разделе, посвященном функцииПредположим, что требуется найти
Связка функций ПОИСКПОЗ и ИНДЕКС
соответствующее значение позиции, его позицию в— непрерывный диапазон ) заранее выставленных условий. используется в качестве записи в таблице.Функция ПОИСКПОЗ в Excel средней фирмы, как задать равным 1 с текстом.
случае цена как с функцией поискаРешение одном столбце, и ВПР.
внутренний телефонный номер в остальных ячейках диапазоне, второе значение ячеек, возможно, содержащихНет, не проще.Буду очень благодарен за критерия поиска (дляПример поиска: используется для поиска показано ниже на и отсортировать таблицу
Минусы раз число), то и подстановкиЕсли несколько значений удовл. наоборот. В формулах,К началу страницы сотрудника по его быдет выведен 0. Груши учтено не искомые значения. Проще - ответы. сопоставления величин илиПример 2. В Excel точного совпадения или рисунке:
planetaexcel.ru
Пример функции ПОИСКПОЗ в Excel без функции ИНДЕКС
по возрастанию, то: Ощутимо тормозит на вместо ВПР можноВПР критерию которые создает мастерДля выполнения этой задачи идентификационному номеру илиC помощью другой формулы будет.Просматриваемый_массивСЧЁТЕСЛИМН(), СУММПРОИЗВ()Serge_007 нахождения точного совпадения); хранятся две таблицы, ближайшего (меньшего илиВ обеих столбцах названия мы найдем ближайшую больших таблицах (как использовать функциюили=ВПР($D$4;A4:B15;2;ЛОЖЬ) подстановок, используются функции используются функции СМЕЩ узнать ставку комиссионного массиваЧтобы найти номер строки,может быть толькоbuchlotnik: Здравствуйте.
Пример работы ПОИСКПОЗ по двум столбцам Excel
просматриваемый_массив – обязательный аргумент, которые на первый большего заданному в автомобилей и отделов наименьшую по мощности
и все формулыСУММЕСЛИМН (SUMIFS)VLOOKUPберется ИНДЕКС и ПОИСКПОЗ. и ПОИСКПОЗ. вознаграждения, предусмотренную за=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65)) а не позиции одностолбцовым диапазоном ячеек,: ну куда тут200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(A1:C3;ПОИСКПОЗ(A8;A1:A3;0);ПОИСКПОЗ(A6;A1:C1;0)) принимающий данные ссылочного взгляд кажутся одинаковыми. зависимости от типа повторяются, но нет модель ( массива, впрочем), особенно
, появившуюся начиная с(если еще нет,первоеЩелкните ячейку в диапазоне.Примечание: определенный объем продаж.можно отсортировать найденные позиции, в искомом диапазоне, например его? давайте такR007 типа (ссылки на Было решено сравнить сопоставления, указанного в парных дубликатов. Например,
- Зверь если указывать диапазоны Excel 2007. По то сначала почитайтесверху
- На вкладке Данный метод целесообразно использовать Необходимые данные можно
- чтобы номера найденных можно записать следующуюА9:А20=ИНДЕКС({«есть»;»нет»};1+ЕНД(ПОИСКПОЗ(G5&H5&I5&J5;$A$3:$A$40&$B$3:$B$40&$C$3:$C$40&$E$3:$E$40;0))): диапазон ячеек) или по одному однотипному качестве аргумента) значения в списке 2
): «с запасом» или идее, эта функция
эту статью, чтобы
Описание примера как работает функция ПОИСКПОЗ:
=ИНДЕКС(B4:B15; ПОИСКПОЗ($D$4;A4:A15;0);1)Формулы при поиске данных быстро и эффективно позиций отображались в формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)или диапазоном, расположенным_Boroda_Serge_007 константу массива, в столбцу этих таблиц заданному в массиве автомобиля марки Ford,Если же третий аргумент сразу целые столбцы выбирает и суммирует им стать). Дляберетсяв группе в ежедневно обновляемом находить в списке первых ячейках (см.Если искомое значение не в одной строке,: Еще вариант формулой, которых выполняется поиск на наличие несовпадений. или диапазоне ячеек но оба они
равен -1 и (т.е. вместо A2:A161 числовые значения по тех, кто понимает,
exceltable.com
Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel
первоеРешения внешнем диапазоне данных. и автоматически проверять файл примера). обнаружено в списке, например, массива (вводится одновременнымБольшое спасибо, очень позиции элемента согласно Реализовать способ сравнения и возвращает номер
Примеры использования функции ПОИСКПОЗ в Excel
из разных отделов. таблица отсортирована по вводить A:A и нескольким (до 127!) рекламировать ее несверхувыберите команду Известна цена в их правильность. Значения,1. Произведем поиск позиции то будет возвращено
А2:Е2 нажатием Контрл Шифт помогло! критерию, заданному первым двух диапазонов ячеек. позиции найденного элемента. Если мы захотим убыванию, то мы т.д.) Многим непривычны условиям. Но если нужно -=СМЕЩ($B$3; ПОИСКПОЗ($D$4;$A$4:$A$15;0);0;1;1)Подстановка столбце B, но возвращенные поиском, можно в НЕ сортированном
значение ошибки #Н/Д.. Таким образом формула Ентер)Гость аргументом функции;Вид таблицы данных:Например, имеем последовательный ряд узнать номер позиции найдем ближайшую более формулы массива в в нашем списке без нее неберется. неизвестно, сколько строк затем использовать в списке числовых значений Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0) =ПОИСКПОЗ(«слива»;A30:B33;0) работать не=ИНДЕКС({«Нет»:»Есть»};1+ЕЧИСЛО(ПОИСКПОЗ(G5&H5&I5&J5;A$3:A$40&B$3:B$40&C$3:C$40&E$3:E$40;))): Помогите!!!!!!!!!!!!!! плиз!!!!!!!!!!!!!! уже
[тип_сопоставления] – необязательный дляДля сравнения значений, находящихся чисел от 1 этого автомобиля, то мощную модель (
принципе (тогда вам
Формула для поиска неточного совпадения текста в Excel
нет повторяющихся товаров обходится ни одинпервоеЕсли команда данных возвратит сервер,
вычислениях или отображать
(диапазон вернет ошибку, т.к. будет (выдаст ошибку
И проверка там
все перепробовала не
- заполнения аргумент в в столбце B:B до 10, записанных в результате функцияБомба сюда).
- внутри одного месяца, сложный расчет всверху
- Подстановка а первый столбец
как результаты. СуществуетB8:B14 значения «грейпфрут» в #Н/Д), так как
еще Условным форматированием
Сравнение двух таблиц в Excel на наличие несовпадений значений
получается. Нужно чтобы виде числового значения, со значениями из в ячейках B1:B10. ПОИСПОЗ вернет нам):Основное назначение этой функции то она просто Excel. Есть, однако,=ДВССЫЛ(АДРЕС(НАИБОЛЬШИЙ( ЕСЛИ(($A$4:$A$15=$D$4); СТРОКА($A$4:$A$15));1);2))
недоступна, необходимо загрузить
не отсортирован в несколько способов поиска) диапазоне ячеекПросматриваемый_массивiMrTidy
во втором ПОИСКПОЗ определяющего способ поиска столбца A:A используем Функция =ПОИСКПОЗ(3;B1:B10;0) вернет позицию в диапазонеОчень часто функция ПОИСКПОЗ в том, чтобы выведет значение цены одна проблема: этаберется надстройка мастера подстановок. алфавитном порядке. значений в спискеСтолбец Позиция приведен дляB7:B13представляет собой диапазон: Acya96, возможно, так? был «приближенный поиск». в диапазоне ячеек следующую формулу массива число 3, поскольку где встречается первое используется в связке искать позицию заданного
для заданного товара функция умеет искатьпоследнееЗагрузка надстройки мастера подстановокC1 данных и отображения
наглядности и ненет.
Поиск ближайшего большего знания в диапазоне чисел Excel
ячеек размещенный одновременно=INDEX($A$3:$A$40;MATCH(J5;$E$3:$E$40;0))&INDEX($B$3:$B$40;MATCH(J5;$E$3:$E$40;0))&INDEX($C$3:$C$40;MATCH(J5;$E$3:$E$40;0))=G5&H5&I5 А как файл или массиве. Может (CTRL+SHIFT+ENTER):
искомое значение находится
значение – 3. с другой крайне элемента в наборе и месяца: данные только посверхуНажмите кнопку
— это левая верхняя
результатов. влияет на вычисления.В файле примера можно в нескольких столбцахAcya96 прикрепить? что-то не принимать следующие значения:Функция ПОИСКПОЗ выполняет поиск в ячейке B3,
То есть Ford
полезнойфункцией - значений. Чаще всегоПлюсы совпадению одного параметра.=ПРОСМОТР($D$4;$A$4:$A$15;$B$4:$B$15)Microsoft Office
ячейка диапазона (также
Особенности использования функции ПОИСКПОЗ в Excel
Поиск значений в спискеНайдем позицию значения 30
найти применение функции
и нескольких ячейках.
- : Еще раз спасибо. пойму-1 – поиск наименьшего логического значения ИСТИНА которая является третьей из отдела продаж:ИНДЕКС она применяется для: Не нужен дополнительный
- А если уесли столбец отсортирован по, а затем — называемая начальной ячейкой). по вертикали по с помощью формулы при поиске вТип_сопоставления Пойду разбираться, что
- RAN ближайшего значения заданному в массиве логических от точки отсчетаЧто же делать если(INDEX) поиска порядкового номера
- столбец, решение легко нас их несколько? возрастанию, то берется кнопкуФормула точному совпадению
- =ПОИСКПОЗ(30;B8:B14;0) горизонтальном массиве.— число -1, да как.: Чукча не читатель. аргументом искомое_значение в значений, возвращаемых функцией (ячейки B1).
- нас интересует Ford, которая умеет извлекать ячейки в диапазоне, масштабируется на большееПредположим, что у наспоследнее
Параметры Excel
- ПОИСКПОЗ(«Апельсины»;C2:C7;0)Поиск значений в спискеФормула ищетПоиск позиции можно производить 0 или 1.jakim Чукча писатель! упорядоченном по убыванию СОВПАД (сравнивает каждыйДанная функция удобна для из маркетингового отдела? данные из диапазона где лежит нужное
- количество условий (до есть база данныхсверху, если нет,и выберите категориюищет значение «Апельсины»
- по вертикали поточное не только вТип_сопоставления: Вариант с формулойКак файл приложить массиве или диапазоне элемент диапазона A2:A12 использования в случаях, Кроме того, мы по номеру строки-столбца,
- нам значение. 127), быстро считает. по ценам товаров то результатНадстройки в диапазоне C2:C7. приблизительному совпадениюзначение 30. Если
exceltable.com
ПОИСКПОЗ по двум условиям (помощь)
диапазонах ячеек, ноуказывает, как MS
=IF(MAX(INDEX((A$3:A$400=G6)*(B$3:B$400=H6)*(C$3:C$400=I6)*(E$3:E$400=J6);0))=1;»есть»;»нет») — красненькая строчка ячеек. со значением, хранящимся
когда требуется вернуть
хотим использовать только реализуя, фактически, «левыйСинтаксис этой функции следующий:Минусы за разные месяцы:непредсказуем. Начальную ячейку не
Поиск значений по вертикали в списке его
и в массивах EXCEL сопоставляет
buchlotnik
сверху.0 – (по умолчанию) в ячейке B2, не само значение,
функцию ПОИСПОЗ, не ВПР».
=ПОИСКПОЗ(Что_ищем; Где_ищем; Режим_поиска): Работает только сНужно найти и вытащить=СУММПРОИЗВ((A4:A15=D4)*(B4:B15))В поле следует включать в в списке неизвестного нет, то будет констант. Например, формула
искомое_значение:Как сделать «приближенный
поиск первого значения и возвращает массив содержащееся в искомой
прибегая к формуламТак, в предыдущем примере
где числовыми данными на цену заданного товарасоответствующие значения суммируются
Управление
excelworld.ru
Индекс и Поискпоз с несколькими условиями (Формулы/Formulas)
этот диапазон. размера по точному
возвращена ошибка #Н/Д. =ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0) вернет значениесо значениями вjakim поиск» — F1 в массиве или результатов сравнения). Если ячейке, а ее с комбинациями других получить не номер,Что_ищем выходе, не применима (=СУММЕСЛИ(A4:A15;D4;B4:B15)выберите значение1 совпадению2. Произведем поиск позиции 2. аргументе, а ПОИСКПОЗ()-то где?
Il_sun диапазоне ячеек (не
функция ПОИСКПОЗ нашла координату относительно рассматриваемого функций ИНДЕКС и а название модели
- это значение,
для поиска текста,Нектаринсоответствующие значения суммируются
Надстройки Excel
— это количество столбцов,Поиск значений в списке в отсортированном поЕсли искомое значение точнопросматриваемый_массив.jakim: в отношении прикрепленного обязательно упорядоченном), которое значение ИСТИНА, будет
диапазона. В случае т.п. Выход из
генератора можно очень которое надо найти не работает в) в определенном месяце
=БИЗВЛЕЧЬ(A3:B15;2;F15:F16)и нажмите кнопку которое нужно отсчитать по горизонтали по возрастанию списке числовых не известно, то
Если: Пожалуйста ПОИСКПОЗ только файла формула должна полностью совпадает со
возвращена позиция его использования для констант этой ситуации находится
легко:Где_ищем старых версиях Excel (
возвращается ошибка #ЧИСЛО!Перейти справа от начальной точному совпадению значений (диапазон
с помощью подстановочных
тип_сопоставления наоборот.
иметь вид значением, переданным в
первого вхождения в
массивов, которые могут в определении настроекНу, и поскольку Excel- это одномерный
(2003 и ранее).Январь
Для функции ВПР() требуется,
. ячейки, чтобы получитьПоиск значений в спискеB31:B37
знаков можно задатьравен 0, то=IFERROR(MATCH(1;INDEX((B$3:B$400=H5)*(C$3:C$400=I5)*(D$3:D$400=J5)*(F$3:F$400=K5);0);0);»нет»)
200?'200px':''+(this.scrollHeight+5)+'px');">=ИНДЕКС(B2:C3;ПОИСКПОЗ(A8;A2:A3;0);ПОИСКПОЗ(A6;B1:C1;0))
excelworld.ru
качестве первого аргумента.
Основное назначение этой функции в том, чтобы искать позицию заданного элемента в наборе значений. Чаще всего она применяется для поиска порядкового номера ячейки в диапазоне, где лежит нужное нам значение.
Синтаксис этой функции следующий:
=ПОИСКПОЗ(Что_ищем; Где_ищем; Режим_поиска)
где
- Что_ищем — это значение, которое надо найти
- Где_ищем — это одномерный диапазон или массив (строка или столбец), где производится поиск
- Режим_поиска — как мы ищем: точно (0), с округлением в большую строну (-1) или в меньшую сторону (1)
Давайте рассмотрим несколько полезных вариантов ее применения на практике.
Точный поиск
Классический сценарий — поиск точного текстового совпадения для нахождения позиции нужного нам текста или числа в списке:
Поиск первой или последней текстовой ячейки
Если в качестве искомого значения задать звездочку, то функция будет искать первую ячейку с текстом и выдавать её позицию. Для поиска последней текстовой ячейки можно изменить третий аргумент Режим_поиска с нуля на минус 1:
Числа и пустые ячейки в этом случае игнорируются.
Поиск ближайшего числа или даты
Если последний аргумент задать равным 1 или -1, то можно реализовать поиск ближайшего наименьшего или наибольшего числа. Таблица при этом обязательно должна быть отсортирована по возрастанию или убыванию соответственно. В общем и целом, это чем-то похоже на интервальный просмотр у функции ВПР (VLOOKUP), но там возможен только поиск ближайшего наименьшего, а здесь — есть выбор.
Например, нам нужно выбрать генератор из прайс-листа для расчетной мощности в 47 кВт. Если последний аргумент задать равным 1 и отсортировать таблицу по возрастанию, то мы найдем ближайшую наименьшую по мощности модель (Зверь):
Если же третий аргумент равен -1 и таблица отсортирована по убыванию, то мы найдем ближайшую более мощную модель (Бомба):
Связка функций ПОИСКПОЗ и ИНДЕКС
Очень часто функция ПОИСКПОЗ используется в связке с другой крайне полезной функцией — ИНДЕКС (INDEX), которая умеет извлекать данные из диапазона по номеру строки-столбца, реализуя, фактически, «левый ВПР».
Так, в предыдущем примере получить не номер, а название модели генератора можно очень легко:
Ну, и поскольку Excel внутри хранит и обрабатывает даты как числа, то подобный подход на 100% работает и с датами. Например, мы можем легко определить на каком этапе сейчас находится наш проект:
Принципиальное ограничение функции ПОИСКПОЗ состоит в том, что она умеет искать только в одномерных массивах (т.е. строчке или столбце), но никто не запрещает использовать сразу два ПОИСКПОЗа вложенных в ИНДЕКС, чтобы реализовать двумерный поиск по строке и столбцу одновременно:
Ссылки по теме
- 5 вариантов применения функции ИНДЕКС (INDEX)
- Интервальный просмотр с помощью функции ВПР (VLOOKUP)
- Поиск последнего значения в строке или столбце
- Как создать авторастягивающийся диапазон с автоподстройкой размеров
Содержание
- Применение оператора ПОИСКПОЗ
- Способ 1: отображение места элемента в диапазоне текстовых данных
- Способ 2: автоматизация применения оператора ПОИСКПОЗ
- Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
- Способ 4: использование в сочетании с другими операторами
- Вопросы и ответы
Одним из наиболее востребованных операторов среди пользователей Excel является функция ПОИСКПОЗ. В её задачи входит определение номера позиции элемента в заданном массиве данных. Наибольшую пользу она приносит, когда применяется в комплексе с другими операторами. Давайте разберемся, что же собой представляет функция ПОИСКПОЗ, и как её можно использовать на практике.
Применение оператора ПОИСКПОЗ
Оператор ПОИСКПОЗ принадлежит к категории функций «Ссылки и массивы». Он производит поиск заданного элемента в указанном массиве и выдает в отдельную ячейку номер его позиции в этом диапазоне. Собственно на это указывает даже его название. Также эта функция при применении в комплексе с другими операторами сообщает им номер позиции конкретного элемента для последующей обработки этих данных.
Синтаксис оператора ПОИСКПОЗ выглядит так:
=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
Теперь рассмотрим каждый из трех этих аргументов в отдельности.
«Искомое значение» – это тот элемент, который следует отыскать. Он может иметь текстовую, числовую форму, а также принимать логическое значение. В качестве данного аргумента может выступать также ссылка на ячейку, которая содержит любое из вышеперечисленных значений.
«Просматриваемый массив» – это адрес диапазона, в котором расположено искомое значение. Именно позицию данного элемента в этом массиве и должен определить оператор ПОИСКПОЗ.
«Тип сопоставления» указывает точное совпадение нужно искать или неточное. Этот аргумент может иметь три значения: «1», «0» и «-1». При значении «0» оператор ищет только точное совпадение. Если указано значение «1», то в случае отсутствия точного совпадения ПОИСКПОЗ выдает самый близкий к нему элемент по убыванию. Если указано значение «-1», то в случае, если не обнаружено точное совпадение, функция выдает самый близкий к нему элемент по возрастанию. Важно, если ведется поиск не точного значения, а приблизительного, чтобы просматриваемый массив был упорядочен по возрастанию (тип сопоставления «1») или убыванию (тип сопоставления «-1»).
Аргумент «Тип сопоставления» не является обязательным. Он может быть пропущенным, если в нем нет надобности. В этом случае его значение по умолчанию равно «1». Применять аргумент «Тип сопоставления», прежде всего, имеет смысл только тогда, когда обрабатываются числовые значения, а не текстовые.
В случае, если ПОИСКПОЗ при заданных настройках не может найти нужный элемент, то оператор показывает в ячейке ошибку «#Н/Д».
При проведении поиска оператор не различает регистры символов. Если в массиве присутствует несколько точных совпадений, то ПОИСКПОЗ выводит в ячейку позицию самого первого из них.
Способ 1: отображение места элемента в диапазоне текстовых данных
Давайте рассмотрим на примере самый простой случай, когда с помощью ПОИСКПОЗ можно определить место указанного элемента в массиве текстовых данных. Узнаем, какую позицию в диапазоне, в котором находятся наименования товаров, занимает слово «Сахар».
- Выделяем ячейку, в которую будет выводиться обрабатываемый результат. Щелкаем по значку «Вставить функцию» около строки формул.
- Производится запуск Мастера функций. Открываем категорию «Полный алфавитный перечень» или «Ссылки и массивы». В списке операторов ищем наименование «ПОИСКПОЗ». Найдя и выделив его, жмем на кнопку «OK» в нижней части окна.
- Активируется окно аргументов оператора ПОИСКПОЗ. Как видим, в данном окне по числу количества аргументов имеется три поля. Нам предстоит их заполнить.
Так как нам нужно найти позицию слова «Сахар» в диапазоне, то вбиваем это наименование в поле «Искомое значение».
В поле «Просматриваемый массив» нужно указать координаты самого диапазона. Его можно вбить вручную, но проще установить курсор в поле и выделить этот массив на листе, зажимая при этом левую кнопку мыши. После этого его адрес отобразится в окне аргументов.
В третьем поле «Тип сопоставления» ставим число «0», так как будем работать с текстовыми данными, и поэтому нам нужен точный результат.
После того, как все данные установлены, жмем на кнопку «OK».
- Программа выполняет вычисление и выводит порядковый номер позиции «Сахар» в выделенном массиве в той ячейке, которую мы задали ещё на первом шаге данной инструкции. Номер позиции будет равен «4».
Урок: Мастер функций в Экселе
Способ 2: автоматизация применения оператора ПОИСКПОЗ
Выше мы рассмотрели самый примитивный случай применения оператора ПОИСКПОЗ, но даже его можно автоматизировать.
- Для удобства на листе добавляем ещё два дополнительных поля: «Заданное значение» и «Номер». В поле «Заданное значение» вбиваем то наименование, которое нужно найти. Пусть теперь это будет «Мясо». В поле «Номер» устанавливаем курсор и переходим к окну аргументов оператора тем же способом, о котором шел разговор выше.
- В окне аргументов функции в поле «Искомое значение» указываем адрес ячейки, в которой вписано слово «Мясо». В полях «Просматриваемый массив» и «Тип сопоставления» указываем те же самые данные, что и в предыдущем способе – адрес диапазона и число «0» соответственно. После этого жмем на кнопку «OK».
- После того, как мы произвели вышеуказанные действия, в поле «Номер» отобразится позиция слова «Мясо» в выбранном диапазоне. В данном случае она равна «3».
- Данный способ хорош тем, что если мы захотим узнать позицию любого другого наименования, то не нужно будет каждый раз заново набирать или изменять формулу. Достаточно просто в поле «Заданное значение» вписать новое искомое слово вместо предыдущего. Обработка и выдача результата после этого произойдет автоматически.
Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
Теперь давайте рассмотрим, как можно использовать ПОИСКПОЗ для работы с числовыми выражениями.
Ставится задача найти товар на сумму реализации 400 рублей или самый ближайший к этой сумме по возрастанию.
- Прежде всего, нам нужно отсортировать элементы в столбце «Сумма» по убыванию. Выделяем данную колонку и переходим во вкладку «Главная». Щелкаем по значку «Сортировка и фильтр», который расположен на ленте в блоке «Редактирование». В появившемся списке выбираем пункт «Сортировка от максимального к минимальному».
- После того, как была сортировка произведена, выделяем ячейку, где будет выводиться результат, и запускаем окно аргументов тем же путем, о котором шла речь в первом способе.
В поле «Искомое значение» вбиваем число «400». В поле «Просматриваемый массив» указываем координаты столбца «Сумма». В поле «Тип сопоставления» устанавливаем значение «-1», так как мы производим поиск равного или большего значения от искомого. После выполнения всех настроек жмем на кнопку «OK».
- Результат обработки выводится в предварительно указанную ячейку. Это позиция «3». Ей соответствует «Картофель». Действительно, сумма выручки от реализации этого продукта самая близкая к числу 400 по возрастанию и составляет 450 рублей.
Аналогичным образом можно произвести поиск и самой близкой позиции к «400» по убыванию. Только для этого нужно произвести фильтрацию данных по возрастанию, а в поле «Тип сопоставления» аргументов функции установить значение «1».
Урок: Сортировка и фильтрация данных в Excel
Способ 4: использование в сочетании с другими операторами
Эффективнее всего эту функцию использовать с другими операторами в составе комплексной формулы. Наиболее часто её применяют в связке с функцией ИНДЕКС. Данный аргумент выводит в указанную ячейку содержимое диапазона заданное по номеру его строки или столбца. Причем нумерация, как и в отношении оператора ПОИСКПОЗ, выполняется не относительно всего листа, а только внутри диапазона. Синтаксис этой функции следующий:
=ИНДЕКС(массив;номер_строки;номер_столбца)
При этом, если массив одномерный, то можно использовать только один из двух аргументов: «Номер строки» или «Номер столбца».
Особенность связки функций ИНДЕКС и ПОИСКПОЗ заключается в том, что последняя может использоваться в качестве аргумента первой, то есть, указывать на позицию строки или столбца.
Давайте взглянем, как это можно сделать на практике, используя всю ту же таблицу. У нас стоит задача вывести в дополнительное поле листа «Товар» наименование товара, общая сумма выручки от которого равна 350 рублям или самому близкому к этому значению по убыванию. Данный аргумент указан в поле «Приблизительная сумма выручки на листе».
- Отсортировываем элементы в столбце «Сумма выручки» по возрастанию. Для этого выделяем необходимый столбец и, находясь во вкладке «Главная», кликаем по значку «Сортировка и фильтр», а затем в появившемся меню кликаем по пункту «Сортировка от минимального к максимальному».
- Выделяем ячейку в поле «Товар» и вызываем Мастер функций обычным способом через кнопку «Вставить функцию».
- В открывшемся окне Мастера функций в категории «Ссылки и массивы» ищем наименование «ИНДЕКС», выделяем его и жмем на кнопку «OK».
- Далее открывается окошко, которое предлагает выбор варианта оператора ИНДЕКС: для массива или для ссылки. Нам нужен первый вариант. Поэтому оставляем в этом окне все настройки по умолчанию и жмем на кнопку «OK».
- Открывается окно аргументов функции ИНДЕКС. В поле «Массив» указываем адрес того диапазона, где оператор ИНДЕКС будет искать название продукции. В нашем случае – это столбец «Наименование товара».
В поле «Номер строки» будет располагаться вложенная функция ПОИСКПОЗ. Её придется вбить вручную, используя синтаксис, о котором говорится в самом начале статьи. Сразу записываем название функции – «ПОИСКПОЗ» без кавычек. Затем открываем скобку. Первым аргументом данного оператора является «Искомое значение». Оно располагается на листе в поле «Приблизительная сумма выручки». Указываем координаты ячейки, содержащей число 350. Ставим точку с запятой. Вторым аргументом является «Просматриваемый массив». ПОИСКПОЗ будет просматривать тот диапазон, в котором находится сумма выручки и искать наиболее приближенную к 350 рублям. Поэтому в данном случае указываем координаты столбца «Сумма выручки». Опять ставим точку с запятой. Третьим аргументом является «Тип сопоставления». Так как мы будем искать число равное заданному или самое близкое меньшее, то устанавливаем тут цифру «1». Закрываем скобки.
Третий аргумент функции ИНДЕКС «Номер столбца» оставляем пустым. После этого жмем на кнопку «OK».
- Как видим, функция ИНДЕКС при помощи оператора ПОИСКПОЗ в заранее указанную ячейку выводит наименование «Чай». Действительно, сумма от реализации чая (300 рублей) ближе всего по убыванию к сумме 350 рублей из всех имеющихся в обрабатываемой таблице значений.
- Если мы изменим число в поле «Приблизительная сумма выручки» на другое, то соответственно автоматически будет пересчитано и содержимое поля «Товар».
Урок: Функция ИНДЕКС в Excel
Как видим, оператор ПОИСКПОЗ является очень удобной функцией для определения порядкового номера указанного элемента в массиве данных. Но польза от него значительно увеличивается, если он применяется в комплексных формулах.
Как используется функция ПОИСКПОЗ в Excel
Добрый день!
В этой статье мы поговорим и рассмотрим заложенные возможности, и варианты как применяется функция ПОИСКПОЗ. Эта функция является в некоторых случаях альтернативой, в некоторых случаях, функции ВПР в возможностях вертикального поиска значений. В некоторых случаях функция ПОИСКПОЗ более гибкая и имеет свои особенности, которые возводят ее на первое место.
Итак, знакомство начнём прямо сейчас, и первым шагом будет, знакомство с орфографией функции ПОИСКПОЗ. Эта функция ищет значение указанное вами и возвращает позицию полученного значения в диапазоне. К примеру, у нас есть диапазон B1:B3 в котором прописаны значения: Январь, Февраль, Март и последующая формула должна вернуть цифру 2, поскольку значение «Февраль», является вторым элементом в перечне.
=ПОИСКПОЗ(«Февраль»;B2:B13;0)
Синтаксис функции ПОИСКПОЗ
Как видно из примера функция ПОИСКПОЗ имеет следующий синтаксис, который будем рассматривать более, подробнее:
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]), где:
- «Искомое_значение» — этот аргумент отвечает за данные, которые вы ищите. Этими данными могут быть чиста, текст, любое логическое значение или просто ссылка на ячейку.
- «Просматриваемый_массив» — это аргумент показывает диапазон ячеек, где будет производиться поиск;
- «Тип_сопоставления» — этот аргумент позволяет узнать функции ПОИСКПОЗ, о том, какое совпадение искать: приблизительное или точное:
- 1 или же без аргумента – будет искать максимальное значение, которое равно или же меньше искомого. В обязательном порядке массив, который просматривает функция ПОИСКПОЗ, вы должны упорядочить по возрастанию, от меньшего к большему.
- – возвращает первое же значение, которое соответствует искомому. Этот аргумент позволяет произвести точный поиск.
- -1 – этот аргумент найдет самое наименьшее значение, которое равняется или больше, нежели значение, которое ищете. В этом случае данные нужно упорядочить по убыванию от большого к малому.
Может быть, польза, которую приносит функция ПОИСКПОЗ, может и показаться сомнительной, но замечу что, эта функция ищет и возвращает относительное положение в массиве значения, которое мы ищем. А это значение, является основным для аргументов функции ИНДЕКС, которую можно использовать в связке с функцией ПОИСКПОЗ.
Преимущества функции ПОИСКПОЗ
Первым преимуществом при использовании функции ПОИСКПОЗ и ее комбинации с другими функции (например, функция ИНДЕКС), это возможность поиска справа налево. Это отличительная черта от функции ВПР, так как она не может просматривать влево.
Вторым преимуществом является возможность удалять и добавлять столбики в таблицу поиска. Я имею в виду, безопасность этого процесса для работы функции ПОИСКПОЗ, удаление не влияет на корректность работы формулы. А вот формула ВПР может возвращать ошибки или попросту не работать, так как синтаксис формулы требует указывать весь диапазон, а также номер столбика для извлечения значения.
Третьим преимуществом – это отсутствие ограничение на длину значения, которое ищет функции ПОИСКПОЗ, в 255 символов. Ограничение для нее нет. А в функции ВПР, значение, которое вы ищете, и если оно превышает указанную величину, то вы получите ошибку #ЗНАЧ.
Четвёртое преимущество – это увеличенная скорость работы. В принципе для тех, кто работает с небольшими таблицами, ускоренная производительность незаметна, а вот уже при тысячах строк и сотнях формул, работа функции ПОИСКПОЗ самостоятельно или в тандеме с функцией ИНДЕКС будет работать, судя по данным в авторитетных изданиях, относительно функции ВПР на 13-15% быстрее. Так как проверка каждого значения в диапазоне значений вызывает отдельно функцию ВПР, а это значит что чем больше данных и формул в массиве, тем более неторопливо работает Excel.
Примеры работы функции ПОИСКПОЗ
Перейдем от теории к практике и рассмотрим несколько примеров, как работает функция ПОИСКПОЗ:
Найти СРЗНАЧ, МАКС, МИН с помощью комбинации функций ПОИСКПОЗ и ИНДЕКС
Функция ПОИСКПОЗ позволяет вкладывать в себя другие функции, и с помощью этой возможности вы можете найти максимальное, минимальное или самое ближайшее к среднему значению (статистические функции), примеры:
- Функция МИН: =ИНДЕКС($C$2:$C$9;ПОИСКПОЗ(МИН($I$2:I$9);$I$2:I$9;0));
- Функция МАКС: =ИНДЕКС($C$2:$C$9;ПОИСКПОЗ(МАКС($I$2:I$9);$I$2:I$9;0));
- Функция СРЗНАЧ: =ИНДЕКС($C$2:$C$9;ПОИСКПОЗ(СРЗНАЧ($I$2:I$9);$I$2:I$9;1))
Каждая функция возвращает нужное нам значение.
Поиск функцией ПОИСКПОЗ с левой стороны
Ранее я говорил, что функция ВПР не дружит с левой стороной, а значит, будем использовать функцию ПОИСКПОЗ в тандеме с функцией ИНДЕКС, так как они более гибкие и им не играет роли место расположения столбца. Рассмотрим на примере выбора, на каком месте по продажам стоит «Беларусь», и будем использовать для этого следующую формулу:
Рассмотрим формулу, более, подробнее. Во-первых, формула ПОИСКПОЗ(«Беларусь»;$D$2:$D$9;0) находит положение страны в списке. Во-вторых, функцией ИНДЕКС диапазона $I$2:$I$9 с которого будет производиться извлечение значения. В-третьих, соединим все две части формулы и получим нужный нам результат.
Внимание! При указании диапазонов в функции ПОИСКПОЗ, для улучшения и надёжности формулы желательно всегда использовать абсолютные ссылки.
Производим поиск по нескольким критериям
Итак, произведем поиск нужных нам значений по нескольким критериям без дополнительных телодвижений, в отличии от функции ВПР которой нужно создавать дополнительно вспомогательный столбик. Будем искать по двум столбикам: «Страна» и «Продукт», сложность заключается в том, что продукт будут поставляться в разные страны и данные в таблицах, расположены в произвольном порядке.
Следующая формула решит нашу проблему:
Если разобрать детально, эту более сложную формулу, то описать можно так: начнем с функции ПОИСКПОЗ, ищем мы значение 1, а массив нашего поиска, является результатом умножения, а именно, берется значение в первом столбике «Страна» в Таблица1 и сравниваем с именами всех стран в Таблице2. Если было найдено совпадение, формула возвращает 1 или ИСТИНА, а если нет, то или ЛОЖЬ. После делаем то же самое для столбика «Продукты». После всего этого перемножаем результаты и если совпадения найдены результат будет 1, если же нет, то получим – . Итак, функция ПОИСКПОЗ возвращает позицию в случае выполнения обоих критериев. Обязательно используем в формуле третий аргумент «3», так как была указана вся таблица и нужно уточнение, из какого же столбика нужно извлечь значения, в нашем случае столбик был третьим. Еще замечу, что это формула массива, поэтому мы заключаем ее в фигурные скобки и вводим «горячей» комбинацией Ctrl+Shift+Enter. Я думаю, что эти 3 примера, как используется функция ПОИСКПОЗ, поможет вам лучше понять эту функцию и научитесь ее использовать в своей работе.
Если у вас есть предложения, пишите комментарии, буду рад помочь!
Кто-то может сидеть в тени сегодня только потому, что кто-то в свое время посадил дерево.
Уоррен Баффетт
Функция ПОИСКПОЗ() в MS EXCEL
Функция ПОИСКПОЗ( ) , английский вариант 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 нет.
В файле примера можно найти применение функции при поиске в горизонтальном массиве.
Функция ПОИСКПОЗ в Excel
В этой статье рассматривается синтаксис функции ПОИСКПОЗ Excel, а также как использовать функцию ПОИСКПОЗ в Excel с примерами формул.
Также в этой статье рассматривается комбинация формул ИНДЕКС ПОИСКПОЗ в Excel.
В Microsoft Excel существует множество различных функций поиска, которые могут помочь найти определенное значение в ряде ячеек, а ПОИСКПОЗ — одна из них. ПОИСКПОЗ на английском MATCH , в основном, идентифицирует относительное положение элемента в диапазоне ячеек. Однако функция ПОИСКПОЗ Excel в сочетании с другими функциями может сделать гораздо больше.
Функция ПОИСКПОЗ в Excel – синтаксис и использование
Функция ПОИСКПОЗ в Excel ищет заданное значение в диапазоне ячеек и возвращает относительное положение этого значения.
Синтаксис формулы ПОИСКПОЗ выглядит следующим образом:
Искомое_значение (обязательный аргумент) – значение, которое вы хотите найти. Это может быть числовое, текстовое или логическое значение, а также ссылка на ячейку.
Просматриваемый_массив (обязательный аргумент) – диапазон ячеек для поиска.
Тип_сопоставления (необязательный аргумент) – определяет тип соответствия. Это может быть одно из следующих значений: 1, 0, -1.
- 1 или отсутствует (по умолчанию) – находит наибольшее значение в массиве, которое меньше или равно значению поиска. Массив поиска должен быть отсортирован в порядке возрастания, от самого маленького до большого или от A до Z.
- 0 – находит первое значение в массиве, которое в точности равно значению поиска. Сортировка не требуется.
- -1 – находит наименьшее значение в массиве, которое больше или равно значению поиска. Массив поиска должен быть отсортирован в порядке убывания, от самого большого до самого маленького или от Z до A.
Чтобы лучше разобраться в данной функции, давайте напишем простую формулу ПОИСКПОЗ, основанную на следующих данных: фамилии студентов в столбце A и их баллы по экзаменам в столбце B, отсортированные от самых высоких до самых низких. Чтобы узнать, где среди других находится конкретный студент (например, студентка Виноградова), используйте эту простую формулу:
=ПОИСКПОЗ(E1; A2:A8; 0)
При желании вы можете поместить значение поиска в ячейку (E1 в данном примере) и сослаться на эту ячейку в формуле ПОИСКПОЗ Excel:
Функция ПОИСКПОЗ в Excel – Пример использования функции ПОИСКПОЗ в Excel
Как вы видите на изображении выше, фамилии студентов вводятся в произвольном порядке, поэтому мы устанавливаем аргумент тип_сопоставления равным 0 (точное совпадение), поскольку только этот тип соответствия не требует сортировки значений в массиве поиска. Технически формула ПОИСКПОЗ возвращает относительное положение студентки Виноградовой в исследуемом диапазоне. Но поскольку оценки сортируются от самых высоких до самых низких, это также говорит нам о том, что Виноградова пятая по счету среди всех учеников.
Особенности функции ПОИСКПОЗ Excel
Как вы только что видели, использовать ПОИСКПОЗ в Excel легко. Однако, как и у любой функции Excel, у нее есть несколько особенностей, о которых следует знать:
- Функция ПОИСКПОЗ возвращает относительное положение значения поиска в массиве, а не самого значения.
- ПОИСКПОЗ не зависит от регистра , что означает, что она не различает строчные и прописные символы при работе с текстовыми значениями.
- Если массив поиска содержит несколько вхождений искомого значения, возвращается позиция первого значения.
- Если искомое значение не найдено в просматриваемом массиве, возвращается ошибка #Н/Д.
Использование ПОИСКПОЗ в Excel – примеры формул
Теперь, когда вы знаете основные возможности функции ПОИСКПОЗ в Excel, давайте рассмотрим еще несколько примеров формул, которые выходят за рамки основ.
Формула ПОИСКПОЗ Excel с подстановочными знаками
Как и многие другие функции Excel, ПОИСКПОЗ распознает следующие подстановочные знаки:
- Вопросительный знак (?) — заменяет любой символ
- Звездочка (*) — заменяет любую последовательность символов
Примечание . Подстановочные знаки могут использоваться только в формулах ПОИСКПОЗ с параметром тип_сопоставления равному 0.
Формула ПОИСКПОЗ с подстановочными знаками полезна в ситуациях, когда требуется осуществить поиск не всей текстовой строки, а только некоторых символов или некоторой части строки. Чтобы проиллюстрировать это, рассмотрим следующий пример.
Предположим, что у вас есть список компаний и данные их продаж за последнюю неделю. Вы хотите найти относительное положение определенной компании в списке (отсортированному по объему продаж в порядке убывания), но вы не можете точно вспомнить его имя, хотя вы помните несколько первых букв.
Предполагая, что названия компаний находятся в диапазоне A2:A8, и вы ищете название, начинающееся с «восток», формула выглядит следующим образом:
=ПОИСКПОЗ(«восток*»; A2:A8; 0)
Чтобы сделать нашу формулу ПОИСКПОЗ более универсальной, вы можете ввести значение поиска в любой ячейке (E1 в этом примере) и объединить эту ячейку с подстановочным символом, например:
=ПОИСКПОЗ(E1&»*»; A2:A8; 0)
Как показано на изображении ниже, формула возвращает 2 позицию, которая соответствует компании « Восток-авто »:
Функция ПОИСКПОЗ в Excel – Пример функции ПОИСКПОЗ Excel с подстановочными знаками
Чтобы заменить только один символ в значении поиска, используйте подстановочный оператор «?», например:
Вышеуказанная формула будет соответствовать названию « Бейкер » и вернет его относительное положение, которое равно 5.
Формула ПОИСКПОЗ с учетом регистра
Как уже упоминалось в начале этой статьи, функция ПОИСКПОЗ Excel не различает символы верхнего и нижнего регистра. Чтобы создать формулу соответствия с учетом регистра, используйте ПОИСКПОЗ в сочетании с функцией СОВПАД , которая в точности сравнивает ячейки, включая регистр символа.
Чувствительность к регистру формулы для сопоставления данных в Excel заключается в следующем:
Логика этой формулы такова:
- Функция СОВПАД сравнивает значение поиска с каждым элементом просматриваемого массива. Если сравниваемые ячейки в точности равны, функция возвращает ИСТИНУ, или ЛОЖЬ в противном случае.
- Далее функция ПОИСКПОЗ сравнивает ИСТИНУ (которая является ее искомым_значением) с каждым значением в массиве, возвращаемом СОВПАД, и возвращает позицию первого совпадения
Обратите внимание , что это формула массива, которая требует нажатия Ctrl+Shift+Enter для правильной обработки.
Пусть значение поиска находится в ячейке E1, а массив поиска — A2:A8, тогда формула выглядит следующим образом:
=ПОИСКПОЗ(ИСТИНА; СОВПАД(A2:A8; E1);0)
На следующем изображении демонстрируется формула ПОИСКПОЗ с учетом регистра в Excel:
Функция ПОИСКПОЗ в Excel – Пример функции ПОИСКПОЗ Excel с учетом регистра
Сравнить 2 столбца на совпадения и различия (ЕНД и ПОИСКПОЗ)
Проверка двух списков на совпадения и различия – одна из наиболее распространенных задач в Excel, и это можно сделать различными способами. Использование формулы ЕНД/ПОИСКПОЗ является одним из них:
=ЕСЛИ(ЕНД(ПОИСКПОЗ (1-е значение в Списке 1; Список 2; 0)); «Нет в Списке 1»; «»)
Для любого значения из Списка 2, отсутствующего в Списке 1, формула возвращает «Нет в Списке 1». И вот как это происходит:
- Функция ПОИСКПОЗ выполняет поиск значения из Списка 1 в Списке 2. Если значение найдено, она возвращает относительное положение, в противном случае ошибку #Н/Д.
- Функция ЕНД в Excel выполняет только одно: проверяет наличие ошибок #Н/Д (что означает «недоступно»). Если заданное значение является ошибкой #Н/Д, функция возвращает ИСТИНА, в противном случае – ЛОЖЬ. В нашем случае ИСТИНА означает, что значение из Списка 1 не найдено в Списке 2 (ПОИСКПОЗ возвращает ошибку #Н/Д).
- Поскольку для других пользователей будет сложно интерпретировать результаты в формате ИСТИНА/ЛОЖЬ, то мы будем использовать функцию ЕСЛИ для отображения текста «Нет в Списке 1» для значений, которых нет в Списке 1.
Предположим, что нам необходимо сравнить значения в столбце B со значениями в столбце A, формула примет следующую форму (где B2 — самая верхняя ячейка):
=ЕСЛИ(ЕНД(ПОИСКПОЗ(B2;A:A;0));»Нет в Списке 1″; «»)
Как вы помните, функция ПОИСКПОЗ Excel сама по себе не учитывает регистр. Чтобы заставить ее различать регистр, вставьте функцию СОВПАД в аргумент просматриваемый_массив и не забудьте нажать Ctrl+Shift+Enter , чтобы завершить эту формулу массива :
=ЕСЛИ(ЕНД(ПОИСКПОЗ(ИСТИНА; СОВПАД(A:A;B2); 0));»Нет в Списке 1″; «»)
На следующем изображении демонстрируются обе формулы в действии:
Функция ПОИСКПОЗ в Excel – Сравнение 2 столбцов на совпадения с использованием ЕНД и ПОИСКПОЗ
ИНДЕКС и ПОИСКПОЗ в Excel
С функцией ПОИСКПОЗ Excel мы уже знакомы. Давайте теперь рассмотрим, как можно использовать комбинацию ИНДЕКС ПОИСКПОЗ в Excel. Начнем с синтаксиса функции ИНДЕКС.
Синтаксис и использование функции ИНДЕКС
Функция ИНДЕКС Excel возвращает значение в массиве, основанное на указанных вами строках и столбцах. Синтаксис функции ИНДЕКС прост:
ИНДЕКС(массив; номер_строки; [номер_столбца])
Вот очень простое объяснение каждого параметра:
- массив – это диапазон ячеек, из которого вы хотите вернуть значение.
- номер_строки – номер строки в массиве, из которого вы хотите вернуть значение. Если этот параметр опущен, требуется номер_столбца.
- номер_столбца – номер столбца в массиве, из которого вы хотите вернуть значение. Если этот параметр опущен, требуется номер_строки.
Если используются оба параметра номер_строки и номер_столбца, функция ИНДЕКС возвращает значение в ячейке на пересечении указанной строки и столбца.
Вот простейший пример формулы ИНДЕКС:
Формула ищет в ячейках от A1 до C10 и возвращает значение ячейки во второй строке и третьем столбце, то есть в ячейке C2.
Очень легко, не так ли? Однако при работе с реальными данными вы вряд ли знаете, какие строки и столбцы вам нужны, поэтому вам нужна помощь функции ПОИСКПОЗ.
ИНДЕКС ПОИСКПОЗ в Excel пример
Теперь, когда вы знаете синтаксис и основы этих двух функций, у вас наверняка уже сложилось понимание того, как работают ИНДЕКС ПОИСКПОЗ Excel.
Функция ПОИСКПОЗ определяет относительное положение значения поиска в указанном диапазоне ячеек. А функция ИНДЕКС принимает это число и возвращает значение в соответствующую ячейку.
Комбинацию ИНДЕКС ПОИСКПОЗ в Excel можно представить таким образом:
=ИНДЕКС(столбец для возвращения значения, ПОИСКПОЗ (значение поиска, столбец для поиска, 0))
Для лучшего понимания рассмотрим наглядный пример. Предположим, у нас есть список стран с населением, подобных этому:
Функция ПОИСКПОЗ в Excel – Исходные данные для формулы ИНДЕКС ПОИСКПОЗ в Excel
Найдем численность населения, например, России, используя следующую формулу ИНДЕКС ПОИСКПОЗ:
Теперь давайте разберем, что на самом деле выполняет каждый компонент этой формулы:
- Функция ПОИСКПОЗ выполняет поиск значения «Россия» в столбце B, точнее в ячейках B2:B11 и возвращает номер 7, потому что «Россия» находится на седьмом месте в списке.
- Функция ИНДЕКС принимает «7» во втором параметре (номер_строки), который указывает, из какой строки вы хотите вернуть значение, и превращается в простую формулу =ИНДЕКС($C$2:$C$11, 7). То есть формула производит поиск в ячейках C2-C11 и возвращает значение ячейки в седьмой строке, то есть ячейке C8, потому что мы начинаем отсчет со второй строки.
И вот результат, который мы получаем в Excel:
Функция ПОИСКПОЗ в Excel – ИНДЕКС ПОИСКПОЗ пример формулы
Обратите внимание! Количество строк и столбцов в массиве ИНДЕКС должно соответствовать значениям в параметрах номер_строки и/или номер_столбца функции ПОИСКПОЗ соответственно. В противном случае формула вернет неверный результат.
ПОИСКПОЗ в Excel
Автор: Неструев Саня · Опубликовано 15.02.2019 · Обновлено 15.02.2019
Microsoft Excel – мощный аналитический инструмент и средство для работы с таблицами. Изучив доступные функции и команды, вы сможете выполнять сложные операции и оптимизировать большие базы данных. В данной инструкции пойдет речь о функции ПОИСКПОЗ, ее назначении и комбинациях с другими командами.
Мы рассмотрим следующие темы:
- назначение и описание ПОИСКПОЗ;
- синтаксис формулы;
- пошаговая инструкция по набору;
- примеры использования;
- комбинации с другими командами в «Экселе».
Назначение ПОИСКПОЗ
ПОИСКПОЗ – функция для определения позиции значения относительно выбранного диапазона ячеек или таблицы. После ввода формулы данная функция автоматически ищет совпадения в указанном массиве. Если совпадения по заданным параметрам найдены, то ПОИСКПОЗ возвращает номер позиции.
На английском написание команды в «Эксель» выглядит как MATCH. Чаще всего используется в качестве вспомогательной функции вкупе с ИНДЕКС, ВПР, ВЫБОР и другими. Однако мы рассмотрим и одиночное использование.
Правильное написание
Формула включает в себя следующие элементы:
- ПОИСКПОЗ() – указание самой функции;
- Искомое значение, позицию которого необходимо узнать. Можно указывать ссылки на ячейки или вписывать само значение.
- Диапазон данных – массив (таблица, строка, столбец) данных, среди которых будет осуществляться поиск;
- Тип сопоставления – уточнение того, какое значение предстоит искать (равное указанному в формуле, меньшее или большее).
Итак, финальный вариант формулы выглядит следующим образом:
Если вам необходимо одиночное использование функции, то она должна иметь строго указанный вид. В противном случае вы можете получить неверный результат или ошибку Н/Д.
Типы сопоставления
Рассмотрим подробнее разницу между несколькими типами сопоставления:
- 1 или без указания данного параметра – определяет наибольшее значение, которое максимально приближено к указанному в формуле;
- 0 – первое значение в диапазоне, которое равно искомому;
- -1 – наименьшее значение относительно искомого.
Данный аргумент необязателен к использованию в каждой формуле. Актуальным становится при работе с числовыми массивами, поскольку определить меньшее или большее текстовое значение невозможно.
Ввод команды в Excel
Теперь разберемся, как вводится формула на практике. Первый вариант добавления – это отдельное меню со списком функций:
- Сверху над основной таблицей находим иконку функции и жмем ее.
- В открывшемся окне нужно выбрать категорию «Ссылки и массивы», затем найти нужный вариант в списке и нажать «ОК».
- Теперь появятся поля для ввода данных. Заполнять их можно вручную или указывать с помощью выделения ячеек таблицы.
Для редактирования формулы можно использовать верхнюю строку. С помощью кнопки креста удаляется введенная строка.
Примеры использования
Теперь рассмотрим несколько примеров использования ПОИСКПОЗ. Ниже представлены основные сценарии, когда может пригодиться команда.
Поиск по одному критерию
Начнем с простого варианта – это поиск с одним искомым значением. Работает по строкам и по столбцам. Также можно использовать массив в виде таблицы. Для нахождения позиции значения делаем следующее:
- Попробуем найти позицию значения 4. Для этого вписываем команду ПОИСКПОЗ и в скобках указываем адрес ячейки с цифрой. Вы можете вписать само значение, но тогда придется менять формулу каждый раз. А если указать ссылку, то пользователь сможет автоматизировать процесс.
- Ставим точку с запятой и выделяем весь массив. Он может состоять как из одного столбца, как в примере, так и из полноценной таблицы.
- Теперь указываем тип сопоставления. Если хотим найти точное совпадение, вписываем 0.
- Жмем клавишу Enter и видим готовый результат.
- Если поменять значение в ячейке, ссылка на которую указана в начале формулы, то итоговое значение сменится.
Подобным образом функция работает и для текстовых значений. Видим таблицу с месяцами года. Допустим, хотим узнать расположение августа относительно данного массива. Так же указываем ссылку на ячейку с названием месяца, затем выделяем массив и добавляем тип сопоставления. Если речь идет о текстовых значениях, то необходимо ставить 0.
И снова получаем правильный результат. Теперь мы убедились, что функция работает исправно, поэтому можно применять ее в более сложных и объемных таблицах, где не получится решить данную задачу вручную.
Поиск по двум критериям
Этот пример включает в себя указание нескольких условий. Применяется для массивов с несколькими значениями. Для примера рассмотрим простую таблицу с автомобилями и годами выпуска. Мы видим, что несколько марок авто повторяются, но даты напротив них разные. Попробуем найти позицию автомобиля с конкретной датой выпуска.
Для последующей автоматизации поиска можно создать простую таблицу. В дальнейшем в ней можно менять только название машины и год выпуска.
Поскольку поиск будет осуществляться по двум признакам, придется использовать правила при работе с массивами. Начинаем вводить формулы с привычного ПОИСКПОЗ и указываем ссылку на ячейку с названием марки. После этого ставим знак & и указываем ссылку на ячейку с нужной датой выпуска.
Теперь нужно указать два диапазона – столбцы с марками и датами. Для этого выделяем первый и после знака & выделяем второй столбец. В конце ставим 0 для поиска точного значения.
Для вычисления позиции необходимо воспользоваться комбинацией Ctrl + Shift + Enter . Так вы запустите выполнение функции в массиве.
Взаимодействие с другими операторами
Теперь рассмотрим пример использования функции ПОИСКПОЗ с оператором ИНДЕКС. На практике ее можно комбинировать со многими другими функциями, если знать, по каким принципам она работает.
ИНДЕКС – функция поиска совпадений по двум параметрам. Данная формула является аналогом вышеописанного примера, когда необходимо вернуть значение по нескольким условиям. ИНДЕКС используется только в случае двумерного поиска, в то время, когда ВПР, ГПР или ПРОСМОТР предназначены для одномерного.
Допустим, у нас есть таблица со статистикой продаж сети автосалонов по месяцам. Попробуем найти количество проданных автомобилей марки Audi в сентябре. Начинаем составление формулы с ИНДЕКС и указания диапазона всего массива.
Вторым аргументом будет функция ПОИСКПОЗ с указанием ссылки на ячейку с названием месяца и диапазона столбца массива:
Последний аргумент – еще одна ПОИСКПОЗ, но теперь с ссылками на название марки и строкой с автомобилями:
Жмем на Enter и видим результат в соответствующей ячейке. Проверяем по нашей таблице.
Теперь можно менять значения в нашей таблице справа и получать новые значения:
Вы можете вычислить позицию каждой ячейки отдельно через ПОИСКПОЗ, а затем воспользоваться короткой функцией ИНДЕКС с указанием ссылок на расположение марки и месяца в таблице.
По представленному примеру описываемый оператор может использоваться во многих формулах. Например:
- ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ));
- ЕСЛИ(ЕНД(ПОИСКПОЗ(ИСТИНА;(СОВПАД))));
- ИНДЕКС(ПОИСКПОЗ(МИН(ЕСЛИ))) и другие.
Если вы знакомы с функционалом VBA для Microsoft Excel, то сможете создать надстройку для автоматического вычисления и поиска необходимых значений.
Видеоинструкция
Подробно и наглядно про данную возможность Excel рассказывается в представленном видеоролике.
Заключение
Мы рассмотрели основные случаи использования оператора ПОИСКПОЗ. Теперь вы сможете применять его по назначению и комбинировать с подходящими функциями.
Примеры функции ИНДЕКС и ПОИСКПОЗ с несколькими условиями Excel
Функция INDEX имеет две формы. Первая, содержит 3 аргумента для ввода. Однако существует функция ИНДЕКС с 4 аргументами, где вместо одной таблицы можно указать несколько таблиц. Такой подход позволяет одновременную работу сразу по нескольким таблицам.
Работа функции ИНДЕКС и ПОИСКПОЗ по нескольким условиям
В качестве последнего аргумента необходимо выбрать номер области, к которой ссылается формула. Не пресмыкающиеся друг к другу области должны быть заключены в круглые скобки, а таблицы должны быть отделены друг от друга, так как и аргументы в Excel, то есть с использованием точки с запятой.
В этой версии функции ИНДЕКС можно установить другую функцию. Для примера я сделал три таблицы с ценами из разных магазинов. Диапазонам данных я дал именам, соответствующие их названиям, используя поле «Имя». Теперь диапазоны называются Магазин1(B2:E5), Магазин2(B8:E11) и Магазин3(B14:E17).
Первый аргумент определен теперь осталось написать формулы для остальных аргументов.
Формула из комбинации функций ВЫБОР, ИНДЕКС и ПОИСКПОЗ
С помощью функции ВЫБОР, я создал виртуальную таблицу данных, состоящую из 3 ячеек с именами магазинов, т.е. A1, A7, A13 и я использовал ее как массив для функции ПОИСКПОЗ. Благодаря этому, после ввода названия выбранного магазина в ячейку G1, функция ИНДЕКС относится к диапазону с ценами указанного мной магазина.
Последней модификацией формулы является добавление функции ПОИСКПОЗ вместо индекса строки и столбца, для того чтобы эти значения были переменными, а не постоянными. В ячейках G2 и G3 я ввожу пример названия продукта и веса. Теперь, изменяя значения в ячейках от G1 до G3, в ячейке H1 отображается цена, выбранная на основании трех аргументов.
Этот пример должен был показать, как работает функция ИНДЕКС, а также какие возможности предоставляет использование вложения функций и массивов.
Функция
ПОИСКПОЗ(
)
, английский вариант 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))
В
файле примера
, соответствующий столбец и строка выделены с помощью
Условного форматирования
.
СОВЕТ:
Подробнее о поиске позиций можно прочитать в соответствующем разделе сайта:
Поиск позиции
.
С помощью функций
ПОИСКПОЗ()
и
ИНДЕКС()
можно заменить функцию
ВПР()
, об этом читайте в статье о
функции ВПР()
.
В этой статье рассматривается синтаксис функции ПОИСКПОЗ Excel, а также как использовать функцию ПОИСКПОЗ в Excel с примерами формул.
Также в этой статье рассматривается комбинация формул ИНДЕКС ПОИСКПОЗ в Excel.
В Microsoft Excel существует множество различных функций поиска, которые могут помочь найти определенное значение в ряде ячеек, а ПОИСКПОЗ — одна из них. ПОИСКПОЗ на английском MATCH, в основном, идентифицирует относительное положение элемента в диапазоне ячеек. Однако функция ПОИСКПОЗ Excel в сочетании с другими функциями может сделать гораздо больше.
Функция ПОИСКПОЗ в Excel – синтаксис и использование
Использование ПОИСКПОЗ в Excel – примеры формул
ИНДЕКС и ПОИСКПОЗ в Excel
Функция ПОИСКПОЗ в Excel – синтаксис и использование
Функция ПОИСКПОЗ в Excel ищет заданное значение в диапазоне ячеек и возвращает относительное положение этого значения.
Синтаксис формулы ПОИСКПОЗ выглядит следующим образом:
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
Искомое_значение (обязательный аргумент) – значение, которое вы хотите найти. Это может быть числовое, текстовое или логическое значение, а также ссылка на ячейку.
Просматриваемый_массив (обязательный аргумент) – диапазон ячеек для поиска.
Тип_сопоставления (необязательный аргумент) – определяет тип соответствия. Это может быть одно из следующих значений: 1, 0, -1.
- 1 или отсутствует (по умолчанию) – находит наибольшее значение в массиве, которое меньше или равно значению поиска. Массив поиска должен быть отсортирован в порядке возрастания, от самого маленького до большого или от A до Z.
- 0 – находит первое значение в массиве, которое в точности равно значению поиска. Сортировка не требуется.
- -1 – находит наименьшее значение в массиве, которое больше или равно значению поиска. Массив поиска должен быть отсортирован в порядке убывания, от самого большого до самого маленького или от Z до A.
Чтобы лучше разобраться в данной функции, давайте напишем простую формулу ПОИСКПОЗ, основанную на следующих данных: фамилии студентов в столбце A и их баллы по экзаменам в столбце B, отсортированные от самых высоких до самых низких. Чтобы узнать, где среди других находится конкретный студент (например, студентка Виноградова), используйте эту простую формулу:
=ПОИСКПОЗ(E1; A2:A8; 0)
При желании вы можете поместить значение поиска в ячейку (E1 в данном примере) и сослаться на эту ячейку в формуле ПОИСКПОЗ Excel:
Функция ПОИСКПОЗ в Excel – Пример использования функции ПОИСКПОЗ в Excel
Как вы видите на изображении выше, фамилии студентов вводятся в произвольном порядке, поэтому мы устанавливаем аргумент тип_сопоставления равным 0 (точное совпадение), поскольку только этот тип соответствия не требует сортировки значений в массиве поиска. Технически формула ПОИСКПОЗ возвращает относительное положение студентки Виноградовой в исследуемом диапазоне. Но поскольку оценки сортируются от самых высоких до самых низких, это также говорит нам о том, что Виноградова пятая по счету среди всех учеников.
Особенности функции ПОИСКПОЗ Excel
Как вы только что видели, использовать ПОИСКПОЗ в Excel легко. Однако, как и у любой функции Excel, у нее есть несколько особенностей, о которых следует знать:
- Функция ПОИСКПОЗ возвращает относительное положение значения поиска в массиве, а не самого значения.
- ПОИСКПОЗ не зависит от регистра, что означает, что она не различает строчные и прописные символы при работе с текстовыми значениями.
- Если массив поиска содержит несколько вхождений искомого значения, возвращается позиция первого значения.
- Если искомое значение не найдено в просматриваемом массиве, возвращается ошибка #Н/Д.
Использование ПОИСКПОЗ в Excel – примеры формул
Теперь, когда вы знаете основные возможности функции ПОИСКПОЗ в Excel, давайте рассмотрим еще несколько примеров формул, которые выходят за рамки основ.
Формула ПОИСКПОЗ Excel с подстановочными знаками
Как и многие другие функции Excel, ПОИСКПОЗ распознает следующие подстановочные знаки:
- Вопросительный знак (?) — заменяет любой символ
- Звездочка (*) — заменяет любую последовательность символов
Примечание. Подстановочные знаки могут использоваться только в формулах ПОИСКПОЗ с параметром тип_сопоставления равному 0.
Формула ПОИСКПОЗ с подстановочными знаками полезна в ситуациях, когда требуется осуществить поиск не всей текстовой строки, а только некоторых символов или некоторой части строки. Чтобы проиллюстрировать это, рассмотрим следующий пример.
Предположим, что у вас есть список компаний и данные их продаж за последнюю неделю. Вы хотите найти относительное положение определенной компании в списке (отсортированному по объему продаж в порядке убывания), но вы не можете точно вспомнить его имя, хотя вы помните несколько первых букв.
Предполагая, что названия компаний находятся в диапазоне A2:A8, и вы ищете название, начинающееся с «восток», формула выглядит следующим образом:
=ПОИСКПОЗ(«восток*»; A2:A8; 0)
Чтобы сделать нашу формулу ПОИСКПОЗ более универсальной, вы можете ввести значение поиска в любой ячейке (E1 в этом примере) и объединить эту ячейку с подстановочным символом, например:
=ПОИСКПОЗ(E1&»*»; A2:A8; 0)
Как показано на изображении ниже, формула возвращает 2 позицию, которая соответствует компании «Восток-авто»:
Функция ПОИСКПОЗ в Excel – Пример функции ПОИСКПОЗ Excel с подстановочными знаками
Чтобы заменить только один символ в значении поиска, используйте подстановочный оператор «?», например:
=ПОИСКПОЗ(«б?йкер»; A2:A8;0)
Вышеуказанная формула будет соответствовать названию «Бейкер» и вернет его относительное положение, которое равно 5.
Формула ПОИСКПОЗ с учетом регистра
Как уже упоминалось в начале этой статьи, функция ПОИСКПОЗ Excel не различает символы верхнего и нижнего регистра. Чтобы создать формулу соответствия с учетом регистра, используйте ПОИСКПОЗ в сочетании с функцией СОВПАД, которая в точности сравнивает ячейки, включая регистр символа.
Чувствительность к регистру формулы для сопоставления данных в Excel заключается в следующем:
ПОИСКПОЗ(ИСТИНА;СОВПАД(искомое_значение;просматриваемый_массив); 0)
Логика этой формулы такова:
- Функция СОВПАД сравнивает значение поиска с каждым элементом просматриваемого массива. Если сравниваемые ячейки в точности равны, функция возвращает ИСТИНУ, или ЛОЖЬ в противном случае.
- Далее функция ПОИСКПОЗ сравнивает ИСТИНУ (которая является ее искомым_значением) с каждым значением в массиве, возвращаемом СОВПАД, и возвращает позицию первого совпадения
Обратите внимание, что это формула массива, которая требует нажатия Ctrl+Shift+Enter для правильной обработки.
Пусть значение поиска находится в ячейке E1, а массив поиска — A2:A8, тогда формула выглядит следующим образом:
=ПОИСКПОЗ(ИСТИНА; СОВПАД(A2:A8; E1);0)
На следующем изображении демонстрируется формула ПОИСКПОЗ с учетом регистра в Excel:
Функция ПОИСКПОЗ в Excel – Пример функции ПОИСКПОЗ Excel с учетом регистра
Сравнить 2 столбца на совпадения и различия (ЕНД и ПОИСКПОЗ)
Проверка двух списков на совпадения и различия – одна из наиболее распространенных задач в Excel, и это можно сделать различными способами. Использование формулы ЕНД/ПОИСКПОЗ является одним из них:
=ЕСЛИ(ЕНД(ПОИСКПОЗ (1-е значение в Списке 1; Список 2; 0)); «Нет в Списке 1»; «»)
Для любого значения из Списка 2, отсутствующего в Списке 1, формула возвращает «Нет в Списке 1». И вот как это происходит:
- Функция ПОИСКПОЗ выполняет поиск значения из Списка 1 в Списке 2. Если значение найдено, она возвращает относительное положение, в противном случае ошибку #Н/Д.
- Функция ЕНД в Excel выполняет только одно: проверяет наличие ошибок #Н/Д (что означает «недоступно»). Если заданное значение является ошибкой #Н/Д, функция возвращает ИСТИНА, в противном случае – ЛОЖЬ. В нашем случае ИСТИНА означает, что значение из Списка 1 не найдено в Списке 2 (ПОИСКПОЗ возвращает ошибку #Н/Д).
- Поскольку для других пользователей будет сложно интерпретировать результаты в формате ИСТИНА/ЛОЖЬ, то мы будем использовать функцию ЕСЛИ для отображения текста «Нет в Списке 1» для значений, которых нет в Списке 1.
Предположим, что нам необходимо сравнить значения в столбце B со значениями в столбце A, формула примет следующую форму (где B2 — самая верхняя ячейка):
=ЕСЛИ(ЕНД(ПОИСКПОЗ(B2;A:A;0));»Нет в Списке 1″; «»)
Как вы помните, функция ПОИСКПОЗ Excel сама по себе не учитывает регистр. Чтобы заставить ее различать регистр, вставьте функцию СОВПАД в аргумент просматриваемый_массив и не забудьте нажать Ctrl+Shift+Enter, чтобы завершить эту формулу массива:
=ЕСЛИ(ЕНД(ПОИСКПОЗ(ИСТИНА; СОВПАД(A:A;B2); 0));»Нет в Списке 1″; «»)
На следующем изображении демонстрируются обе формулы в действии:
Функция ПОИСКПОЗ в Excel – Сравнение 2 столбцов на совпадения с использованием ЕНД и ПОИСКПОЗ
ИНДЕКС и ПОИСКПОЗ в Excel
С функцией ПОИСКПОЗ Excel мы уже знакомы. Давайте теперь рассмотрим, как можно использовать комбинацию ИНДЕКС ПОИСКПОЗ в Excel. Начнем с синтаксиса функции ИНДЕКС.
Синтаксис и использование функции ИНДЕКС
Функция ИНДЕКС Excel возвращает значение в массиве, основанное на указанных вами строках и столбцах. Синтаксис функции ИНДЕКС прост:
ИНДЕКС(массив; номер_строки; [номер_столбца])
Вот очень простое объяснение каждого параметра:
- массив – это диапазон ячеек, из которого вы хотите вернуть значение.
- номер_строки – номер строки в массиве, из которого вы хотите вернуть значение. Если этот параметр опущен, требуется номер_столбца.
- номер_столбца – номер столбца в массиве, из которого вы хотите вернуть значение. Если этот параметр опущен, требуется номер_строки.
Если используются оба параметра номер_строки и номер_столбца, функция ИНДЕКС возвращает значение в ячейке на пересечении указанной строки и столбца.
Вот простейший пример формулы ИНДЕКС:
=ИНДЕКС(A1:C10;2;3)
Формула ищет в ячейках от A1 до C10 и возвращает значение ячейки во второй строке и третьем столбце, то есть в ячейке C2.
Очень легко, не так ли? Однако при работе с реальными данными вы вряд ли знаете, какие строки и столбцы вам нужны, поэтому вам нужна помощь функции ПОИСКПОЗ.
ИНДЕКС ПОИСКПОЗ в Excel пример
Теперь, когда вы знаете синтаксис и основы этих двух функций, у вас наверняка уже сложилось понимание того, как работают ИНДЕКС ПОИСКПОЗ Excel.
Функция ПОИСКПОЗ определяет относительное положение значения поиска в указанном диапазоне ячеек. А функция ИНДЕКС принимает это число и возвращает значение в соответствующую ячейку.
Комбинацию ИНДЕКС ПОИСКПОЗ в Excel можно представить таким образом:
=ИНДЕКС(столбец для возвращения значения, ПОИСКПОЗ (значение поиска, столбец для поиска, 0))
Для лучшего понимания рассмотрим наглядный пример. Предположим, у нас есть список стран с населением, подобных этому:
Функция ПОИСКПОЗ в Excel – Исходные данные для формулы ИНДЕКС ПОИСКПОЗ в Excel
Найдем численность населения, например, России, используя следующую формулу ИНДЕКС ПОИСКПОЗ:
=ИНДЕКС($C$2:$C$11;ПОИСКПОЗ(«Россия»;$B$2:$B$11;0))
Теперь давайте разберем, что на самом деле выполняет каждый компонент этой формулы:
- Функция ПОИСКПОЗ выполняет поиск значения «Россия» в столбце B, точнее в ячейках B2:B11 и возвращает номер 7, потому что «Россия» находится на седьмом месте в списке.
- Функция ИНДЕКС принимает «7» во втором параметре (номер_строки), который указывает, из какой строки вы хотите вернуть значение, и превращается в простую формулу =ИНДЕКС($C$2:$C$11, 7). То есть формула производит поиск в ячейках C2-C11 и возвращает значение ячейки в седьмой строке, то есть ячейке C8, потому что мы начинаем отсчет со второй строки.
И вот результат, который мы получаем в Excel:
Функция ПОИСКПОЗ в Excel – ИНДЕКС ПОИСКПОЗ пример формулы
Обратите внимание! Количество строк и столбцов в массиве ИНДЕКС должно соответствовать значениям в параметрах номер_строки и/или номер_столбца функции ПОИСКПОЗ соответственно. В противном случае формула вернет неверный результат.
На чтение 6 мин Просмотров 1.6к. Опубликовано 15.02.2019
Microsoft Excel – мощный аналитический инструмент и средство для работы с таблицами. Изучив доступные функции и команды, вы сможете выполнять сложные операции и оптимизировать большие базы данных. В данной инструкции пойдет речь о функции ПОИСКПОЗ, ее назначении и комбинациях с другими командами.
Мы рассмотрим следующие темы:
- назначение и описание ПОИСКПОЗ;
- синтаксис формулы;
- пошаговая инструкция по набору;
- примеры использования;
- комбинации с другими командами в «Экселе».
Содержание
- Назначение ПОИСКПОЗ
- Правильное написание
- Типы сопоставления
- Ввод команды в Excel
- Примеры использования
- Поиск по одному критерию
- Поиск по двум критериям
- Взаимодействие с другими операторами
- Видеоинструкция
- Заключение
Назначение ПОИСКПОЗ
ПОИСКПОЗ – функция для определения позиции значения относительно выбранного диапазона ячеек или таблицы. После ввода формулы данная функция автоматически ищет совпадения в указанном массиве. Если совпадения по заданным параметрам найдены, то ПОИСКПОЗ возвращает номер позиции.
На английском написание команды в «Эксель» выглядит как MATCH. Чаще всего используется в качестве вспомогательной функции вкупе с ИНДЕКС, ВПР, ВЫБОР и другими. Однако мы рассмотрим и одиночное использование.
Правильное написание
Формула включает в себя следующие элементы:
- ПОИСКПОЗ() – указание самой функции;
- Искомое значение, позицию которого необходимо узнать. Можно указывать ссылки на ячейки или вписывать само значение.
- Диапазон данных – массив (таблица, строка, столбец) данных, среди которых будет осуществляться поиск;
- Тип сопоставления – уточнение того, какое значение предстоит искать (равное указанному в формуле, меньшее или большее).
Итак, финальный вариант формулы выглядит следующим образом:
[kod]ПОИСКПОЗ(искомое_значение;диапазон_данных;[тип_сопоставления]).[/kod]
Если вам необходимо одиночное использование функции, то она должна иметь строго указанный вид. В противном случае вы можете получить неверный результат или ошибку Н/Д.
Типы сопоставления
Рассмотрим подробнее разницу между несколькими типами сопоставления:
- 1 или без указания данного параметра – определяет наибольшее значение, которое максимально приближено к указанному в формуле;
- 0 – первое значение в диапазоне, которое равно искомому;
- -1 – наименьшее значение относительно искомого.
Данный аргумент необязателен к использованию в каждой формуле. Актуальным становится при работе с числовыми массивами, поскольку определить меньшее или большее текстовое значение невозможно.
Ввод команды в Excel
Теперь разберемся, как вводится формула на практике. Первый вариант добавления – это отдельное меню со списком функций:
- Сверху над основной таблицей находим иконку функции и жмем ее.
- В открывшемся окне нужно выбрать категорию «Ссылки и массивы», затем найти нужный вариант в списке и нажать «ОК».
- Теперь появятся поля для ввода данных. Заполнять их можно вручную или указывать с помощью выделения ячеек таблицы.
Для редактирования формулы можно использовать верхнюю строку. С помощью кнопки креста удаляется введенная строка.
Примеры использования
Теперь рассмотрим несколько примеров использования ПОИСКПОЗ. Ниже представлены основные сценарии, когда может пригодиться команда.
Поиск по одному критерию
Начнем с простого варианта – это поиск с одним искомым значением. Работает по строкам и по столбцам. Также можно использовать массив в виде таблицы. Для нахождения позиции значения делаем следующее:
- Попробуем найти позицию значения 4. Для этого вписываем команду ПОИСКПОЗ и в скобках указываем адрес ячейки с цифрой. Вы можете вписать само значение, но тогда придется менять формулу каждый раз. А если указать ссылку, то пользователь сможет автоматизировать процесс.
- Ставим точку с запятой и выделяем весь массив. Он может состоять как из одного столбца, как в примере, так и из полноценной таблицы.
- Теперь указываем тип сопоставления. Если хотим найти точное совпадение, вписываем 0.
- Жмем клавишу [knopka]Enter[/knopka] и видим готовый результат.
- Если поменять значение в ячейке, ссылка на которую указана в начале формулы, то итоговое значение сменится.
Подобным образом функция работает и для текстовых значений. Видим таблицу с месяцами года. Допустим, хотим узнать расположение августа относительно данного массива. Так же указываем ссылку на ячейку с названием месяца, затем выделяем массив и добавляем тип сопоставления. Если речь идет о текстовых значениях, то необходимо ставить 0.
И снова получаем правильный результат. Теперь мы убедились, что функция работает исправно, поэтому можно применять ее в более сложных и объемных таблицах, где не получится решить данную задачу вручную.
Поиск по двум критериям
Этот пример включает в себя указание нескольких условий. Применяется для массивов с несколькими значениями. Для примера рассмотрим простую таблицу с автомобилями и годами выпуска. Мы видим, что несколько марок авто повторяются, но даты напротив них разные. Попробуем найти позицию автомобиля с конкретной датой выпуска.
Для последующей автоматизации поиска можно создать простую таблицу. В дальнейшем в ней можно менять только название машины и год выпуска.
Поскольку поиск будет осуществляться по двум признакам, придется использовать правила при работе с массивами. Начинаем вводить формулы с привычного ПОИСКПОЗ и указываем ссылку на ячейку с названием марки. После этого ставим знак & и указываем ссылку на ячейку с нужной датой выпуска.
Теперь нужно указать два диапазона – столбцы с марками и датами. Для этого выделяем первый и после знака & выделяем второй столбец. В конце ставим 0 для поиска точного значения.
Для вычисления позиции необходимо воспользоваться комбинацией [knopka]Ctrl[/knopka]+[knopka]Shift[/knopka]+[knopka]Enter[/knopka]. Так вы запустите выполнение функции в массиве.
Мнение эксперта
Василий
Руководитель проекта, эксперт по модерированию комментариев.
Задать вопрос
Использование функции ПОИСКПОЗ через массив возможно не только по двум признакам. После указания каждого параметра необходимо ставить знак & и запускать поиск только указанной комбинацией клавиш.
Взаимодействие с другими операторами
Теперь рассмотрим пример использования функции ПОИСКПОЗ с оператором ИНДЕКС. На практике ее можно комбинировать со многими другими функциями, если знать, по каким принципам она работает.
ИНДЕКС – функция поиска совпадений по двум параметрам. Данная формула является аналогом вышеописанного примера, когда необходимо вернуть значение по нескольким условиям. ИНДЕКС используется только в случае двумерного поиска, в то время, когда ВПР, ГПР или ПРОСМОТР предназначены для одномерного.
Допустим, у нас есть таблица со статистикой продаж сети автосалонов по месяцам. Попробуем найти количество проданных автомобилей марки Audi в сентябре. Начинаем составление формулы с ИНДЕКС и указания диапазона всего массива.
Вторым аргументом будет функция ПОИСКПОЗ с указанием ссылки на ячейку с названием месяца и диапазона столбца массива:
Последний аргумент – еще одна ПОИСКПОЗ, но теперь с ссылками на название марки и строкой с автомобилями:
Жмем на [knopka]Enter[/knopka] и видим результат в соответствующей ячейке. Проверяем по нашей таблице.
Теперь можно менять значения в нашей таблице справа и получать новые значения:
Вы можете вычислить позицию каждой ячейки отдельно через ПОИСКПОЗ, а затем воспользоваться короткой функцией ИНДЕКС с указанием ссылок на расположение марки и месяца в таблице.
По представленному примеру описываемый оператор может использоваться во многих формулах. Например:
- ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ));
- ЕСЛИ(ЕНД(ПОИСКПОЗ(ИСТИНА;(СОВПАД))));
- ИНДЕКС(ПОИСКПОЗ(МИН(ЕСЛИ))) и другие.
Если вы знакомы с функционалом VBA для Microsoft Excel, то сможете создать надстройку для автоматического вычисления и поиска необходимых значений.
Видеоинструкция
Подробно и наглядно про данную возможность Excel рассказывается в представленном видеоролике.
Заключение
Мы рассмотрели основные случаи использования оператора ПОИСКПОЗ. Теперь вы сможете применять его по назначению и комбинировать с подходящими функциями.