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. Я надеюсь, что наши примеры формул окажутся полезными для вас.
Вот еще несколько статей по этой теме:
Функция ПОИСКПОЗ
Совет: Попробуйте использовать новую функцию 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 упорядочен не по убыванию. |
#Н/Д |
Нужна дополнительная помощь?
Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в Excel, которые делают их более привлекательными по сравнению с ВПР. Вы увидите несколько примеров формул, которые помогут Вам легко справиться со многими сложными задачами, перед которыми функция ВПР бессильна.
В нескольких недавних статьях мы приложили все усилия, чтобы разъяснить начинающим пользователям основы функции ВПР и показать примеры более сложных формул для продвинутых пользователей. Теперь мы попытаемся, если не отговорить Вас от использования ВПР, то хотя бы показать альтернативные способы реализации вертикального поиска в Excel.
Зачем нам это? – спросите Вы. Да, потому что ВПР – это не единственная функция поиска в Excel, и её многочисленные ограничения могут помешать Вам получить желаемый результат во многих ситуациях. С другой стороны, функции ИНДЕКС и ПОИСКПОЗ – более гибкие и имеют ряд особенностей, которые делают их более привлекательными, по сравнению с ВПР.
- Базовая информация об ИНДЕКС и ПОИСКПОЗ
- Используем функции ИНДЕКС и ПОИСКПОЗ в Excel
- Преимущества ИНДЕКС и ПОИСКПОЗ перед ВПР
- ИНДЕКС и ПОИСКПОЗ – примеры формул
- Как находить значения, которые находятся слева
- Вычисления при помощи ИНДЕКС и ПОИСКПОЗ
- Поиск по известным строке и столбцу
- Поиск по нескольким критериям
- ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА
Содержание
- Базовая информация об ИНДЕКС и ПОИСКПОЗ
- ИНДЕКС – синтаксис и применение функции
- ПОИСКПОЗ – синтаксис и применение функции
- Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
- Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
- 4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
- ИНДЕКС и ПОИСКПОЗ – примеры формул
- Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
- Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
- О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
- Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
- Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
- ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
Базовая информация об ИНДЕКС и ПОИСКПОЗ
Так как задача этого учебника – показать возможности функций ИНДЕКС и ПОИСКПОЗ для реализации вертикального поиска в Excel, мы не будем задерживаться на их синтаксисе и применении.
Приведём здесь необходимый минимум для понимания сути, а затем разберём подробно примеры формул, которые показывают преимущества использования ИНДЕКС и ПОИСКПОЗ вместо ВПР.
ИНДЕКС – синтаксис и применение функции
Функция INDEX (ИНДЕКС) в Excel возвращает значение из массива по заданным номерам строки и столбца. Функция имеет вот такой синтаксис:
INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])
Каждый аргумент имеет очень простое объяснение:
- array (массив) – это диапазон ячеек, из которого необходимо извлечь значение.
- row_num (номер_строки) – это номер строки в массиве, из которой нужно извлечь значение. Если не указан, то обязательно требуется аргумент column_num (номер_столбца).
- column_num (номер_столбца) – это номер столбца в массиве, из которого нужно извлечь значение. Если не указан, то обязательно требуется аргумент row_num (номер_строки)
Если указаны оба аргумента, то функция ИНДЕКС возвращает значение из ячейки, находящейся на пересечении указанных строки и столбца.
Вот простейший пример функции INDEX (ИНДЕКС):
=INDEX(A1:C10,2,3)
=ИНДЕКС(A1:C10;2;3)
Формула выполняет поиск в диапазоне A1:C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, то есть из ячейки C2.
Очень просто, правда? Однако, на практике Вы далеко не всегда знаете, какие строка и столбец Вам нужны, и поэтому требуется помощь функции ПОИСКПОЗ.
ПОИСКПОЗ – синтаксис и применение функции
Функция MATCH (ПОИСКПОЗ) в Excel ищет указанное значение в диапазоне ячеек и возвращает относительную позицию этого значения в диапазоне.
Например, если в диапазоне B1:B3 содержатся значения New-York, Paris, London, тогда следующая формула возвратит цифру 3, поскольку «London» – это третий элемент в списке.
=MATCH("London",B1:B3,0)
=ПОИСКПОЗ("London";B1:B3;0)
Функция MATCH (ПОИСКПОЗ) имеет вот такой синтаксис:
MATCH(lookup_value,lookup_array,[match_type])
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
- lookup_value (искомое_значение) – это число или текст, который Вы ищите. Аргумент может быть значением, в том числе логическим, или ссылкой на ячейку.
- lookup_array (просматриваемый_массив) – диапазон ячеек, в котором происходит поиск.
- match_type (тип_сопоставления) – этот аргумент сообщает функции ПОИСКПОЗ, хотите ли Вы найти точное или приблизительное совпадение:
- 1 или не указан – находит максимальное значение, меньшее или равное искомому. Просматриваемый массив должен быть упорядочен по возрастанию, то есть от меньшего к большему.
- 0 – находит первое значение, равное искомому. Для комбинации ИНДЕКС/ПОИСКПОЗ всегда нужно точное совпадение, поэтому третий аргумент функции ПОИСКПОЗ должен быть равен 0.
- -1 – находит наименьшее значение, большее или равное искомому значению. Просматриваемый массив должен быть упорядочен по убыванию, то есть от большего к меньшему.
На первый взгляд, польза от функции ПОИСКПОЗ вызывает сомнение. Кому нужно знать положение элемента в диапазоне? Мы хотим знать значение этого элемента!
Позвольте напомнить, что относительное положение искомого значения (т.е. номер строки и/или столбца) – это как раз то, что мы должны указать для аргументов row_num (номер_строки) и/или column_num (номер_столбца) функции INDEX (ИНДЕКС). Как Вы помните, функция ИНДЕКС может возвратить значение, находящееся на пересечении заданных строки и столбца, но она не может определить, какие именно строка и столбец нас интересуют.
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
Теперь, когда Вам известна базовая информация об этих двух функциях, полагаю, что уже становится понятно, как функции ПОИСКПОЗ и ИНДЕКС могут работать вместе. ПОИСКПОЗ определяет относительную позицию искомого значения в заданном диапазоне ячеек, а ИНДЕКС использует это число (или числа) и возвращает результат из соответствующей ячейки.
Ещё не совсем понятно? Представьте функции ИНДЕКС и ПОИСКПОЗ в таком виде:
=INDEX(столбец из которого извлекаем,(MATCH (искомое значение,столбец в котором ищем,0))
=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое значение;столбец в котором ищем;0))
Думаю, ещё проще будет понять на примере. Предположим, у Вас есть вот такой список столиц государств:
Давайте найдём население одной из столиц, например, Японии, используя следующую формулу:
=INDEX($D$2:$D$10,MATCH("Japan",$B$2:$B$10,0))
=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ("Japan";$B$2:$B$10;0))
Теперь давайте разберем, что делает каждый элемент этой формулы:
- Функция MATCH (ПОИСКПОЗ) ищет значение «Japan» в столбце B, а конкретно – в ячейках B2:B10, и возвращает число 3, поскольку «Japan» в списке на третьем месте.
- Функция INDEX (ИНДЕКС) использует 3 для аргумента row_num (номер_строки), который указывает из какой строки нужно возвратить значение. Т.е. получается простая формула:
=INDEX($D$2:$D$10,3)
=ИНДЕКС($D$2:$D$10;3)
Формула говорит примерно следующее: ищи в ячейках от D2 до D10 и извлеки значение из третьей строки, то есть из ячейки D4, так как счёт начинается со второй строки.
Вот такой результат получится в Excel:
Важно! Количество строк и столбцов в массиве, который использует функция INDEX (ИНДЕКС), должно соответствовать значениям аргументов row_num (номер_строки) и column_num (номер_столбца) функции MATCH (ПОИСКПОЗ). Иначе результат формулы будет ошибочным.
Стоп, стоп… почему мы не можем просто использовать функцию VLOOKUP (ВПР)? Есть ли смысл тратить время, пытаясь разобраться в лабиринтах ПОИСКПОЗ и ИНДЕКС?
=VLOOKUP("Japan",$B$2:$D$2,3)
=ВПР("Japan";$B$2:$D$2;3)
В данном случае – смысла нет! Цель этого примера – исключительно демонстрационная, чтобы Вы могли понять, как функции ПОИСКПОЗ и ИНДЕКС работают в паре. Последующие примеры покажут Вам истинную мощь связки ИНДЕКС и ПОИСКПОЗ, которая легко справляется с многими сложными ситуациями, когда ВПР оказывается в тупике.
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
Решая, какую формулу использовать для вертикального поиска, большинство гуру Excel считают, что ИНДЕКС/ПОИСКПОЗ намного лучше, чем ВПР. Однако, многие пользователи Excel по-прежнему прибегают к использованию ВПР, т.к. эта функция гораздо проще. Так происходит, потому что очень немногие люди до конца понимают все преимущества перехода с ВПР на связку ИНДЕКС и ПОИСКПОЗ, а тратить время на изучение более сложной формулы никто не хочет.
Далее я попробую изложить главные преимущества использования ПОИСКПОЗ и ИНДЕКС в Excel, а Вы решите – остаться с ВПР или переключиться на ИНДЕКС/ПОИСКПОЗ.
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
1. Поиск справа налево. Как известно любому грамотному пользователю Excel, ВПР не может смотреть влево, а это значит, что искомое значение должно обязательно находиться в крайнем левом столбце исследуемого диапазона. В случае с ПОИСКПОЗ/ИНДЕКС, столбец поиска может быть, как в левой, так и в правой части диапазона поиска. Пример: Как находить значения, которые находятся слева покажет эту возможность в действии.
2. Безопасное добавление или удаление столбцов. Формулы с функцией ВПР перестают работать или возвращают ошибочные значения, если удалить или добавить столбец в таблицу поиска. Для функции ВПР любой вставленный или удалённый столбец изменит результат формулы, поскольку синтаксис ВПР требует указывать весь диапазон и конкретный номер столбца, из которого нужно извлечь данные.
Например, если у Вас есть таблица A1:C10, и требуется извлечь данные из столбца B, то нужно задать значение 2 для аргумента col_index_num (номер_столбца) функции ВПР, вот так:
=VLOOKUP("lookup value",A1:C10,2)
=ВПР("lookup value";A1:C10;2)
Если позднее Вы вставите новый столбец между столбцами A и B, то значение аргумента придется изменить с 2 на 3, иначе формула возвратит результат из только что вставленного столбца.
Используя ПОИСКПОЗ/ИНДЕКС, Вы можете удалять или добавлять столбцы к исследуемому диапазону, не искажая результат, так как определен непосредственно столбец, содержащий нужное значение. Действительно, это большое преимущество, особенно когда работать приходится с большими объёмами данных. Вы можете добавлять и удалять столбцы, не беспокоясь о том, что нужно будет исправлять каждую используемую функцию ВПР.
3. Нет ограничения на размер искомого значения. Используя ВПР, помните об ограничении на длину искомого значения в 255 символов, иначе рискуете получить ошибку #VALUE! (#ЗНАЧ!). Итак, если таблица содержит длинные строки, единственное действующее решение – это использовать ИНДЕКС/ПОИСКПОЗ.
Предположим, Вы используете вот такую формулу с ВПР, которая ищет в ячейках от B5 до D10 значение, указанное в ячейке A2:
=VLOOKUP(A2,B5:D10,3,FALSE)
=ВПР(A2;B5:D10;3;ЛОЖЬ)
Формула не будет работать, если значение в ячейке A2 длиннее 255 символов. Вместо неё Вам нужно использовать аналогичную формулу ИНДЕКС/ПОИСКПОЗ:
=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))
4. Более высокая скорость работы. Если Вы работаете с небольшими таблицами, то разница в быстродействии Excel будет, скорее всего, не заметная, особенно в последних версиях. Если же Вы работаете с большими таблицами, которые содержат тысячи строк и сотни формул поиска, Excel будет работать значительно быстрее, при использовании ПОИСКПОЗ и ИНДЕКС вместо ВПР. В целом, такая замена увеличивает скорость работы Excel на 13%.
Влияние ВПР на производительность Excel особенно заметно, если рабочая книга содержит сотни сложных формул массива, таких как ВПР+СУММ. Дело в том, что проверка каждого значения в массиве требует отдельного вызова функции ВПР. Поэтому, чем больше значений содержит массив и чем больше формул массива содержит Ваша таблица, тем медленнее работает Excel.
С другой стороны, формула с функциями ПОИСКПОЗ и ИНДЕКС просто совершает поиск и возвращает результат, выполняя аналогичную работу заметно быстрее.
ИНДЕКС и ПОИСКПОЗ – примеры формул
Теперь, когда Вы понимаете причины, из-за которых стоит изучать функции ПОИСКПОЗ и ИНДЕКС, давайте перейдём к самому интересному и увидим, как можно применить теоретические знания на практике.
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
Любой учебник по ВПР твердит, что эта функция не может смотреть влево. Т.е. если просматриваемый столбец не является крайним левым в диапазоне поиска, то нет шансов получить от ВПР желаемый результат.
Функции ПОИСКПОЗ и ИНДЕКС в Excel гораздо более гибкие, и им все-равно, где находится столбец со значением, которое нужно извлечь. Для примера, снова вернёмся к таблице со столицами государств и населением. На этот раз запишем формулу ПОИСКПОЗ/ИНДЕКС, которая покажет, какое место по населению занимает столица России (Москва).
Как видно на рисунке ниже, формула отлично справляется с этой задачей:
=INDEX($A$2:$A$10,MATCH("Russia",$B$2:$B$10,0))
=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0))
Теперь у Вас не должно возникать проблем с пониманием, как работает эта формула:
- Во-первых, задействуем функцию MATCH (ПОИСКПОЗ), которая находит положение «Russia» в списке:
=MATCH("Russia",$B$2:$B$10,0))
=ПОИСКПОЗ("Russia";$B$2:$B$10;0))
- Далее, задаём диапазон для функции INDEX (ИНДЕКС), из которого нужно извлечь значение. В нашем случае это A2:A10.
- Затем соединяем обе части и получаем формулу:
=INDEX($A$2:$A$10;MATCH("Russia";$B$2:$B$10;0))
=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0))
Подсказка: Правильным решением будет всегда использовать абсолютные ссылки для ИНДЕКС и ПОИСКПОЗ, чтобы диапазоны поиска не сбились при копировании формулы в другие ячейки.
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
Вы можете вкладывать другие функции Excel в ИНДЕКС и ПОИСКПОЗ, например, чтобы найти минимальное, максимальное или ближайшее к среднему значение. Вот несколько вариантов формул, применительно к таблице из предыдущего примера:
1. MAX (МАКС). Формула находит максимум в столбце D и возвращает значение из столбца C той же строки:
=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))
Результат: Beijing
2. MIN (МИН). Формула находит минимум в столбце D и возвращает значение из столбца C той же строки:
=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))
Результат: Lima
3. AVERAGE (СРЗНАЧ). Формула вычисляет среднее в диапазоне D2:D10, затем находит ближайшее к нему и возвращает значение из столбца C той же строки:
=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))
Результат: Moscow
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
Используя функцию СРЗНАЧ в комбинации с ИНДЕКС и ПОИСКПОЗ, в качестве третьего аргумента функции ПОИСКПОЗ чаще всего нужно будет указывать 1 или -1 в случае, если Вы не уверены, что просматриваемый диапазон содержит значение, равное среднему. Если же Вы уверены, что такое значение есть, – ставьте 0 для поиска точного совпадения.
- Если указываете 1, значения в столбце поиска должны быть упорядочены по возрастанию, а формула вернёт максимальное значение, меньшее или равное среднему.
- Если указываете -1, значения в столбце поиска должны быть упорядочены по убыванию, а возвращено будет минимальное значение, большее или равное среднему.
В нашем примере значения в столбце D упорядочены по возрастанию, поэтому мы используем тип сопоставления 1. Формула ИНДЕКС/ПОИСКПОЗ возвращает «Moscow», поскольку величина населения города Москва – ближайшее меньшее к среднему значению (12 269 006).
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
Эта формула эквивалентна двумерному поиску ВПР и позволяет найти значение на пересечении определённой строки и столбца.
В этом примере формула ИНДЕКС/ПОИСКПОЗ будет очень похожа на формулы, которые мы уже обсуждали в этом уроке, с одним лишь отличием. Угадайте каким?
Как Вы помните, синтаксис функции INDEX (ИНДЕКС) позволяет использовать три аргумента:
INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])
И я поздравляю тех из Вас, кто догадался!
Начнём с того, что запишем шаблон формулы. Для этого возьмём уже знакомую нам формулу ИНДЕКС/ПОИСКПОЗ и добавим в неё ещё одну функцию ПОИСКПОЗ, которая будет возвращать номер столбца.
=INDEX(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
Обратите внимание, что для двумерного поиска нужно указать всю таблицу в аргументе array (массив) функции INDEX (ИНДЕКС).
А теперь давайте испытаем этот шаблон на практике. Ниже Вы видите список самых населённых стран мира. Предположим, наша задача узнать население США в 2015 году.
Хорошо, давайте запишем формулу. Когда мне нужно создать сложную формулу в Excel с вложенными функциями, то я сначала каждую вложенную записываю отдельно.
Итак, начнём с двух функций ПОИСКПОЗ, которые будут возвращать номера строки и столбца для функции ИНДЕКС:
- ПОИСКПОЗ для столбца – мы ищем в столбце B, а точнее в диапазоне B2:B11, значение, которое указано в ячейке H2 (USA). Функция будет выглядеть так:
=MATCH($H$2,$B$1:$B$11,0)
=ПОИСКПОЗ($H$2;$B$1:$B$11;0)
Результатом этой формулы будет 4, поскольку «USA» – это 4-ый элемент списка в столбце B (включая заголовок).
- ПОИСКПОЗ для строки – мы ищем значение ячейки H3 (2015) в строке 1, то есть в ячейках A1:E1:
=MATCH($H$3,$A$1:$E$1,0)
=ПОИСКПОЗ($H$3;$A$1:$E$1;0)
Результатом этой формулы будет 5, поскольку «2015» находится в 5-ом столбце.
Теперь вставляем эти формулы в функцию ИНДЕКС и вуаля:
=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))
=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))
Если заменить функции ПОИСКПОЗ на значения, которые они возвращают, формула станет легкой и понятной:
=INDEX($A$1:$E$11,4,5))
=ИНДЕКС($A$1:$E$11;4;5))
Эта формула возвращает значение на пересечении 4-ой строки и 5-го столбца в диапазоне A1:E11, то есть значение ячейки E4. Просто? Да!
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
В учебнике по ВПР мы показывали пример формулы с функцией ВПР для поиска по нескольким критериям. Однако, существенным ограничением такого решения была необходимость добавлять вспомогательный столбец. Хорошая новость: формула ИНДЕКС/ПОИСКПОЗ может искать по значениям в двух столбцах, без необходимости создания вспомогательного столбца!
Предположим, у нас есть список заказов, и мы хотим найти сумму по двум критериям – имя покупателя (Customer) и продукт (Product). Дело усложняется тем, что один покупатель может купить сразу несколько разных продуктов, и имена покупателей в таблице на листе Lookup table расположены в произвольном порядке.
Вот такая формула ИНДЕКС/ПОИСКПОЗ решает задачу:
{=INDEX('Lookup table'!$A$2:$C$13,MATCH(1,(A2='Lookup table'!$A$2:$A$13)*
(B2='Lookup table'!$B$2:$B$13),0),3)}
{=ИНДЕКС('Lookup table'!$A$2:$C$13;ПОИСКПОЗ(1;(A2='Lookup table'!$A$2:$A$13)*
(B2='Lookup table'!$B$2:$B$13);0);3)}
Эта формула сложнее других, которые мы обсуждали ранее, но вооруженные знанием функций ИНДЕКС и ПОИСКПОЗ Вы одолеете ее. Самая сложная часть – это функция ПОИСКПОЗ, думаю, её нужно объяснить первой.
MATCH(1,(A2='Lookup table'!$A$2:$A$13),0)*(B2='Lookup table'!$B$2:$B$13)
ПОИСКПОЗ(1;(A2='Lookup table'!$A$2:$A$13);0)*(B2='Lookup table'!$B$2:$B$13)
В формуле, показанной выше, искомое значение – это 1, а массив поиска – это результат умножения. Хорошо, что же мы должны перемножить и почему? Давайте разберем все по порядку:
- Берем первое значение в столбце A (Customer) на листе Main table и сравниваем его со всеми именами покупателей в таблице на листе Lookup table (A2:A13).
- Если совпадение найдено, уравнение возвращает 1 (ИСТИНА), а если нет – 0 (ЛОЖЬ).
- Далее, мы делаем то же самое для значений столбца B (Product).
- Затем перемножаем полученные результаты (1 и 0). Только если совпадения найдены в обоих столбцах (т.е. оба критерия истинны), Вы получите 1. Если оба критерия ложны, или выполняется только один из них – Вы получите 0.
Теперь понимаете, почему мы задали 1, как искомое значение? Правильно, чтобы функция ПОИСКПОЗ возвращала позицию только, когда оба критерия выполняются.
Обратите внимание: В этом случае необходимо использовать третий не обязательный аргумент функции ИНДЕКС. Он необходим, т.к. в первом аргументе мы задаем всю таблицу и должны указать функции, из какого столбца нужно извлечь значение. В нашем случае это столбец C (Sum), и поэтому мы ввели 3.
И, наконец, т.к. нам нужно проверить каждую ячейку в массиве, эта формула должна быть формулой массива. Вы можете видеть это по фигурным скобкам, в которые она заключена. Поэтому, когда закончите вводить формулу, не забудьте нажать Ctrl+Shift+Enter.
Если всё сделано верно, Вы получите результат как на рисунке ниже:
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
Как Вы, вероятно, уже заметили (и не раз), если вводить некорректное значение, например, которого нет в просматриваемом массиве, формула ИНДЕКС/ПОИСКПОЗ сообщает об ошибке #N/A (#Н/Д) или #VALUE! (#ЗНАЧ!). Если Вы хотите заменить такое сообщение на что-то более понятное, то можете вставить формулу с ИНДЕКС и ПОИСКПОЗ в функцию ЕСЛИОШИБКА.
Синтаксис функции ЕСЛИОШИБКА очень прост:
IFERROR(value,value_if_error)
ЕСЛИОШИБКА(значение;значение_если_ошибка)
Где аргумент value (значение) – это значение, проверяемое на предмет наличия ошибки (в нашем случае – результат формулы ИНДЕКС/ПОИСКПОЗ); а аргумент value_if_error (значение_если_ошибка) – это значение, которое нужно возвратить, если формула выдаст ошибку.
Например, Вы можете вставить формулу из предыдущего примера в функцию ЕСЛИОШИБКА вот таким образом:
=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),
"Совпадений не найдено. Попробуйте еще раз!")=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));
"Совпадений не найдено. Попробуйте еще раз!")
И теперь, если кто-нибудь введет ошибочное значение, формула выдаст вот такой результат:
Если Вы предпочитаете в случае ошибки оставить ячейку пустой, то можете использовать кавычки («»), как значение второго аргумента функции ЕСЛИОШИБКА. Вот так:
IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),"")
ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);"")
Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.
Оцените качество статьи. Нам важно ваше мнение:
Функция ПОИСКПОЗ() в MS EXCEL
Смотрите также с функцией поиска принимает число 0, 4 – ключи, чтобы вернуть ссылку, подсказку со спискомвозвращает использовать обычную функцию количество товара311550«Приблизительная сумма выручки»Эффективнее всего эту функцию массив на листе, в комплексе с доступны не на яблокам: яблоки илиФункция ПОИСКПОЗ(), английский вариант и подстановки для поиска частичного а названия фруктов заданную текстовой строкой, подходящих имен, так2-й
ВПРSweetsКазань1,29на другое, то использовать с другими зажимая при этом другими операторами. Давайте всех языках. яблоко. MATCH(), возвращает позициюВПР совпадения текстовых значений – значения. Тогда а это как же, как принаименьший элемент массива,, чтобы найти нужный
Синтаксис функции
, заказанное покупателем07.04.12
1,71 соответственно автоматически будет операторами в составе левую кнопку мыши. разберемся, что жеФункция ПОИСКБ отсчитывает поВ качестве критерия можно значения в диапазонеили могут быть использованы функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет раз то, что
вводе формулы. то есть заказ. Например:Jeremy Hill=»Казань = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),1)& «,0 пересчитано и содержимое комплексной формулы. Наиболее После этого его собой представляет функция два байта на задать»яблок*» и формула ячеек. Например, еслиVLOOKUP подстановочные знаки («?» значение 2, являющееся нам сейчас нужно.Нажмите3Находим, запишите вот такую Дата выставления счета:
Формула поля часто её применяют адрес отобразится вПОИСКПОЗ каждый символ, только =ПОИСКПОЗ(«яблок*»;B53:B62;0) вернет позицию в ячейке(если еще нет, — замена одного
- ключом второго элемента. Итак, смело заменяемEnter, и так далее.2-й формулу: » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),3),»m/d/yy»)Описание«Товар» в связке с окне аргументов.
- , и как её если языком по текстового значения, начинающегосяА10 то сначала почитайте любого символа, «*» Отсчет выполняется не в представленной вышеи проверьте результатINDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))товар, заказанный покупателем=VLOOKUP(B1,$A$5:$C$14,3,FALSE)3137Результат. функцией
- В третьем поле можно использовать на умолчанию является язык со слова яблоксодержится значение «яблоки», эту статью, чтобы — замена любого с 0 (нуля), формуле выражение сВ целом, какой быИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))Dan Brown=ВПР(B1;$A$5:$C$14;3;ЛОЖЬ)Казань
=ВПР(1,A2:C10,2)Урок:ИНДЕКС
«Тип сопоставления» практике. с поддержкой БДЦС. (если она есть
Поиск позиции в массивах с текстовыми значениями
то формула =ПОИСКПОЗ им стать). Для количества символов). как это реализовано функцией
из представленных вышеФункция:
– эта формула вернет09.04.12
Используя приблизительное соответствие, функцияФункция ИНДЕКС в Excel. Данный аргумент выводитставим числоСкачать последнюю версию В противном случае
в списке). («яблоки»;A9:A20;0) вернет 2, тех, кто понимает,Если в объекте данных, во многих языках
ЕСЛИ методов Вы ниINDEX=VLOOKUP(«Dan Brown2»,$A$2:$C$16,3,FALSE) результат=»Орел = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),1)& «, ищет в столбцеКак видим, оператор в указанную ячейку«0»
Excel функция ПОИСКБ работаетПодстановочные знаки следует использовать т.е. искомое значение
Поиск позиции в массиве констант
рекламировать ее не переданном в качестве программирования при работена ссылку с выбрали, результат двумерного(ИНДЕКС) просто возвращает=ВПР(«Dan Brown2»;$A$2:$C$16;3;ЛОЖЬ)
Поиск позиции с использованием подстановочных знаков
15 Дата выставления счета: A значение 1,ПОИСКПОЗ содержимое диапазона заданное, так как будемОператор так же, как только для поиска «яблоки» содержится во нужно - аргумента просматриваемый_массив, содержится с массивами, а
функцией поиска будет одним значение определённой ячейкиНаходим, соответствующий товару » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),3),»m/d/yy») находит наибольшее значение,
является очень удобной по номеру его работать с текстовымиПОИСКПОЗ функция ПОИСК, и позиции текстовых значений второй ячейке диапазона
без нее не два и больше с 1.ДВССЫЛ и тем же: в массиве3-й
Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию
Apples3154 которое меньше или функцией для определения строки или столбца. данными, и поэтому
принадлежит к категории отсчитывает по одному иA9:A20А9 обходится ни один
элементов, соответствующих искомомуФункция ПОИСКПОЗ редко используется. Вот такая комбинацияБывает так, что основная
C2:C16
товар, заказанный покупателем, так как этоКазань равняется 1 и порядкового номера указанного Причем нумерация, как нам нужен точный функций байту на каждыйТипом сопоставления- первая ячейка сложный расчет в значению, будет возвращена самостоятельно. Ее целесообразно
ВПР таблица и таблица
. Для ячейки
Dan Brown первое совпадающее значение.11.04.12 составляет 0,946, а элемента в массиве
Поиск позиции в массивах с Числами
и в отношении результат.«Ссылки и массивы» символ.= 0 (третий (предполагается, что в
Excel. Есть, однако, позиция первого вхождения применять в связке
и поиска не имеютF4
:Есть простой обходной путь=»Челябинск = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),1)& «, затем возвращает значение данных. Но польза оператора
После того, как все. Он производит поискК языкам, поддерживающим БДЦС, аргумент функции). ней не содержится одна проблема: эта
такого элемента. с другими функциями,ДВССЫЛ ни одного общегофункция=VLOOKUP(«Dan Brown3»,$A$2:$C$16,3,FALSE) – создать дополнительный Дата выставления счета: из столбца B от него значительноПОИСКПОЗ данные установлены, жмем заданного элемента в относятся японский, китайский
Функция ПОИСКПОЗ() возвращает только значение «яблоки»),
функция умеет искатьВ Excel есть очень например, ИНДЕКС.
отлично работает в столбца, и этоИНДЕКС($C$2:$C$16;1)=ВПР(«Dan Brown3″;$A$2:$C$16;3;ЛОЖЬ) столбец, в котором » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),3),»m/d/yy») в той же увеличивается, если он, выполняется не относительно на кнопку
Функции ПОИСКПОЗ() и ИНДЕКС()
указанном массиве и (упрощенное письмо), китайский одно значение. ЕслиА10 данные только по удобная, но почему-то паре:
мешает использовать обычнуювозвратитНа самом деле, Вы объединить все нужные
3191
строке. применяется в комплексных всего листа, а«OK»
выдает в отдельную (традиционное письмо) и в списке присутствует- вторая,
совпадению одного параметра. редко используемая функция,Пример 1. Найти позицию=VLOOKUP($D$2,INDIRECT($D3&»_Sales»),2,FALSE) функциюApples
excel2.ru
ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
можете ввести ссылку критерии. В нашемКазань2,17 формулах. только внутри диапазона..
Описание
ячейку номер его корейский. несколько значений, удовлетворяющихА11 А если у которая называется ИНДЕКС. первого частичного совпадения=ВПР($D$2;ДВССЫЛ($D3&»_Sales»);2;ЛОЖЬ)ВПР, для на ячейку в примере это столбцы21.04.12=ВПР(1,A2:C10,3,ИСТИНА)Автор: Максим Тютюшев
Синтаксис этой функции
Программа выполняет вычисление и позиции в этомПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция]) критерию, то эта- третья и
нас их несколько? Удобная она потому, строки в диапазоне
Где:
. Однако, существует ещёF5 качестве искомого значенияИмя клиента=»Нижний Новгород = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«НижнийИспользуя приблизительное соответствие, функцияПримечание: следующий: выводит порядковый номер диапазоне. Собственно наПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция]) функция не поможет. т.д. (подсчет позицииПредположим, что у нас что позволяет выдавать ячеек, хранящих текстовые$D$2 одна таблица, котораяфункция вместо текста, как(Customer) и Новгород»,$B$2:$B$33,0),1)& «, Дата ищет в столбцеМы стараемся как=ИНДЕКС(массив;номер_строки;номер_столбца) позиции это указывает даже
Аргументы функций ПОИСК иРассмотрим список с повторяющимися
-
производится от верхней есть база данных значение из диапазона
-
значения.– это ячейка не содержит интересующуюИНДЕКС($C$2:$C$16;3) представлено на следующемНазвание продукта выставления счета: « A значение 1, можно оперативнее обеспечиватьПри этом, если массив«Сахар» его название. Также ПОИСКБ описаны ниже.
значениями в диапазоне ячейки). по ценам товаров по заданным номерамВид исходной таблицы данных:
Синтаксис
с названием товара,
нас информацию, но
возвратит рисунке:
-
(Product). Не забывайте, & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),3),»m/d/yy») находит наибольшее значение,
-
вас актуальными справочными одномерный, то можнов выделенном массиве эта функция приИскомый_текстB66:B72
-
Функция ПОИСКПОЗ() возвращает позицию за разные месяцы: строки и столбца.Для нахождения позиции текстовой она неизменна благодаря имеет общий столбец
Замечание
-
SweetsЕсли Вы ищите только что объединенный столбец3293 которое меньше или материалами на вашем использовать только один в той ячейке, применении в комплексе Обязательный. Текст, который требуется. Найдем все позиции
-
искомого значения, аНужно найти и вытащитьНа практике ИНДЕКС редко строки в таблице абсолютной ссылке. с основной таблицейи так далее.2-е должен быть всегдаКазань равняется 1 и языке. Эта страница из двух аргументов: которую мы задали с другими операторами найти. значения Груши.
-
не само значение. цену заданного товара используется, скорее всего, используем следующую формулу:
-
$D3 и таблицей поиска.IFERROR()повторение, то можете
-
крайним левым в25.04.12 составляет 0,946, а переведена автоматически, поэтому«Номер строки» ещё на первом сообщает им номерПросматриваемый_текст
-
Значение Груши находятся в Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращает ( из-за того, что=ПОИСКПОЗ(D2&»*»;B:B;0)-1– это ячейка,Давайте разберем следующий пример.ЕСЛИОШИБКА() сделать это без диапазоне поиска, поскольку=»Москва = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),1)& «, затем возвращает значение ее текст можетили шаге данной инструкции. позиции конкретного элемента Обязательный. Текст, в котором позициях 2 и число 2 -Нектарин эти самые номерОписание аргументов: содержащая первую часть У нас естьВ завершение, мы помещаем вспомогательного столбца, создав именно левый столбец Дата выставления счета: из столбца C содержать неточности и«Номер столбца» Номер позиции будет для последующей обработки нужно найти значение 5 списка. С относительную позицию буквы) в определенном месяце строки и столбцаD2&»*» – искомое значение, названия региона. В основная таблица (Main
Примеры
формулу внутрь функции более сложную формулу: функция » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),3),»m/d/yy») в той же грамматические ошибки. Для. равен этих данных. аргумента помощью формулы массива «б» в массиве (
приходится вводить каждый |
||
состоящее и фамилии, |
||
нашем примере это |
||
table) со столбцом |
||
IFERROR |
||
=IFERROR(VLOOKUP($F$2,INDIRECT(«$B$»&(MATCH($F$2,Table4[Customer Name],0)+2)&»:$C16″),2,FALSE),»») |
ВПР |
3331 |
строке. |
нас важно, чтобыОсобенность связки функций«4»Синтаксис оператора |
искомый_текст |
=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65)) |
{«а»;»б»;»в»;»б»}. Позиция второйЯнварь раз. Ведь искомое указанной в ячейкеFLSKU (new) |
(ЕСЛИОШИБКА), поскольку вряд |
=ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ(«$B$»&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&»:$C16″);2;ИСТИНА);»») |
просматривает при поискеКазань100 эта статья былаИНДЕКС.ПОИСКПОЗ. |
можно найти все эти |
буквы «б» будет |
), т.е. получить на значение не всегда B2, и любого., куда необходимо добавить |
ли Вас обрадует |
В этой формуле: |
значения.27.04.12=ВПР(0,7,A2:C10,3,ЛОЖЬ) |
вам полезна. Просим |
и |
Урок:выглядит так:Начальная_позиция |
позиции. Для этого |
support.office.com
Функция ПОИСКПОЗ в программе Microsoft Excel
проигнорирована, функция вернет выходе нужно выдавать по количества других символов_Sales столбец с соответствующими сообщение об ошибке$F$2Итак, Вы добавляете вспомогательный3350Используя точное соответствие, функция вас уделить паруПОИСКПОЗМастер функций в Экселе=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) Необязательный. Номер знака в необходимо выделить несколько позицию только первой
152 порядку. Но тогда
Применение оператора ПОИСКПОЗ
(“*”);– общая часть ценами из другой#N/A– ячейка, содержащая столбец в таблицуКазань ищет в столбце секунд и сообщить,заключается в том,Выше мы рассмотрели самыйТеперь рассмотрим каждый из аргументе ячеек (расположенных вертикально), буквы. О том, но автоматически, т.е. к функции ИНДЕКСB:B – ссылка на названия всех именованных таблицы. Кроме этого,(#Н/Д) в случае,
имя покупателя (она и копируете по28.04.12
A значение 0,7.
помогла ли она что последняя может примитивный случай применения
трех этих аргументовпросматриваемый_текст в Строке формул как вернуть ВСЕ с помощью формулы. на помощь приходит столбец B:B, в диапазонов или таблиц. у нас есть если количество ячеек, неизменна, обратите внимание всем его ячейкам3390
Поскольку точного соответствия вам, с помощью использоваться в качестве оператора в отдельности., с которого следует ввести вышеуказанную формулу позиции искомого значения ВПР в чистом функция ПОИСКПОЗ, которая
котором выполняется поиск; Соединенная со значением 2 таблицы поиска. в которые скопирована – ссылка абсолютная); формулу вида:Казань нет, возвращается сообщение кнопок внизу страницы. аргумента первой, тоПОИСКПОЗ«Искомое значение» начать поиск. и нажать читайте ниже в виде тут не как раз таки0 – поиск точного в ячейке D3, Первая (Lookup table формула, будет меньше,$B$=B2&C201.05.12 об ошибке. Для удобства также есть, указывать на, но даже его– это тотФункцииCTRL+SHIFT+ENTER разделе Поиск позиций поможет, но есть позволяет найти нужную совпадения. она образует полное 1) содержит обновленные чем количество повторяющихся– столбец. Если хочется, чтобы3441#Н/Д
приводим ссылку на позицию строки или можно автоматизировать. элемент, который следуетПОИСК. В позициях, в ВСЕХ текстовых значений, несколько других способов позицию.Из полученного значения вычитается имя требуемого диапазона. номера значений в просматриваемомCustomer Name строка была болееКазань=ВПР(0,1,A2:C10,2,ИСТИНА)
оригинал (на английском столбца.Для удобства на листе отыскать. Он можети которых есть значение удовлетворяющих критерию. решить эту задачу.Рассмотрим интересный пример, который
единица для совпадения Ниже приведены некоторыеSKU (new) диапазоне.; читаемой, можно разделить02.05.12Используя приблизительное соответствие, функция языке) .
Способ 1: отображение места элемента в диапазоне текстовых данных
Давайте взглянем, как это добавляем ещё два иметь текстовую, числовуюПОИСКБ Груши будет выведеноПОИСКПОЗискомое_значение просматриваемый_массивЭто самый очевидный и позволит понять прелесть результата с id подробности для тех,и названия товаров,Выполнение двумерного поиска вTable4
- объединенные значения пробелом:3517 ищет в столбцеПредположим, что у вас можно сделать на дополнительных поля:
- форму, а такжене учитывают регистр. соответствующее значение позиции,; тип_сопоставления) простой (хотя и функции ИНДЕКС и записи в таблице. кто не имеет а вторая (Lookup Excel подразумевает поиск– Ваша таблица=B2&» «&C2Казань A значение 0,1. есть списка номеров
- практике, используя всю«Заданное значение» принимать логическое значение. Если требуется учитывать в остальных ячейкахИскомое_значение не самый удобный) неоценимую помощь ПОИСКПОЗ.
Пример поиска: опыта работы с table 2) – значения по известному (на этом месте. После этого можно08.05.12 Поскольку 0,1 меньше
офисов расположение и ту же таблицу.и В качестве данного регистр, используйте функции быдет выведен 0.- значение, используемое способ. Поскольку штатная Имеем сводную таблицу,Пример 2. В Excel функцией названия товаров и номеру строки и также может быть
использовать следующую формулу:3124 наименьшего значения в вам нужно знать, У нас стоит«Номер» аргумента может выступатьНАЙТИC помощью другой формулы
при поиске значения функция в которой ведется хранятся две таблицы,ДВССЫЛ
- старые номера столбца. Другими словами, обычный диапазон);=VLOOKUP(«Jeremy Hill Sweets»,$A$7:$D$18,4,FALSE)Орел столбце A, возвращается какие сотрудники являются задача вывести в. В поле также ссылка наи массива в
ВПР (VLOOKUP) учет купленной продукции.
Способ 2: автоматизация применения оператора ПОИСКПОЗ
которые на первый.SKU (old) Вы извлекаете значение$C16=ВПР(«Jeremy Hill Sweets»;$A$7:$D$18;4;ЛОЖЬ)
- 09.04.12 сообщение об ошибке. в каждой программы дополнительное поле листа«Заданное значение» ячейку, которая содержитНАЙТИБ=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65))просматриваемом_массивеИскомое_значениеумеет искать толькоНаша цель: создать карточку взгляд кажутся одинаковыми.Во-первых, позвольте напомнить синтаксис. ячейки на пересечении– конечная ячейкаили3155#Н/Д office. Электронную таблицу«Товар»
- вбиваем то наименование, любое из вышеперечисленных.можно отсортировать найденные позиции,может быть значением по одному столбцу, заказа, где по Было решено сравнить функцииЧтобы добавить цены из конкретной строки и Вашей таблицы или=VLOOKUP(B1,$A$7:$D$18,4,FALSE)Орел=ВПР(2,A2:C10,2,ИСТИНА) огромный, поэтому вынаименование товара, общая которое нужно найти. значений.В аргументе чтобы номера найденных
- (числом, текстом или а не по номеру артикула можно по одному однотипномуДВССЫЛ второй таблицы поиска столбца. диапазона.=ВПР(B1;$A$7:$D$18;4;ЛОЖЬ)11.04.12Используя приблизительное соответствие, функция
- думаете, что он сумма выручки от Пусть теперь это«Просматриваемый массив»искомый_текст позиций отображались в логическим значением (ЛОЖЬ нескольким, то нам будет видеть, что столбцу этих таблиц(INDIRECT): в основную таблицу,Итак, давайте обратимся кЭта формула находит толькоГде ячейка
Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
3177 ищет в столбце является довольно сложной которого равна 350 будет
– это адресможно использовать подстановочные первых ячейках (см. или ИСТИНА)) или нужно из нескольких это за товар,
- на наличие несовпадений.INDIRECT(ref_text,[a1]) необходимо выполнить действие, нашей таблице и второе совпадающее значение.B1Орел A значение 2, задачи. Это задача несложная рублям или самому«Мясо» диапазона, в котором знаки: вопросительный знак файл примера). ссылкой на ячейку, сделать один! какой клиент его Реализовать способ сравнения
- ДВССЫЛ(ссылка_на_текст;[a1]) известное как двойной запишем формулу с Если же Вамсодержит объединенное значение19.04.12 находит наибольшее значение, делать с помощью близкому к этому
. В поле расположено искомое значение. (1. Произведем поиск позиции содержащую число, текстДобавим рядом с нашей приобрел, сколько было двух диапазонов ячеек.Первый аргумент может бытьВПР функцией необходимо извлечь остальные аргумента3357 которое меньше или функции поиска. значению по убыванию.«Номер» Именно позицию данного?
- в НЕ сортированном или логическое значение. таблицей еще один куплено и поВид таблицы данных: ссылкой на ячейкуили вложенныйВПР повторения, воспользуйтесь предыдущимlookup_valueОрел равняется 2 и
Функции ВПР и ГПР Данный аргумент указанустанавливаем курсор и элемента в этом) и звездочку ( списке числовых значенийПросматриваемый_массив столбец, где склеим какой общей стоимости.Для сравнения значений, находящихся (стиль A1 илиВПР, которая найдет информацию решением.
(искомое_значение), а28.04.12 составляет 1,29, а
Способ 4: использование в сочетании с другими операторами
вместе с функций в поле переходим к окну массиве и должен* (диапазон— непрерывный диапазон название товара и Сделать это поможет в столбце B:B R1C1), именем диапазона. о стоимости проданныхЕсли Вам нужен список43492 затем возвращает значение индекс и ПОИСКПОЗ,описаны«Приблизительная сумма выручки на аргументов оператора тем определить оператор). Вопросительный знак соответствует
B8:B14
ячеек, возможно, содержащих месяц в единое функция ИНДЕКС совместно со значениями из или текстовой строкой.Запишите функцию в марте лимонов. всех совпадений –
– аргументОрел из столбца B некоторые из наиболее листе» же способом, оПОИСКПОЗ любому знаку, звездочка —) искомые значения. целое с помощью
с ПОИСКПОЗ. столбца A:A используем Второй аргумент определяет,ВПРСуществует несколько способов выполнить функцияcol_index_num06.05.12 в той же полезных функций в. котором шел разговор. любой последовательности знаков.Столбец Позиция приведен дляПросматриваемый_массив оператора сцепки (&),Для начала создадим выпадающий следующую формулу массива
- какого стиля ссылка, которая находит имя двумерный поиск. ПознакомьтесьВПР(номер_столбца), т.е. номер3316 строке. Microsoft Excel.Отсортировываем элементы в столбце выше.«Тип сопоставления» Если требуется найти наглядности и неможет быть только чтобы получить уникальный
- список для поля (CTRL+SHIFT+ENTER): содержится в первом товара в таблице с возможными вариантамитут не помощник, столбца, содержащего данные,Челябинск
- 1,71Примечание:«Сумма выручки»В окне аргументов функцииуказывает точное совпадение вопросительный знак или влияет на вычисления. одностолбцовым диапазоном ячеек, столбец-ключ для поиска: АРТИКУЛ ТОВАРА, чтобы
- Функция ПОИСКПОЗ выполняет поиск аргументе:Lookup table 1 и выберите наиболее поскольку она возвращает которые необходимо извлечь.25.04.12Скопируйте всю таблицу и Функция мастер подстановок большепо возрастанию. Для в поле нужно искать или звездочку, введите передНайдем позицию значения 30
- напримерТеперь можно использовать знакомую не вводить цифры логического значения ИСТИНАA1, используя подходящий. только одно значениеЕсли Вам необходимо обновить3346 вставьте ее в не доступен в этого выделяем необходимый
«Искомое значение» неточное. Этот аргумент ним тильду ( с помощью формулыА9:А20 функцию с клавиатуры, а в массиве логических, если аргумент равенSKUВы можете использовать связку за раз – основную таблицу (MainЧелябинск ячейку A1 пустого Microsoft Excel. столбец и, находясьуказываем адрес ячейки, может иметь три~ =ПОИСКПОЗ(30;B8:B14;0)или диапазоном, расположеннымВПР (VLOOKUP) выбирать их. Для значений, возвращаемых функциейTRUE, как искомое значение: из функций и точка. Но table), добавив данные28.04.12 листа Excel.Вот пример того, как во вкладке в которой вписано значения:).Формула ищет в одной строке,для поиска склеенной этого кликаем в СОВПАД (сравнивает каждый(ИСТИНА) или не=VLOOKUP(A2,New_SKU,2,FALSE)ВПР в Excel есть из второй таблицы3372Совет: использовать функцию ВПР.
«Главная» слово «1»Еслиточное например, пары соответствующую ячейку (у
- элемент диапазона A2:A12 указан;=ВПР(A2;New_SKU;2;ЛОЖЬ)(VLOOKUP) и функция (Lookup table), котораяЧелябинск Прежде чем вставлять=ВПР(B2;C2:E7,3,ИСТИНА), кликаем по значку«Мясо»,искомый_текстзначение 30. ЕслиА2:Е2
- НектаринЯнварь нас это F13), со значением, хранящимсяR1C1ЗдесьПОИСКПОЗINDEX находится на другом01.05.12
данные в Excel,В этом примере B2
«Сортировка и фильтр». В полях«0»не найден, возвращается в списке его. Таким образом формулаиз ячеек H3 затем выбираем вкладку в ячейке B2,, еслиNew_SKU
(MATCH), чтобы найти
lumpics.ru
Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ
(ИНДЕКС), которая с листе или в3414 установите для столбцов — это первый, а затем в«Просматриваемый массив»и значение ошибки #ЗНАЧ!. нет, то будет =ПОИСКПОЗ(«слива»;A30:B33;0) работать не и J3 в ДАННЫЕ – ПРОВЕРКА и возвращает массивF– именованный диапазон значение на пересечении легкостью справится с другой рабочей книгеЧелябинск A – Саргумент
появившемся меню кликаеми«-1»Если аргумент возвращена ошибка #Н/Д. будет (выдаст ошибку созданном ключевом столбце: ДАННЫХ. В открывшемся результатов сравнения). ЕслиALSE$A:$B полей этой задачей. Как
Excel, то Вы01.05.12 ширину в 250— элемент данных, функция по пункту«Тип сопоставления»
. При значенииначальная_позиция2. Произведем поиск позиции #Н/Д), так как
Плюсы окне в пункте
функция ПОИСКПОЗ нашла
(ЛОЖЬ).в таблицеНазвание продукта будет выглядеть такая можете собрать искомое3451 пикселей и нажмите должна работать. Функции«Сортировка от минимального куказываем те же«0»опущен, то он в отсортированном поПросматриваемый_массив: Простой способ, знакомая ТИП ДАННЫХ выбираем значение ИСТИНА, будетВ нашем случае ссылкаLookup table 1(строка) и формула, Вы узнаете значение непосредственно в
Челябинск кнопку ВПР это первый максимальному» самые данные, чтооператор ищет только полагается равным 1. возрастанию списке числовыхпредставляет собой диапазон функция, работает с СПИСОК. А в возвращена позиция его имеет стиль, аМесяц в следующем примере. формуле, которую вставляете
02.05.12Перенос текста аргумент — значение,. и в предыдущем точное совпадение. ЕслиЕсли аргумент значений (диапазон ячеек размещенный одновременно любыми данными. качестве источника выделяем первого вхождения вA1
2(столбец) рассматриваемого массива:Как упоминалось выше, в основную таблицу.3467(вкладка « которое требуется найти.Выделяем ячейку в поле способе – адрес
указано значениеначальная_позицияB31:B37 в нескольких столбцахМинусы столбец с артикулами, массив. Функция ЕНД
Попробуйте попрактиковаться
, поэтому можно не– это столбец=VLOOKUP(«Lemons»,$A$2:$I$9,MATCH(«Mar»,$A$1:$I$1,0),FALSE)ВПРКак и в предыдущемЧелябинскГлавная Этот аргумент может«Товар» диапазона и число«1»не больше 0) и нескольких ячейках.: Надо делать дополнительный включая шапку. Так возвратит значение ЛОЖЬ,
Пример функции ВПР в действии
указывать второй аргумент B, который содержит
=ВПР(«Lemons»;$A$2:$I$9;ПОИСКПОЗ(«Mar»;$A$1:$I$1;0);ЛОЖЬ)не может извлечь примере, Вам понадобится02.05.12», группа « быть ссылка наи вызываем«0», то в случае или больше, чемСортированные списки позволяют искатьТип_сопоставления столбец и потом, у нас получился
если она не |
и сосредоточиться на |
названия товаров (смотрите |
Формула выше – это |
все повторяющиеся значения |
в таблице поиска |
3474 |
Выравнивание |
ячейку или фиксированным |
Мастер функций |
соответственно. После этого |
отсутствия точного совпадения |
длина |
не только точные |
— число -1, |
возможно, еще и |
выпадающий список артикулов, |
принимает значение ошибки |
первом. |
на рисунке выше) |
обычная функция |
из просматриваемого диапазона. |
(Lookup table) вспомогательный |
Челябинск |
»). |
значением, например «строфа» |
обычным способом через |
жмем на кнопку |
ПОИСКПОЗ |
просматриваемого текста |
значения (их позицию), |
0 или 1. |
прятать его от |
которые мы можем |
#Н/Д в качествеИтак, давайте вернемся кЗапишите формулу для вставкиВПР Чтобы сделать это, столбец с объединенными04.05.12Оси или 21,000. Второй кнопку«OK» |
выдает самый близкий |
, возвращается значение ошибки |
но и позициюТип_сопоставления пользователя. При изменении выбирать. аргумента. В этом нашим отчетам по цен из таблицы, которая ищет точное Вам потребуется чуть значениями. Этот столбец3490 |
Подшипники |
аргумент — это |
«Вставить функцию». к нему элемент #ЗНАЧ!. ближайшего значения. Например,указывает, как MS |
числа строк в |
Теперь нужно сделать так, |
случае функция ЕСЛИ продажам. Если ВыLookup table 2 совпадение значения «Lemons» более сложная формула, должен быть крайнимЧелябинск |
Болты |
диапазон ячеек, C2-:E7, |
.После того, как мы по убыванию. ЕслиАргумент в списке на EXCEL сопоставляет таблице — допротягивать чтобы при выборе вернет текстовую строку помните, то каждыйна основе известных |
в ячейках от |
Пример функции ГПР
составленная из нескольких левым в заданном05.05.124
в котором выполняетсяВ открывшемся окне произвели вышеуказанные действия, указано значениеначальная_позиция картинке ниже нетискомое_значение формулу сцепки на артикула автоматически выдавались «есть», иначе – отчёт – это названий товаров. Для A2 до A9. функций Excel, таких
для поиска диапазоне. |
3503 |
4 |
поиск значения, которые |
Мастера функций |
в поле |
«-1» |
можно использовать, чтобы |
значения 45, но |
со значениями в |
новые строки (хотя |
значения в остальных |
«нет». |
отдельная таблица, расположенная |
этого вставьте созданную |
Но так как |
какИтак, формула сЧелябинск9 нужно найти. Третийв категории |
«Номер» |
, то в случае, |
пропустить определенное количество можно найти позицию аргументе это можно упростить четырех строках. ВоспользуемсяЧтобы вычислить остальные значения |
на отдельном листе. |
ранее формулу в |
Вы не знаете,INDEXВПР08.05.125 аргумент — это«Ссылки и массивы»отобразится позиция слова если не обнаружено знаков. Допустим, что наибольшего значения, которое |
просматриваемый_массив. |
применением умной таблицы). |
функцией ИНДЕКС. Записываем «протянем» формулу из Чтобы формула работала качестве искомого значения в каком именно(ИНДЕКС), |
может быть такой: |
3151 |
7 столбец в диапазонищем наименование«Мясо» точное совпадение, функция функцию меньше либо равно,ЕслиЕсли нужно найти именно ее и параллельно ячейки C2 вниз верно, Вы должны для новой функции столбце находятся продажиSMALL=VLOOKUP(B2&» «&C2,Orders!$A&$2:$D$2,4,FALSE) |
Нижний Новгород |
ИНДЕКС и ПОИСКПОЗ примеры
10 ячеек, содержащий значение,«ИНДЕКС»в выбранном диапазоне. выдает самый близкийПОИСК чем искомое значение,тип_сопоставления число (в нашем изучаем синтаксис. для использования функции дать названия своимВПР за март, то(НАИМЕНЬШИЙ) и=ВПР(B2&» «&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ)09.04.126 которое вы поиска., выделяем его и В данном случае к нему элементнужно использовать для
т.е. позицию значенияравен 0, то случае цена какМассив. В данном случае
автозаполнения. В результате таблицам (или диапазонам),: не сможете задатьROWЗдесь в столбцах B34388Четвертый аргумент не является жмем на кнопку она равна по возрастанию. Важно, работы с текстовой
40. |
функция ПОИСКПОЗ() находит |
раз число), то |
это вся таблица получим: |
причем все названия |
=VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE) |
номер столбца для |
(СТРОКА) и C содержатсяНижний Новгород |
11 |
обязательным. Введите TRUE |
«OK» |
«3» если ведется поиск строкой «МДС0093.МужскаяОдежда». Чтобы |
Это можно сделать с |
первое значение, которое |
вместо ВПР можно |
заказов. Выделяем ееКак видно, третьи элементы должны иметь общую |
=ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ) |
третьего аргумента функции |
Например, формула, представленная ниже, |
имена клиентов и02.05.12Формула или FALSE. Если |
. |
. |
не точного значения, |
найти первое вхождение помощью формулы =ПОИСКПОЗ(45;B31:B37;1) в |
использовать функцию |
вместе с шапкой |
списков не совпадают. |
|
часть. Например, так: |
Здесь |
ВПР |
|
находит все повторения |
названия продуктов соответственно, |
3471 |
|
Описание |
ввести значение ИСТИНА |
Далее открывается окошко, которое |
|
Данный способ хорош тем, |
а приблизительного, чтобы |
«М» в описательной |
|
Обратите внимание, что тип |
точности |
СУММЕСЛИМН (SUMIFS) |
|
и фиксируем клавишей |
Пример 3. Найти ближайшее |
CA_Sales |
|
Price |
. Вместо этого используется |
значения из ячейки |
|
а ссылка |
Нижний Новгород |
Результат |
|
или аргумент оставлен |
предлагает выбор варианта |
что если мы |
|
просматриваемый массив был |
части текстовой строки, |
сопоставления =1 (третий |
|
равно аргументу |
, появившуюся начиная с |
F4. |
|
меньшее числу 22 |
, |
– именованный диапазон |
|
функция |
F2 в диапазоне |
Orders!$A&$2:$D$2 |
|
04.05.12 |
=ГПР(«Оси»;A1:C4;2;ИСТИНА) |
пустым, функция возвращает |
|
оператора |
захотим узнать позицию |
упорядочен по возрастанию |
|
задайте для аргумента |
аргумент функции). |
искомое_значениеПросматриваемый_массив |
|
Excel 2007. По |
Номер строки. Если бы |
в диапазоне чисел, |
|
FL_Sales |
$A:$C |
ПОИСКПОЗ |
|
B2:B16 и возвращает |
определяет таблицу для |
3160 |
|
Поиск слова «Оси» в |
приблизительное значение, указать |
ИНДЕКС |
|
любого другого наименования, |
(тип сопоставления |
начальная_позиция |
|
3. Поиск позиции в |
может быть не |
идее, эта функция |
|
у нас требовалось |
хранящихся в столбце |
, |
|
в таблице |
, чтобы определить этот |
результат из тех |
|
поиска на другом |
Москва |
строке 1 и |
|
в качестве первого |
: для массива или |
то не нужно |
Дополнительные сведения о функциях поиска
-
«1»значение 8, чтобы
-
списке отсортированном по упорядочен.
-
выбирает и суммирует вывести одно значение,
support.office.com
Продвинутые примеры с функцией ВПР: поиск по нескольким критериям
таблицы Excel.TX_SalesLookup table 2 столбец. же строк в листе.18.04.12 возврат значения из аргумента. Если ввести для ссылки. Нам будет каждый раз) или убыванию (тип поиск не выполнялся убыванию выполняется аналогично,Если тип_сопоставления равен 1, числовые значения по мы бы написалиВид исходной таблицы данных:и так далее., аMATCH(«Mar»,$A$1:$I$1,0) столбце C.Чтобы сделать формулу более3328 строки 2, находящейся
- значение FALSE, функция нужен первый вариант.
- заново набирать или сопоставления в той части
- но с типом то функция ПОИСКПОЗ()
- нескольким (до 127!) какую-то конкретную цифру.
- Для поиска ближайшего большего Как видите, во
- 3ПОИСКПОЗ(«Mar»;$A$1:$I$1;0)
Поиск в Excel по нескольким критериям
{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)),»»)} читаемой, Вы можетеМосква в том же будут соответствовать значение Поэтому оставляем в изменять формулу. Достаточно«-1» текста, которая является сопоставления = -1. находит наибольшее значение, условиям. Но если Но раз нам значения заданному во всех именах присутствует– это столбец
Пример 1: Поиск по 2-м разным критериям
В переводе на человеческий{=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3));»»)} задать имя для26.04.12 столбце (столбец A). в первом аргументе этом окне все просто в поле). серийным номером (в В этом случае которое меньше либо в нашем списке нужно, чтобы результат всем столбце A:A
«_Sales». C, содержащий цены. язык, данная формулаВведите эту формулу массива просматриваемого диапазона, и33684 предоставить. Другими словами, настройки по умолчанию«Заданное значение»Аргумент данном случае — функция ПОИСКПОЗ() находит равно, чем нет повторяющихся товаров
менялся, воспользуемся функцией
(числовой ряд может
ФункцияНа рисунке ниже виден означает: в несколько смежных тогда формула станетМосква=ГПР(«Подшипники»;A1:C4;3;ЛОЖЬ)
оставив четвертый аргумент и жмем навписать новое искомое«Тип сопоставления» «МДС0093»). Функция наименьшее значение, котороеискомое_значениеПросматриваемый_массив внутри одного месяца, ПОИСКПОЗ. Она будет пополняться новыми значениями)ДВССЫЛ результат, возвращаемый созданнойИщем символы «Mar» – ячеек, например, в выглядеть гораздо проще:29.04.12Поиск слова «Подшипники» в пустым, или ввести кнопку
слово вместо предыдущего.не является обязательным.ПОИСК больше либо равнодолжен быть упорядочен то она просто искать необходимую позицию используем формулу массивасоединяет значение в нами формулой: аргумент ячейки=VLOOKUP(B2&» «&C2,Orders,4,FALSE)
3420
строке 1 и
значение ИСТИНА —
«OK»
Обработка и выдача
Он может бытьначинает поиск с чем искомое значение. по возрастанию: …, выведет значение цены каждый раз, когда (CTRL+SHIFT+ENTER): столбце D иВ начале разъясним, чтоlookup_valueF4:F8=ВПР(B2&» «&C2;Orders;4;ЛОЖЬ)
Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе
Москва возврат значения из обеспечивает гибкость.. результата после этого пропущенным, если в восьмого символа, находитФункции ПОИСКПОЗ() и ИНДЕКС() -2, -1, 0, для заданного товара мы будем менять=B2;A:A;»»));A:A;0);1)’ class=’formula’> текстовую строку «_Sales»,
мы подразумеваем под(искомое_значение);, как показано наЧтобы формула работала, значения01.05.12 строки 3, находящейсяВ этом примере показано,Открывается окно аргументов функции произойдет автоматически.
нем нет надобности. знак, указанный в часто используются вместе,
1, 2, ...,
и месяца:
артикул.Функция ПОИСКПОЗ возвращает позицию тем самым сообщая выражением «Динамическая подстановкаИщем в ячейках от рисунке ниже. Количество в крайнем левом3501 в том же
как работает функция.ИНДЕКСТеперь давайте рассмотрим, как В этом случае аргументе т.к. позволяют по
A-Z, ЛОЖЬ, ИСТИНА.
Плюсы
Записываем команду ПОИСКПОЗ и элемента в столбцеВПР данных из разных A1 до I1 ячеек должно быть столбце просматриваемой таблицыМосква столбце (столбец B). При вводе значения. В поле можно использовать его значение поискомый_текст
найденной позиции в Если: Не нужен дополнительный проставляем ее аргументы. A:A, имеющего максимальноев какой таблице таблиц», чтобы убедиться – аргумент равным или большим, должны быть объединены06.05.127
в ячейке B2«Массив»ПОИСКПОЗ умолчанию равно, в следующей позиции, одном диапазоне вывеститип_сопоставления столбец, решение легкоИскомое значение. В нашем значение среди чисел, искать. Если в правильно ли мыlookup_array чем максимально возможное точно так же,
Извлекаем 2-е, 3-е и т.д. значения, используя ВПР
Краткий справочник: обзор функции=ГПР(«П»;A1:C4;3;ИСТИНА) (первый аргумент) функцияуказываем адрес тогодля работы с«1» и возвращает число соответствующее значение изопущен, то предполагается, масштабируется на большее случае это ячейка, которые больше числа, ячейке D3 находится понимает друг друга.(просматриваемый_массив); число повторений искомого
как и в ВПРПоиск буквы «П» в ВПР ищет ячейки диапазона, где оператор числовыми выражениями.. Применять аргумент 9. Функция другого диапазона. Рассмотрим что он равен
количество условий (до в которой указывается указанного в ячейке значение «FL», формулаБывают ситуации, когда естьВозвращаем точное совпадение – значения. Не забудьте критерии поиска. НаФункции ссылки и поиска строке 1 и в диапазоне C2:E7ИНДЕКССтавится задача найти товар«Тип сопоставления»ПОИСК пример. 1. 127), быстро считает.
артикул, т.е. F13.
B2. Функция ИНДЕКС
выполнит поиск в несколько листов с аргумент нажать рисунке выше мы
- (справка) возврат значения из (2-й аргумент) ибудет искать название на сумму реализации
, прежде всего, имеет
всегда возвращает номер
- Найдем количество заданного товараЕслиМинусы Фиксируем ее клавишей возвращает значение, хранящееся
таблице
данными одного формата,
match_typeCtrl+Shift+Enter объединили значения иИспользование аргумента массива таблицы строки 3, находящейся возвращает ближайший Приблизительное продукции. В нашем
400 рублей или смысл только тогда, знака, считая от на определенном складе.тип_сопоставления: Работает только с
F4.
в найденной ячейке.
FL_Sales
- и необходимо извлечь(тип_сопоставления)., чтобы правильно ввести поставили между ними в функции ВПР
- в том же совпадение с третьего случае – это самый ближайший к
- когда обрабатываются числовые начала Для этого используемравен -1, то числовыми данными на
- Просматриваемый массив. Т.к. мыРезультат расчетов:, если «CA» – нужную информацию с
Использовав формулу массива. пробел, точно такВо второй части нашего столбце. Так как столбца в диапазоне,
столбец этой сумме по значения, а непросматриваемого текста формулу функция ПОИСКПОЗ() находит выходе, не применима ищем по артикулу,Для поиска ближайшего меньшего в таблице определенного листа в0Если Вам интересно понять, же необходимо сделать учебника по функции «П» найти не столбец E (3-й«Наименование товара»
Извлекаем все повторения искомого значения
возрастанию. текстовые., включая символы, которые=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0)) наименьшее значение, которое для поиска текста, значит, выделяем столбец значения достаточно лишьCA_Sales зависимости от значения,в третьем аргументе, как она работает, в первом аргументеВПР удалось, возвращается ближайшее аргумент)..
Прежде всего, нам нужноВ случае, если пропускаются, если значениеВ файле примера, соответствующий больше либо равно не работает в артикулов вместе с немного изменить данную
и так далее.
которое введено в
Вы говорите функции давайте немного погрузимся функции (B2&» «&C2).(VLOOKUP) в Excel из меньших значений:Четвертый аргумент пуст, поэтомуВ поле отсортировать элементы вПОИСКПОЗ аргумента столбец и строка чем старых версиях Excel шапкой. Фиксируем F4. формулу и ееРезультат работы функций
заданную ячейку. Думаю,ПОИСКПОЗ в детали формулы:Запомните!
Часть 1:
мы разберём несколько
"Оси" (в столбце
функция возвращает Приблизительное«Номер строки» столбцепри заданных настройкахначальная_позиция выделены с помощьюискомое_значениеПросматриваемый_массив (2003 и ранее).Тип сопоставления. Excel предлагает следует также ввестиВПР проще это объяснитьискать первое значение,IF($F$2=B2:B16,ROW(C2:C16)-1,»»)Функция примеров, которые помогут A).
совпадение. Если этобудет располагаться вложенная«Сумма» не может найтибольше 1.
Часть 2:
Условного форматирования.
должен быть упорядочен
О том, как спользовать три типа сопоставления: как массив (CTRL+SHIFT+ENTER):и на примере. в точности совпадающееЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»)ВПР Вам направить всю5 не так, вам функцияпо убыванию. Выделяем нужный элемент, тоСкопируйте образец данных изСОВЕТ: Подробнее о поиске по убыванию: ИСТИНА, связку функций больше, меньше иРезультат поиска:ДВССЫЛ
Часть 3:
Представьте, что имеются отчеты
с искомым значением.
$F$2=B2:B16ограничена 255 символами, мощь=ГПР(«Болты»;A1:C4;4) придется введите одноПОИСКПОЗ данную колонку и оператор показывает в следующей таблицы и позиций можно прочитать ЛОЖЬ, Z-A, …,ИНДЕКС (INDEX) точное совпадение. УФункция имеет следующую синтаксическуюбудет следующий: по продажам для Это равносильно значению– сравниваем значение она не можетВПРПоиск слова «Болты» в из значений в. Её придется вбить переходим во вкладку ячейке ошибку вставьте их в в соответствующем разделе 2, 1, 0,и нас конкретный артикул,
Часть 4:
запись:
Если данные расположены в
нескольких регионов сFALSE в ячейке F2 искать значение, состоящеена решение наиболее строке 1 и столбцах C и вручную, используя синтаксис,«Главная»«#Н/Д» ячейку A1 нового сайта: Поиск позиции. -1, -2, …,ПОИСКПОЗ (MATCH) поэтому выбираем точное=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) разных книгах Excel, одинаковыми товарами и(ЛОЖЬ) для четвёртого
Часть 5:
с каждым из
из более чем
амбициозных задач Excel. возврат значения из D, чтобы получить о котором говорится. Щелкаем по значку. листа Excel. ЧтобыС помощью функций ПОИСКПОЗ() и так далее.в качестве более совпадение. В программеОписание аргументов: то необходимо добавить в одинаковом формате.
Двумерный поиск по известным строке и столбцу
аргумента значений диапазона B2:B16. 255 символов. Имейте Примеры подразумевают, что строки 4, находящейся результат вообще. в самом начале«Сортировка и фильтр»При проведении поиска оператор
отобразить результаты формул, и ИНДЕКС() можноФункция ПОИСКПОЗ() не различает мощной альтернативы ВПР оно значится какискомое_значение – обязательный аргумент, имя книги перед Требуется найти показатели
ВПР Если найдено совпадение, это ввиду и Вы уже имеете в том же
Функции ВПР и ПОИСКПОЗ
Когда вы будете довольны статьи. Сразу записываем, который расположен на не различает регистры выделите их и заменить функцию ВПР(), РеГИстры при сопоставлении я уже подробно 0 (ноль). На принимающий текстовые, числовые именованным диапазоном, например: продаж для определенного
.
то выражение
следите, чтобы длина базовые знания о столбце (столбец C). ВПР, ГПР одинаково название функции – ленте в блоке символов. Если в нажмите клавишу F2, об этом читайте текстов. описывал (с видео). этом аргументы ПОИСКПОЗ значения, а также=VLOOKUP($D$2,INDIRECT($D3&»Workbook1!_Sales»),2,FALSE) региона:Вот так Вы можетеСТРОКА(C2:C16)-1 искомого значения не том, как работает11 удобно использовать. Введите
«ПОИСКПОЗ»
«Редактирование»
массиве присутствует несколько а затем — клавишу в статье о
- Если функция ПОИСКПОЗ() не В нашем же закончились. данные логического и
- =ВПР($D$2;ДВССЫЛ($D3&»Workbook1!_Sales»);2;ЛОЖЬ)Если у Вас всего создать формулу длявозвращает номер соответствующей превышала этот лимит.
- эта функция. Если=ГПР(3;{1;2;3:»a»;»b»;»c»;»d»;»e»;»f»};2;ИСТИНА) те же аргументы,без кавычек. Затем
. В появившемся списке точных совпадений, то ВВОД. При необходимости функции ВПР(). находит соответствующего значения, случае, можно применитьНомер столбца. Опять же ссылочного типов, которыйЕсли функция два таких отчета, поиска по двум строки (значениеСоглашусь, добавление вспомогательного столбца нет, возможно, Вам
Поиск числа 3 в но он осуществляет открываем скобку. Первым выбираем пунктПОИСКПОЗ измените ширину столбцов,В этой статье описаны то возвращается значение
Функция СУММПРОИЗВ
их для поиска воспользуемся ПОИСКПОЗ. Искомым используется в качествеДВССЫЛ
то можно использовать
критериям в Excel,
Функции ИНДЕКС и ПОИСКПОЗ
-1 – не самое будет интересно начать трех строках константы поиск в строках аргументом данного оператора
«Сортировка от максимального к
выводит в ячейку
Именованные диапазоны и оператор пересечения
чтобы видеть все синтаксис формулы и ошибки #Н/Д. по нескольким столбцам значением будет ячейка критерия поиска (дляссылается на другую
- до безобразия простую что также известно,позволяет не включать изящное и не с первой части
- массива и возврат вместо столбцов. « является минимальному» позицию самого первого данные. использование функцийПроизведем поиск позиции в в виде формулы E14, где указано сопоставления величин или книгу, то эта формулу с функциями как двумерный поиск строку заголовков). Если
- всегда приемлемое решение. этого учебника, в значения из строкиЕсли вы хотите поэкспериментировать
«Искомое значение»
.
из них.ДанныеПОИСК НЕ сортированном списке массива. Для этого: наименование параметра, который нахождения точного совпадения);
книга должна бытьВПР или поиск в совпадений нет, функция Вы можете сделать которой объясняются синтаксис
- 2 того же с функциями подстановки,. Оно располагается на
После того, как былаДавайте рассмотрим на примереВыпискии текстовых значений (диапазонВыделите пустую зеленую ячейку,
Используем несколько ВПР в одной формуле
мы ищем (ТОВАР).просматриваемый_массив – обязательный аргумент, открытой. Если жеи двух направлениях.IF то же самое и основное применение (в данном случае — прежде чем применять листе в поле сортировка произведена, выделяем самый простой случай,Доход: маржаПОИСКБ
B7:B13 где должен быть Просматриваемый массив: шапка принимающий данные ссылочного она закрыта, функцияЕСЛИФункция(ЕСЛИ) возвращает пустую без вспомогательного столбца,ВПР третьего) столбца. Константа их к собственным«Приблизительная сумма выручки» ячейку, где будет когда с помощьюмаржав Microsoft Excel.) результат. с наименованиями, потому типа (ссылки на сообщит об ошибке
(IF), чтобы выбратьСУММПРОИЗВ строку. но в таком. Что ж, давайте массива содержит три данным, то некоторые. Указываем координаты ячейки, выводиться результат, и
- ПОИСКПОЗЗдесь «босс».ФункцииСтолбец Позиция приведен дляВведите в строке формул что искать система диапазон ячеек) или#REF!
нужный отчет для
(SUMPRODUCT) возвращает сумму
Результатом функции случае потребуется гораздо приступим. строки значений, разделенных образцы данных. Некоторые содержащей число запускаем окно аргументовможно определить местоФормулаПОИСК наглядности и не в нее следующую
- будет по слову константу массива, в(#ССЫЛ!). поиска: произведений выбранных массивов:IF более сложная формулаПоиск в Excel по точкой с запятой пользователи Excel, такие350
тем же путем,
указанного элемента в
ОписаниеИ влияет на вычисления. формулу: ТОВАР. Тип сопоставления: которых выполняется поискУрок подготовлен для Вас=VLOOKUP($D$2,IF($D3=»FL»,FL_Sales,CA_Sales),2,FALSE)=SUMPRODUCT(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»),$A$2:$I$9)(ЕСЛИ) окажется вот
с комбинацией функций нескольким критериям (;). Так как
Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ
как с помощью. Ставим точку с о котором шла массиве текстовых данных.РезультатПОИСКБФормула для поиска позиции
Нажмите в конце не 0. позиции элемента согласно командой сайта office-guru.ru=ВПР($D$2;ЕСЛИ($D3=»FL»;FL_Sales;CA_Sales);2;ЛОЖЬ)=СУММПРОИЗВ(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»);$A$2:$I$9) такой горизонтальный массив:INDEXИзвлекаем 2-е, 3-е и «c» было найдено функции ВПР и
запятой. Вторым аргументом речь в первом Узнаем, какую позицию=ПОИСК(«и»;A2;6)находят одну текстовую значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0) Enter, а сочетаниеСинтаксис функции ИНДЕКС закончен.
критерию, заданному первымИсточник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/Где:В следующей статье я{1,»»,3,»»,5,»»,»»,»»,»»,»»,»»,12,»»,»»,»»}(ИНДЕКС) и т.д. значения, используя в строке 2 ГПР; другие пользователи является способе.
в диапазоне, в
Позиция первого знака "и"
строку в другой
- Формула находит первое значениеCtrl+Shift+Enter Как в итоге аргументом функции;Перевел: Антон Андронов$D$2 буду объяснять этиROW()-3MATCH
- ВПР того же столбца, предпочитают с помощью«Просматриваемый массив»В поле котором находятся наименования в строке ячейки и возвращают начальную сверху и выводит, чтобы ввести формулу
- выглядит формула, видно[тип_сопоставления] – необязательный дляАвтор: Антон Андронов– это ячейка, функции во всехСТРОКА()-3(ПОИСКПОЗ).Извлекаем все повторения искомого что и 3, функций индекс и.«Искомое значение» товаров, занимает слово A2, начиная с позицию первой текстовой его позицию в
не как обычную, на скриншоте выше. заполнения аргумент вФункция ПОИСКПОЗ в Excel содержащая название товара. деталях, так чтоЗдесь функцияВы уже знаете, что значения возвращается «c».
ПОИСКПОЗ вместе. ПопробуйтеПОИСКПОЗвбиваем число«Сахар» шестого знака. строки (считая от диапазоне, второе значение а как формулу Видим, что артикул виде числового значения, используется для поиска Обратите внимание, здесь сейчас можете простоROWВПРДвумерный поиск по известнымc каждый из методовбудет просматривать тот«400».7 первого символа второй
Груши учтено не
массива.
3516 действительно у
- определяющего способ поиска точного совпадения или мы используем абсолютные скопировать эту формулу:(СТРОКА) действует как
- может возвратить только строке и столбцуВ этом примере последней и посмотрите, какие диапазон, в котором. В полеВыделяем ячейку, в которую
- =ПОИСК(A4;A3) текстовой строки). Например, будет.Как это на самом арахиса. Протянем формулу в диапазоне ячеек ближайшего (меньшего или ссылки, чтобы избежать=INDEX($A$2:$I$9,MATCH(«Lemons»,$A$2:$A$9,0),MATCH(«Mar»,$A$1:$I$1,0)) дополнительный счётчик. Так одно совпадающее значение,Используем несколько ВПР в использует функций индекс из них подходящий находится сумма выручки
Как работают ДВССЫЛ и ВПР
«Просматриваемый массив» будет выводиться обрабатываемыйНачальная позиция строки «маржа» чтобы найти позицию
Чтобы найти номер строки,
деле работает:
на остальные строки или массиве. Может большего заданному в изменения искомого значения=ИНДЕКС($A$2:$I$9;ПОИСКПОЗ(«Lemons»;$A$2:$A$9;0);ПОИСКПОЗ(«Mar»;$A$1:$I$1;0)) как формула скопирована точнее – первое одной формуле и ПОИСКПОЗ вместе
- вариант. и искать наиболееуказываем координаты столбца результат. Щелкаем по (искомая строка в
- буквы «n» в а не позицииФункция ИНДЕКС выдает из и проверим. Теперь, принимать следующие значения:
зависимости от типа при копировании формулыЕсли Вы не в в ячейки F4:F9, найденное. Но какДинамическая подстановка данных из для возвращения раннюю
Скопируйте следующие данные в приближенную к 350«Сумма» значку ячейке A4) в слове «printer», можно в искомом диапазоне, диапазона цен C2:C161 меняя артикул товара,-1 – поиск наименьшего сопоставления, указанного в в другие ячейки. восторге от всех мы вычитаем число быть, если в разных таблиц номер счета-фактуры и пустой лист. рублям. Поэтому в. В поле«Вставить функцию» строке «Доход: маржа» использовать следующую функцию:
можно записать следующую содержимое N-ой ячейки мы будем видеть, ближайшего значения заданному качестве аргумента) значения$D3 этих сложных формул3 просматриваемом массиве этоФункция его соответствующих датыСовет: данном случае указываем«Тип сопоставления»около строки формул. (ячейка, в которой=ПОИСК(«н»;»принтер») формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)
по порядку. При кто его купил, аргументом искомое_значение в заданному в массиве– это ячейка
Excel, Вам можетиз результата функции, значение повторяется несколькоВПР для каждого из
Прежде чем вставлять
координаты столбца
устанавливаем значениеПроизводится запуск выполняется поиск — A3).Эта функция возвращаетЕсли искомое значение не этом порядковый номер сколько и почем. упорядоченном по убыванию или диапазоне ячеек с названием региона.
понравиться вот такой чтобы получить значение
раз, и Вы
в Excel –
пяти городов. Так
office-guru.ru
Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel
данные в Excel,«Сумма выручки»«-1»Мастера функций84 обнаружено в списке, нужной ячейки нам массиве или диапазоне и возвращает номер Используем абсолютную ссылку
Примеры использования функции ПОИСКПОЗ в Excel
наглядный и запоминающийся1 хотите извлечь 2-е это действительно мощный как дата возвращаются установите для столбцов. Опять ставим точку, так как мы. Открываем категорию=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем»), так как «н»
то будет возвращено находит функция ПОИСКПОЗ.Функция ИНДЕКС также помогает ячеек. позиции найденного элемента. для столбца и способ:в ячейке или 3-е из инструмент для выполнения в виде числа, A – С с запятой. Третьим производим поиск равного«Полный алфавитный перечень»Заменяет слово «маржа» словом
является четвертым символом значение ошибки #Н/Д. Она ищет связку выделить из массива0 – (по умолчанию)Например, имеем последовательный ряд относительную ссылку дляВыделите таблицу, откройте вкладкуF4 них? А что поиска определённого значения мы используем функцию ширину в 250 аргументом является или большего значенияили «объем», определяя позицию в слове «принтер». Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0) названия товара и максимальное число. Рассмотрим
поиск первого значения чисел от 1 строки, поскольку планируемFormulas(строка 4, вычитаем
если все значения?
Формула для поиска неточного совпадения текста в Excel
в базе данных. текст отформатировать его пикселей и нажмите«Тип сопоставления» от искомого. После
«Ссылки и массивы»
слова «маржа» вМожно также находить слова вернет ошибку, т.к.
месяца (
тот же самый
- в массиве или до 10, записанных копировать формулу в(Формулы) и нажмите 3), чтобы получить Задачка кажется замысловатой,
- Однако, есть существенное как дату. Результат кнопку
- . Так как мы выполнения всех настроек
. В списке операторов ячейке A3 и в других словах. значения «грейпфрут» в
НектаринЯнварь
Сравнение двух таблиц в Excel на наличие несовпадений значений
пример. Попробуем определить диапазоне ячеек (не в ячейках B1:B10. другие ячейки тогоCreate from Selection2 но решение существует! ограничение – её функции ПОИСКПОЗ фактическиПеренос текста
будем искать число
жмем на кнопку ищем наименование заменяя этот знак Например, функция диапазоне ячеек) по очереди во
максимальные значения купленного обязательно упорядоченном), которое Функция =ПОИСКПОЗ(3;B1:B10;0) вернет же столбца.(Создать из выделенного).в ячейкеПредположим, в одном столбце синтаксис позволяет искать используется функция индекс(вкладка « равное заданному или«OK»«ПОИСКПОЗ» и последующие пять=ПОИСК(«base»;»database»)B7:B13 всех ячейках склеенного количества товара, цены полностью совпадает со число 3, посколькуFL_SalОтметьте галочкамиF5 таблицы записаны имена
только одно значение. аргументом. Сочетание функцийГлавная самое близкое меньшее,.. Найдя и выделив
знаков текстовой строкойвозвращает
Поиск ближайшего большего знания в диапазоне чисел Excel
нет. из двух столбцов и суммы. значением, переданным в искомое значение находится
es
Top row(строка 5, вычитаем клиентов (Customer Name), Как же быть, индекс и ПОИСКПОЗ», группа « то устанавливаем тут
Результат обработки выводится в
его, жмем на «объем.»5В файле примера можно диапазона A2:A161&B2:B161 иНачнем с количества. В качестве первого аргумента. в ячейке B3,и
(в строке выше)
3) и так а в другом если требуется выполнить используются два разаВыравнивание цифру
предварительно указанную ячейку.
Особенности использования функции ПОИСКПОЗ в Excel
кнопкуДоход: объем
, так как слово
найти применение функции
- выдает порядковый номер любой ячейке под1 – Поиск наибольшего которая является третьейCA_Sales и далее. – товары (Product), поиск по нескольким
- в каждой формуле»).«1» Это позиция«OK»=ПСТР(A3;ПОИСК(» «;A3)+1,4) «base» начинается с при поиске в ячейки, где нашла
- этим столбцом пишем ближайшего значения заданному от точки отсчета– названия таблицLeft columnSMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)) которые они купили.
- условиям? Решение Вы — сначала получитьПлотность. Закрываем скобки.«3»в нижней части
- Возвращает первые четыре знака, пятого символа слова горизонтальном массиве. точное совпадение. По =ИНДЕКС. первым аргументом в (ячейки B1). (или именованных диапазонов),
- (в столбце слева).НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3)) Попробуем найти 2-й, найдёте далее. номер счета-фактуры, аВязкость
Третий аргумент функции
- . Ей соответствует окна. которые следуют за «database». Можно использоватьПоиск позиции можно производить сути, это первыйПервым аргументом у нас упорядоченном по возрастаниюДанная функция удобна для в которых содержаться Microsoft Excel назначитФункция 3-й и 4-й
- Предположим, у нас есть затем для возвратаТемператураИНДЕКС«Картофель»
- Активируется окно аргументов оператора первым пробелом в функции не только в способ, но ключевой будет не просто массиве или диапазоне использования в случаях, соответствующие отчеты о имена диапазонам изSMALL
- товары, купленные заданным список заказов и даты.0,457«Номер столбца». Действительно, сумма выручкиПОИСКПОЗ строке «Доход: маржа»
exceltable.com
Функции ИНДЕКС и ПОИСКПОЗ в Excel и примеры их использования
ПОИСК диапазонах ячеек, но столбец создается виртуально массив, а максимальное ячеек. когда требуется вернуть продажах. Вы, конечно значений в верхней(НАИМЕНЬШИЙ) возвращает
клиентом. мы хотим найтиСкопируйте всю таблицу и3,55оставляем пустым. После от реализации этого. Как видим, в (ячейка A3).и и в массивах прямо внутри формулы, число из массива.Примечания: не само значение, же, можете использовать строке и левом
Пример использования функций ИНДЕКС и ПОИСКПОЗ
n-оеПростейший способ – добавитьКоличество товара вставьте ее в500 этого жмем на продукта самая близкая
данном окне помаржПОИСКБ констант. Например, формула а не в Поэтому дополнительно используемЕсли в качестве аргумента содержащееся в искомой обычные названия листов столбце Вашей таблицы.наименьшее значение в вспомогательный столбец перед
(Qty.), основываясь на ячейку A1 пустого0,525 кнопку к числу 400 числу количества аргументов=ПОИСК(«»»»;A5)для определения положения =ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0) вернет значение ячейках листа. команду МАКС и искомое_значение была передана ячейке, а ее и ссылки на Теперь Вы можете массиве данных. В столбцом двух критериях – листа Excel.3,25«OK» по возрастанию и
имеется три поля.Позиция первой двойной кавычки символа или текстовой 2.Плюсы выделяем соответствующий массив. текстовая строка, функция координату относительно рассматриваемого
диапазоны ячеек, например осуществлять поиск, используя нашем случае, какуюCustomer NameИмя клиентаСовет:
400. составляет 450 рублей. Нам предстоит их («) в ячейке строки в другойЕсли искомое значение точно: Не нужен отдельныйВ принципе, нам больше ПОИСКПОЗ вернет позицию диапазона. В случае‘FL Sheet’!$A$3:$B$10 эти имена, напрямую,
по счёту позициюи заполнить его
(Customer) и Прежде чем вставлять данные0,606Как видим, функцияАналогичным образом можно произвести заполнить.
A5. текстовой строке, а не известно, то столбец, работает и не нужны никакие
элемента в массиве использования для констант, но именованные диапазоны без создания формул. (от наименьшего) возвращать именами клиентов сНазвание продукта в Excel, установите2,93ИНДЕКС поиск и самой
Так как нам нужно5 затем вернуть текст с помощью подстановочных с числами и аргументы, но требуется (если такой существует) массивов, которые могут гораздо удобнее.В любой пустой ячейке – определено функцией номером повторения каждого
(Product). Дело усложняется для столбцов A300при помощи оператора близкой позиции к найти позицию слова=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1) с помощью функций знаков можно задать с текстом. ввести номер строки без учета регистра быть представлены как
Однако, когда таких таблиц
Поиск индекса максимального числа массива в Excel
запишитеROW имени, например, тем, что каждый – D ширину0,675ПОИСКПОЗ«400»
«Сахар»Возвращает из ячейки A5ПСТР поиск по шаблону,
Минусы и столбца. В символов. Например, строки массивы элементов «ключ» много, функция=имя_строки имя_столбца(СТРОКА) (смотри Часть
John Doe1 из покупателей заказывал в 250 пикселей2,75в заранее указаннуюпо убыванию. Тольков диапазоне, то
только текст, заключенныйи
т.е. искомое_значение может: Ощутимо тормозит на таком случае напишем «МоСкВа» и «москва» — «значение», функцияЕСЛИ
exceltable.com
Поиск и подстановка по нескольким условиям
Постановка задачи
, например, так: 2). Так, для, несколько видов товаров, и нажмите кнопку250 ячейку выводит наименование для этого нужно вбиваем это наименование в двойные кавычки.ПСТРБ содержать знаки шаблона: больших таблицах (как два нуля. являются равнозначными. Для ПОИСКПОЗ возвращает значение– это не=Lemons Mar ячейкиJohn Doe2 как это видноПеренос текста0,746«Чай» произвести фильтрацию данных
в полебоссили заменить его звездочку (*) и
и все формулыСкачать примеры использования функций различения регистров можно ключа, который явно лучшее решение. Вместо… или наоборот:F4и т.д. Фокус из таблицы ниже:(вкладка «2,57. Действительно, сумма от по возрастанию, а«Искомое значение»Одним из наиболее востребованных с помощью функций знак вопроса (?).
Способ 1. Дополнительный столбец с ключом поиска
массива, впрочем), особенно ИНДЕКС и ПОИСКПОЗ дополнительно использовать функцию не указан. нее можно использовать=Mar Lemonsфункция с нумерацией сделаемОбычная функцияГлавная200 реализации чая (300
в поле. операторов среди пользователейЗАМЕНИТЬ Звездочка соответствует любой если указывать диапазоныПолучили простейшую формулу, помогающую СОВПАД.Например, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит
функциюПомните, что имена строкиНАИМЕНЬШИЙ({массив};1) при помощи функцииВПР», группа «0,835 рублей) ближе всего«Тип сопоставления»
В поле Excel является функцияи последовательности знаков, знак
«с запасом» или вывести максимальное значениеЕсли поиск с использованием элементы, которые можноДВССЫЛ и столбца нужновозвращаетCOUNTIFне будет работатьВыравнивание2,38 по убыванию к
Способ 2. Функция СУММЕСЛИМН
аргументов функции установить«Просматриваемый массив»ПОИСКПОЗЗАМЕНИТЬБ вопроса соответствует любому сразу целые столбцы из массива. Протянем рассматриваемой функции не представить как: 1(INDIRECT), чтобы возвратить разделить пробелом, который1-й(СЧЁТЕСЛИ), учитывая, что по такому сценарию,»).150 сумме 350 рублей значениенужно указать координаты. В её задачи. Эти функции показаны
одиночному знаку. (т.е. вместо A2:A161 ее вправо, получив дал результатов, будет – «виноград», 2 нужный диапазон поиска.
в данном случае(наименьший) элемент массива, имена клиентов находятся поскольку она возвратитСчет0,946 из всех имеющихся«1»
Способ 3. Формула массива
самого диапазона. Его входит определение номера в примере 1Предположим, что имеется перечень вводить A:A и аналогичную информацию по возвращен код ошибки – «яблоко», 3Как Вы, вероятно, знаете, работает как оператор то есть в столбце B: первое найденное значение,Город2,17
- в обрабатываемой таблице. можно вбить вручную,
- позиции элемента в данной статьи. товаров и мы
- т.д.) Многим непривычны цене и сумме. #Н/Д. – «груша», 4 функция пересечения.1
=B2&COUNTIF($B$2:B2,B2) соответствующее заданному искомому
Дата выставления счета100 значений.Урок: но проще установить заданном массиве данных.Важно: не знаем точно формулы массива вЕсли вы продвинутый пользовательЕсли аргумент [тип_сопоставления] явно – «слива», гдеДВССЫЛПри вводе имени, Microsoft. Для ячейки=B2&СЧЁТЕСЛИ($B$2:B2;B2) значению. Например, еслиСамая ранняя счет по1,09Если мы изменим числоСортировка и фильтрация данных курсор в поле Наибольшую пользу она
как записана товарная принципе (тогда вам Microsoft Excel, то не указан или 1, 2, 3,
используется для того, Excel будет показыватьF5После этого Вы можете Вы хотите узнать городу, с датой1,95 в поле в Excel и выделить этот приносит, когда применяетсяЭти функции могут быть позиция относящаяся к сюда).
planetaexcel.ru
должны быть знакомы
Поиск и подстановка по нескольким условиям
Постановка задачи
Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?
Предположим, что у нас есть база данных по ценам товаров за разные месяцы:
Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.
Способ 1. Дополнительный столбец с ключом поиска
Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!
Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:
Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:
Плюсы: Простой способ, знакомая функция, работает с любыми данными.
Минусы: Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).
Способ 2. Функция СУММЕСЛИМН
Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS), появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:
Плюсы: Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.
Минусы: Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).
Способ 3. Формула массива
О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:
- Выделите пустую зеленую ячейку, где должен быть результат.
- Введите в строке формул в нее следующую формулу:
- Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
Как это на самом деле работает:
Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.
Плюсы: Не нужен отдельный столбец, работает и с числами и с текстом.
Минусы: Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).
Ссылки по теме
- Как искать и подставлять данные с помощью функции ВПР (VLOOKUP)
- Что такое формулы массива и как их использовать
- Как использовать связку функций ИНДЕКС и ПОИСКПОЗ вместо ВПР
- Как извлечь сразу все значения, а не только первое с помощью ВПР
В этой статье рассматривается синтаксис функции ПОИСКПОЗ 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 – ИНДЕКС ПОИСКПОЗ пример формулы
Обратите внимание! Количество строк и столбцов в массиве ИНДЕКС должно соответствовать значениям в параметрах номер_строки и/или номер_столбца функции ПОИСКПОЗ соответственно. В противном случае формула вернет неверный результат.
Часто случается так что при считывании значений столбцов таблиц поиск значений для выборки следует выполнять по крайним правым столбцам. Excel предлагает несколько функций возвращающих значения ячеек находящиеся по левой стороне столбца, по которому и выполняется поиск.
Как применить формулу ИНДЕКС и ПОИСКПОЗ в Excel
Ниже на рисунке представлены города и области, в которых находятся магазины сети. Допустим, что после выбора пользователем названия области с выпадающего списка в ячейке G1 должны автоматически заполнится поля «Город» G2 и «№ магазина» G3:
Функция ИНДЕКС возвращает значение ячейки, находящееся в определенной строке и столбце указанного диапазона ячеек. В данном случае в аргументе функции как диапазон ячеек указана исходная таблица магазинов. Во втором аргументе указывается сначала номер строки, а в третьем – номер столбца. В формуле для поиска города значения считываются с первого столбца, поэтому последний аргумент содержит число 1.
Формула для поиска номера магазина по названию города возвращает значения из четвертого столбца:
Поэтому последний аргумент в функции ВПР равен числу 4.
Если диапазон ячеек не начинается с ячейки A1 аргументы, определяющие строку и столбец, не соответствуют номерам строк и столбцов рабочего листа Excel. Отсчет номеров производится, начиная от ячейки левого верхнего угла указанного диапазона (в данном примере это A2) в первом аргументе функции ИНДЕКС. Например, формула =ИНДЕКС(G2:P10;2;2) возвращает значение ячейки H3, которая находится во второй строке второго столбца диапазона G2:P10.
Во втором аргументе функции ИНДЕКС содержится функция ПОИСКПОЗ. В ее аргументах всегда указывается диапазон ячеек, которые содержат только одну строку или один столбец. Если указать диапазон из более чем одной строки или столбца, тогда функция ПОИСКПОЗ возвращает ошибку #Н/Д!
Чтобы получить номер соответствующей строки для функции ИНДЕКС необходимо использовать функцию ПОИСКПОЗ, которая возвращает позицию найденного значения в таблице. Функция ПОИСКПОЗ использует 3 аргумента в своем синтаксисе:
- Искомое значение – то что следует найти.
- Просматриваемый массив – одномерный массив или диапазон ячеек из одной строки или из одного столбца где должно быть найдено искомое значение.
- Тип сопоставления – точность соответствия (необязательный аргумент для заполнения), при точном соответствии указывается значение ЛОЖЬ или 0. Если требуется неточное совпадение значений, тогда ИСТИНА или 1.
В данном примере искомым значением выступает название области указана в ячейке G1. Данное значение формула ищет в списке областей диапазона C2:C11. Функция ПОИСКПОЗ поочередно проверяет все ячейки, пока не найдет строку «Свердловская», находящееся на 5-ой позиции. После чего данная функция возвращает значение 5, которое будет использовано как второй аргумент с номером строки для функции ИНДЕКС.
После возвращения результата через функцию ПОИСКПОЗ функция ИНДЕКС будет иметь все необходимые данные для отображения соответственного значения. Перейдет на 5-тую строку диапазона ячеек и выберет значение из первого столбца «Город» или из четвертого «№ магазина».
Внимание! Если в аргументах функции ИНДЕКС указать номер строки больше чем количество строк в диапазоне ячеек или номер столбца больше чем количество столбцов, тогда функция возвращает ошибку #ССЫЛКА!
Как сделать выборку из списка формулой ПРОСМОТР в Excel
Формула из комбинации функций ИНДЕКС и ПОИСКПОЗ – это самая популярный тип формул для поиска значений в таблице Excel. Значительно реже используется функция ПРОСМОТР. В ее синтаксисе используется 3 аргумента:
- Искомое значение – значение позицию которого необходимо найти.
- Просматриваемый вектор – одномерный массив или диапазон ячеек из одной строки или из одного столбца где будет вестись поиск искомого значения.
- Вектор результатов — одномерный массив или диапазон ячеек из одной строки или из одного столбца из которого следует вернуть результат (необязательный для заполнения).
Внимание! Сразу же отметим недостатки функции ПРОСМОТР, а они весьма существенные:
- Нет возможности установить точное совпадение как в функциях ВПР, ГПР и ПОИСКПОЗ.
- Просматриваемый одномерный массив вектора должен быть отсортирован по возрастанию иначе функция будет возвращать ошибочные результаты как оказано на рисунке:
Поэтому сначала перед применением функции отсортируем просматриваемый диапазон вектора по возрастанию. Следующие две формулы предназначены для альтернативного поиска города:
И соответственного номера магазина:
Таблица пересортирована по диапазону C2:C11 по возрастанию и теперь все работает как надо.
Первые два аргумента функции ПРОСМОТР такие же, как и у функции ПОИСКПОЗ. Эти две функции работают по одному и тому же принципу. То есть ищет заданное значение в одном направлении вектора. Отличие в том, что она возвращает не позицию где находится найденная ячейка в диапазоне с нужным значением, а содержимое соответственной ячейки находящиеся на позиции (указанной в векторе результатов) от нее. Ну и не стоит забывать, что для функции ПРОСМОТР нужно сортировать таблицу по возрастанию просматриваемого диапазона и у нее нет аргумента точности совпадения при поиске значений.
Чтобы найти необходимый город, функция ПРОСМОТР сначала определяет, что строка «Свердловская» находится на 10-ой позиции (после сортировки таблицы) просматриваемого вектора по диапазону C2:C11. После формула чего возвращает содержимое 10-ой ячейки, но уже по вектору в диапазоне A2:A11. Аналогичным принципом функция ищет номер магазина, но там результирующий вектор – это уже диапазон D2:D11.
Всем привет. В Сегодняшнем нашем уроке мы поговорим про достаточно известную функцию в Excel – ПОИСКПОЗ. Я постараюсь все рассказывать на конкретных примерах, чтобы вам было понятнее. Также мы рассмотрим не только функцию поиска позиции в Excel, но и работу её при комбинации с другими инструментами, а в частности с ИНДЕКС. Урок достаточно сложный, поэтому я постарался описать все как можно подробнее. Я вам настоятельно рекомендую читать очень внимательно и не пропускать ни одной строчки. Если же у вас возникнут дополнительные вопросы, или что-то будет непонятно – пишите в комментариях, и я вам помогу.
Содержание
- Как работает оператор ПОИСКПОЗ
- Пример 1: Поиск адреса элемента
- Пример 2: Поиск товара и использование адресов
- Пример 3: Работа с числовыми значениями
- Пример 4: Использование с другими функциями
- Задать вопрос автору статьи
Как работает оператор ПОИСКПОЗ
ПРИМЕЧАНИЕ! Если вам что-то будет в этой главе не понятно, не переживайте, мы еще раз все повторим на примерах. Ваша задача внимательно прочесть эту главу и попытаться уловить саму суть. Саму структуру мы уже разберем далее.
ПОИСКПОЗ – это специальная функция, которая работает с массивами данных и выводит информацию о положении элемента в массиве. Например, вам нужно найти какой-то элемент, строчку или число, которое находится в определенном списке. ПОИСКПОЗ выводит номер позиции, в котором находится этот элемент. Тут нужно понимать, что функция возвращает именно номер позиции, а не адрес ячейки. Чуть далее вы поймете, как это работает.
Теперь давайте рассмотрим синтаксис:
=ПОИСКПОЗ(Значение;Массив; [Точность поиска])
- Значение – это тот элемент, которые мы хотим найти. Может принимать любые значения от цифирного и символьного до логического или адреса ячейки.
- Массив – это диапазон ячеек, среди которых и будет искать функция ПОИСКПОЗ.
- Точность поиска – этот аргумент указывает на то, насколько точным должно быть значение, которые мы ищем. Может принимать три значения. «1» – если данный элемент не найден по точному значению, то выводит информацию о максимально приближенном по убиванию. «-1» – то же самое что и «1», но выводит максимально приближенное по возрастанию. «0» – ищет только точные совпадения. Данные аргумент не является обязательным и его можно опустить из функции.
Если функция не находит совпадений, то выводит:
#Н/Д
Если в массиве присутствует сразу несколько одинаковых элементов, то он выводит адрес ячейки самого первого. Как правило, данная функция не используется отдельно – только вкупе с другими функциями для работы с адресами ячеек и массивами.
Пример 1: Поиск адреса элемента
В первом примере мы рассмотрим, как именно вообще работает функция, как её заполнять и что она возвращает. Представим себе, что нам нужно среди множества товаров найти адрес массива со значением «Молоко».
- Поставьте курсор в любую свободную ячейку, куда мы хотим вывести эти данные.
- Далее рядом со строкой значений кликните по значку «Вставка функции».
- Ставим «Категорию» – «Ссылки и массивы».
- Ищем нашу функцию, выделяем её и жмем «ОК».
- Теперь уже заполняем значения. В первой строке указываем адрес элемента, который мы хотим найти. Вы можете указать как адрес, кликнув мышкой, так и вписать вручную – например:
“Молоко”
- Далее ниже указываем диапазон адресов – их можно выбрать мышкой, или вписать вручную. Например:
A2:A6
- «Тип_сопоставления» – это как раз та самая точность. Так как мы работаем с текстом, то лучше указать полную точность:
0
- Жмем «ОК».
Обратите внимание, что функция выводит адрес относительно массива, а не адрес ячейки. То есть «Молоко» находится в 4 строке, но в массиве товаров адрес – 3. Об этом нужно всегда помнить.
Пример 2: Поиск товара и использование адресов
Прошлый пример нам дал понять, как именно работает функция. Но работать с ней таким образом не очень удобно. Давайте рассмотрим еще один простой пример, где мы сможем немного автоматизировать процесс, дабы не вызывать эту функцию по отдельности для каждого элемента.
- Давайте создадим еще две строки – «Поиск товара» и «Адрес». Первую строку мы будем использовать в качестве исходного значения, которое в любой момент будет меняться. Для примера введем туда название любого элемента из массива.
- Теперь ставим курсор в поле «Адрес» и вставляем нашу функцию.
- По сути, мы делаем все то же самое, только вместо «Искомого значения» мы используем адрес соседней ячейки.
Теперь вы можете изменять элемент, и адрес автоматически будет пересчитываться. Это удобно, когда вы работаете с большими массивами и данными. Попробуйте на практике поизменять значения элемента, который мы хотим найти, на другое.
Пример 3: Работа с числовыми значениями
С текстом и символами работать куда проще, так как, обычно нам нужно найти элементы с точным совпадением. Давайте же посмотрим пример работы с числами и примерными значениями. Наша задача найти товар с прибылью 30 000 или с максимально приближенным значением.
- Так функция работает последовательно и выводит адрес элемента, который подходит лучше всего – нам нужно отсортировать колонку. Выделите колонку с цифрами, нажав по букве сверху.
- Перейдите на вкладку «Главная».
- Теперь справа в разделе «Редактирование» находим значок «Сортировка и фильтр» и выбираем «Сортировка по убыванию».
- Оставляем настройку по умолчанию и жмем по кнопке сортировки. Вы увидите, что сортировка произошла также со строками.
- Выбираем любую ячейку и вставляем в неё функцию.
- Теперь вставляем в первую строчку наше приближенное значение, которое мы хотим найти. Указываем диапазон массива. И в конце ставим «-1», чтобы также попробовать найти не точное совпадение, а приближенное.
- И мы нашли товар с прибылью, приближенную к 30 000 – им оказалось «Молоко».
А теперь попробуйте взять 2-ой пример с автоматизацией и двумя дополнительными ячейками и применить его к данной ситуации с числами. Еще один момент – если вы сортируете числа по возрастанию, то используем значение «1». На самом деле это самая сложная часть этой функции и нужно будет несколько раз попрактиковаться, чтобы понять – как именно она работает.
Пример 4: Использование с другими функциями
Как же нам в Excel найти значение в диапазоне по конкретному условию? – для этого мы будем использовать дополнительную функцию ИНДЕКС. ИНДЕКС – это функция, которая выводит значение ячейки массива по заданному адресу строки или столбца. Синтаксис достаточно простой:
=ИНДЕКС(массив;номер_строки;номер_столбца)
Если вам пока ничего не понятно, не стоит переживать – сейчас мы все разберем на примере. В нашем примере – наша задача вывести не просто адрес массива, а наименование товара, которое имеет приближенную сумму к числу 32 000.
- Давайте теперь попробуем отсортировать сумму по возрастанию – аналогично выделяем весь столбец.
- Выбираем «Сортировку по возрастанию».
- В качестве суммы мы будем использовать значение – 32 000. Теперь нам нужно найти товар – вставляем туда функцию.
- Используем:
ИНДЕКС
- Нам нужна обычная формула, поэтому оставьте настройки по умолчанию.
- В качестве массива указываем диапазон товаров.
- В «Номер строки» нам нужно вписать уже формулу ПОИСКПОЗ. В качестве значения, по которому мы будем искать, указываем соседнюю строку 32 000. Далее указываем диапазон всех сумм. В конце ставим «1», так как мы до этого делали сортировку по возрастанию (вспоминаем прошлый пример). «Номер столбца» не указываем.
Далее он выведет правильную информацию. Если вы посмотрите на картинку ниже, то вы можете немного запутаться – почему «Хлеб», который имеет сумму «23013» максимально приближен к 32 000, а не «Молоко» с суммой в «33670».
Все дело в сортировке. Тут вы должны уяснить и понять, каким образом работает функция ПОИСКПОЗ. При выставлении в формуле аргумента «1» – он возвращает самое близкое к этому по убыванию, а это как раз 23013.
Если вы попытаетесь поставить аргумент «-1», то, скорее всего, вы увидите ошибку, так как сортировка идет по возрастанию. Если же вы хотите получить значение «Молоко», то нужно сначала отсортировать товары по убыванию, а потом использовать эту формулу с аргументом «-1».
Я понимаю, что понять это сразу достаточно сложно, поэтому я вам советую потренироваться и попробовать оба варианта с различными аргументами. Таким образом вы сможете понять логику функции и сможете её применять в ваших примерах и задачах. Лучше всего использовать вместе формулы индекса и поиска позиции в Эксель – да так сложнее, но в итоге вы и поймете, как их обычно используют на практике.
На этом все, дорогие читатели портала WiFiGiD.RU. Я понимаю, что урок получился достаточно сложный. Если что-то было непонятно, или вам нужно что-то объяснить – пишите свои вопросы в комментариях, и я вам помогу.
Ссылка на это место страницы:
#title
- Получить первое не пустое значение в списке
- Получить первое текстовое значение в списке
- Получить первое текстовое значение с ГПР
- Получить позицию последнего совпадения
- Получить последнее совпадение содержимого ячейки
- Получить n-е совпадение
- Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ
- Получить n-ое совпадение с ВПР
- Если ячейка содержит одну из многих вещей
- Поиск первой ошибки
- Поиск следующего наибольшего значения
- Несколько совпадений в списке, разделенных запятой
- Частичное совпадение чисел с шаблоном
- Частичное совпадение с ВПР
- Положение первого частичного совпадения
- Скачать файл
Ссылка на это место страницы:
#punk01
{ = ИНДЕКС( диапазон ; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( диапазон ); 0 )) }
{ = INDEX( диапазон ; MATCH( FALSE; ISBLANK ( диапазон ); 0 )) }
Если вам нужно получить первое не пустое значение (текст или число) в диапазоне в одной колонке вы можете использовать формулу массива на основе функций ИНДЕКС, ПОИСКПОЗ и ЕПУСТО.
В данном примере мы используем эту формулу:
{ = ИНДЕКС( B3: B11; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( B3: B11 ); 0 )) }
{ = INDEX( B3:B11; MATCH( FALSE; ISBLANK ( B3:B11 ); 0 )) }
Таким образом, суть проблемы заключается в следующем: мы хотим получить первую не пустую ячейку, но для этого нет конкретной формулы в Excel. Мы могли бы использовать ВПР с шаблоном *, но это будет работать только для текста, а не для чисел.
Таким образом, нам нужно строить функциональные возможности для нужных нам формул. Способ сделать это состоит в использовании функции массива, которая «тестирует» ячейки и возвращает массив истина/ложь значения, которые мы можем сопрягать с ПОИСКПОЗ.
Работая изнутри, ЕПУСТО оценивает ячейки в диапазоне В3: В11 и возвращает результат и массив, который выглядит следующим образом:
{ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА}
Каждая ЛОЖЬ представляет собой ячейку в диапазоне, который не является пустой.
Далее, ПОИСКПОЗ ищет ЛОЖЬ внутри массива и возвращает позицию первого наденного совпадения, в этом случае 2. На данный момент, формула в примере теперь выглядит следующим образом:
{ = ИНДЕКС( B3: B11; 2; 0 )) }
{ = INDEX( B3:B11; 2; 0 )) }
И, наконец, функция ИНДЕКС выводит значение в положении 2 в массиве, в этом случае число 10.
Ссылка на это место страницы:
#punk02
= ВПР ( «*»; диапазон; 1; ЛОЖЬ)
= VLOOKUP ( «*»; диапазон; 1; FALSE)
Если вам нужно получить первое текстовое значение в списке (диапазон один столбец), вы можете использовать функцию ВПР, чтобы установить точное соответствие, с шаблонным символом для поиска.
В данном примере формула в D7 является:
= ВПР ( «*» ; B5: B11 ; 1 ; ЛОЖЬ)
= VLOOKUP ( «*» ; B5:B11 ; 1 ; FALSE)
Групповой символ звездочка (*) соответствует любому текстовому значению.
Ссылка на это место страницы:
#punk03
= ГПР ( «*»; диапазон; 1; ЛОЖЬ)
= HLOOKUP ( «*»; диапазон; 1; FALSE)
Для поиска и получения первого текстового значения во всем диапазоне столбцов, вы можете использовать функцию ГПР с групповым символом. В примере формула в F5 является:
= ГПР ( «*»; диапазон; 1; ЛОЖЬ)
= HLOOKUP ( «*»; диапазон; 1; FALSE)
Значение поиска является «*», групповым символом, который соответствует одному или более текстовому значению.
Ссылка на это место страницы:
#punk04
= ГПР ( «*»; диапазон; 1; ЛОЖЬ)
= HLOOKUP ( «*»; диапазон; 1; FALSE)
Для того, чтобы получить позицию последнего совпадения (т.е. последнего вхождения) от значения поиска, вы можете использовать формулу, основанную на ЕСЛИ, СТРОКА, ИНДЕКС, ПОИСКПОЗ и MAКС функций.
=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))
=MAX(IF(B4:B11=G5;ROW(B4:B11)-ROW(INDEX(B4:B11;1;1))+1))
Суть этой формулы состоит в том, что мы строим список номеров строк для данного диапазона, соответствующие по значению, а затем используем функцию MAКС, чтобы получить наибольшее количество строк, что соответствует последнему значению соответствия.
Ссылка на это место страницы:
#punk05
=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))
=MAX(IF(B4:B11=G5;ROW(B4:B11)-ROW(INDEX(B4:B11;1;1))+1))
Чтобы проверить ячейку для одной из нескольких вещей, и вернуть последнее совпадение, найденное в списке, вы можете использовать формулу, основанную на ПРОСМОТР и ПОИСК функций. В случае нескольких найденных совпадений, формула вернет последнее совпадение из списка «вещей».
=ПРОСМОТР(2;1/ПОИСК($E$4:$E$7;B4);$E$4:$E$7)
=LOOKUP(2;1/SEARCH($E$4:$E$7;B4);$E$4:$E$7)
Ссылка на это место страницы:
#punk06
= НАИМЕНЬШИЙ( ЕСЛИ( логический тест; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); n )
= SMALL( IF( логический тест; СТРОКА( список ) — MIN( ROW( список )) + 1 ); n )
Для того, чтобы получить позицию n-го совпадения (например, второе значение соответствия заданному, третье значение соответствия и т.д.), вы можете использовать формулу, основанную на функции НАИМЕНЬШИЙ.
= НАИМЕНЬШИЙ( ЕСЛИ( список = E5 ; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); F5 )
= SMALL( IF( список = E5 ; ROW( список ) — MIN( ROW( список )) + 1 ); F5 )
Эта формула возвращает позицию второго появления «красных» в списке.
Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.
Ссылка на это место страницы:
#punk07
{ = ИНДЕКС( массив; НАИМЕНЬШИЙ( ЕСЛИ( величины = знач ; СТРОКА ( величины ) — СТРОКА ( ИНДЕКС( величины; 1 ; 1 )) + 1 ); n-й )) }
{ = INDEX( массив; SMALL( IF( величины = знач ; ROW ( величины ) — ROW ( INDEX( величины; 1 ; 1 )) + 1 ); n-й )) }
Эта формула возвращает позицию второго появления «красных» в списке.
Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.
Ссылка на это место страницы:
#punk08
= ВПР( id_формулы; стол; 4; 0 )
= VLOOKUP( id_формулы; стол; 4; 0 )
Чтобы получить n-ое совпадение с ВПР, вам необходимо добавить вспомогательный столбец в таблицу , которая строит уникальный идентификатор , который включает счетчик.
Эта формула зависит от вспомогательного столбца, который добавляется в качестве первого столбца таблицы исходных данных.
Вспомогательный столбец содержит формулу, которая строит уникальное значение взгляда вверх от существующего идентификатора и счетчика. Счетчик подсчитывает сколько раз уникальный идентификатор появился в таблице данных.
В примере, формула ячейки J6 вспомогательного столбца выглядит следующим образом:
=ВПР(J3&»-«&I6;B4:G11;4;0)
=VLOOKUP(J3&»-«&I6;B4:G11;4;0)
Ссылка на это место страницы:
#punk09
{ = ИНДЕКС( результаты ;ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК( вещи ; A1 )); 0 )) }
{ = INDEX( результаты ;MATCH( TRUE ; ISNUMBER( SEARCH( вещи ; A1 )); 0 )) }
Чтобы проверить ячейку для одной из нескольких вещей, и вернуть пользовательский результат для первого найденного совпадения, вы можете использовать формулу ИНДЕКС/ПОИСКПОЗ, основанную на функции поиска.
{ = ИНДЕКС( результаты ; ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК ( вещи ; B5 )); 0 )) }
= INDEX( результаты ; MATCH( TRUE ; ISNUMBER( SEARCH ( вещи ; B5 )); 0 ))
Эта формула использует два названных диапазона: E5: E8 называется «вещи» и F5: F8 называется «Результаты». Убедитесь, что вы используете диапазоны имен с одинаковыми именами (на основе ваших данных). Если вы не хотите использовать именованные диапазоны, используйте абсолютные ссылки вместо этого.
Ссылка на это место страницы:
#punk10
{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА(диап ); 0 ) }
{ = MATCH( TRUE ; ISERROR(диап ); 0 ) }
Если вам нужно найти первую ошибку в диапазоне ячеек, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ЕОШИБКА функциях.
В приведенном примере формула:
{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА( B4: B11 ); 0 ) }
{ = MATCH( TRUE ; ISERROR( B4:B11 ); 0 ) }
Работая изнутри, функция ЕОШИБКА возвращает значение ИСТИНА, если значение является признанной ошибкой, и ЛОЖЬ, если нет.
Когда дается диапазон ячеек (массив ячеек) функция ЕОШИБКА будет возвращать массив истина/ложь значений. В примере, это результирующий массив выглядит следующим образом:
{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ}
Обратите внимание, что 6-е значение (что соответствует 6-й ячейке в диапазоне) истинно, так как ячейка В9 содержит #Н/A.
Ссылка на это место страницы:
#punk11
=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )
=INDEX ( данные; MATCH( поиск ; значения ) + 1 )
Для того, чтобы найти «следующее наибольшее» значение в справочной таблице, можно использовать формулу, основанную на ИНДЕКС и ПОИСКПОЗ. В примере формула в F6 является:
=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )
=INDEX ( данные; MATCH( поиск ; значения ) + 1 )
Ссылка на это место страницы:
#punk12
{ = ОБЪЕДИНИТЬ ( «;» ; ИСТИНА ; ЕСЛИ( диапазон1 = E5 ; диапазон2 ; «» )) }
{ = ОБЪЕДИНИТЬ ( «;» ; TRUE ; IF( диапазон1 = E5 ; диапазон2 ; «» )) }
Для поиска и извлечения нескольких совпадений, разделенных запятыми (в одной ячейке), вы можете использовать функцию ЕСЛИ с функцией ОБЪЕДИНИТЬ.
{ = ОБЪЕДИНИТЬ( «;» ; ИСТИНА ; ЕСЛИ( группа = E5 ; имя ; «» )) }
Эта формула использует «имя» — именованный диапазон (B5: B11) и «группа» — (C5: C11).
Ссылка на это место страницы:
#punk13
{ = ПОИСКПОЗ( «*» & номер & «*» ; ТЕКСТ( диапазон ; «0» ); 0 ) }
{ = MATCH( «*» & номер & «*» ; TEXT( диапазон ; «0» ); 0 ) }
Для того, чтобы выполнить частичное совпадение (подстроки) против чисел, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ТЕКСТ.
Excel поддерживает символы подстановки «*» и «?». Тем не менее, если вы используете специальные символы с номером, вы будете преобразовывать числовое значение в текстовое значение. Другими словами, «*» & 99 & «*» = «* 99 *» (текстовая строка).
Если попытаться найти текстовое значение в диапазоне чисел, совпадение завершится неудачно.
Одно из решений заключается в преобразовании чисел в диапазоне поиска для текстовых значений, а затем сделать нормальный поиск с ПОИСКПОЗ, ВПР и т.д.
Другой способ, чтобы преобразовать числа в текст, чтобы сцепить пустую строку. Эта формула работает так же, как выше формуле:
= ПОИСКПОЗ ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )
= MATCH ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )
Ссылка на это место страницы:
#punk14
Если вы хотите получить информацию из таблицы на основе частичного совпадения, вы можете сделать это с помощью ВПР в режиме точного соответствия, и групповые символы.
В примере формула ВПР выглядит следующим образом:
=ВПР($H$2&»*»;$B$3:$E$12;2;0)
=VLOOKUP($H$2&»*»;$B$3:$E$12;2;0)
В этой формуле, значение представляет собой именованный диапазон, который относится к Н2, а также данные , представляет собой именованный диапазон , который относится к B3: E102. Без названных диапазонов, формула может быть записана следующим образом:
Ссылка на это место страницы:
#punk15
= ПОИСКПОЗ ( «* текст *» ; диапазон; 0 )
= MATCH ( «* текст *» ; диапазон; 0 )
Для того, чтобы получить позицию первого частичного совпадения (то есть ячейку, которая содержит текст, который вы ищете), вы можете использовать функцию ПОИСКПОЗ со специальными символами.
=ПОИСКПОЗ(«*»&E6&»*»;B5:B10;0)
=MATCH(«*»&E6&»*»;B5:B10;0)
Функция ПОИСКПОЗ возвращает позицию или «индекс» в первом совпадении на основании значения поиска в диапазоне.
ПОИСКПОЗ поддерживает подстановочное согласование со звездочкой «*» (один или несколько символов) или знаком вопроса «?» (один символ), но только тогда, когда третий аргумент, тип_сопоставления, установлен в ЛОЖЬ или ноль.
Ссылка на это место страницы:
#punk16
Файлы статей доступны только зарегистрированным пользователям.
1. Введите свою почту
2. Нажмите Зарегистрироваться
3. Обновите страницу
Вместо этого блока появится ссылка для скачивания материалов.
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель — помочь вам эффективнее работать в 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 рассказывается в представленном видеоролике.
Заключение
Мы рассмотрели основные случаи использования оператора ПОИСКПОЗ. Теперь вы сможете применять его по назначению и комбинировать с подходящими функциями.