Функция ПОИСКПОЗ
Совет: Попробуйте использовать новую функцию 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
качестве первого аргумента.
Содержание
- Применение оператора ПОИСКПОЗ
- Способ 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
Как видим, оператор ПОИСКПОЗ является очень удобной функцией для определения порядкового номера указанного элемента в массиве данных. Но польза от него значительно увеличивается, если он применяется в комплексных формулах.
Функция
ПОИСКПОЗ(
)
, английский вариант 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))
В
файле примера
, соответствующий столбец и строка выделены с помощью
Условного форматирования
.
СОВЕТ:
Подробнее о поиске позиций можно прочитать в соответствующем разделе сайта:
Поиск позиции
.
С помощью функций
ПОИСКПОЗ()
и
ИНДЕКС()
можно заменить функцию
ВПР()
, об этом читайте в статье о
функции ВПР()
.