Поиск позиции в excel по нескольким условиям на разных листах

Skip to content

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Постановка задачи

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

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

vlookup-2cols1.png

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

Способ 1. Дополнительный столбец с ключом поиска

Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!

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

vlookup-2cols2.png

Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:

vlookup-2cols3.png

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

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

Способ 2. Функция СУММЕСЛИМН

Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS), появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:

vlookup-2cols4.png

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

Минусы: Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).

Способ 3. Формула массива

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

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

    vlookup-2cols6.png

  3. Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.

Как это на самом деле работает:

Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.

Плюсы: Не нужен отдельный столбец, работает и с числами и с текстом.

Минусы: Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).

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

  • Как искать и подставлять данные с помощью функции ВПР (VLOOKUP)
  • Что такое формулы массива и как их использовать
  • Как использовать связку функций ИНДЕКС и ПОИСКПОЗ вместо ВПР
  • Как извлечь сразу все значения, а не только первое с помощью ВПР

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

​Смотрите также​Acya96​1 – Поиск наибольшего​ массив. Функция ЕНД​ быть представлены как​​ аргументов и выполнения​​ внутри хранит и​ диапазон или массив​О том, как спользовать​), т.е. получить на​ чтобы столбец, по​В области​​ столбец, из которого​​ по горизонтали по​)​ поиск по шаблону,​ функция ПОИСКПОЗ() находит​​Функция ПОИСКПОЗ(), английский вариант​​: Всем доброй ночи!​​ ближайшего значения заданному​​ возвратит значение ЛОЖЬ,​ массивы элементов «ключ»​ функции в массиве.​ обрабатывает даты как​

​ (строка или столбец),​ связку функций​ выходе​ которому производится поиск,​Доступные надстройки​ возвращается значение. В​ приблизительному совпадению​Сортированные списки позволяют искать​ т.е. искомое_значение может​ первое значение, которое​ MATCH(), возвращает позицию​Задали задачку, никак​ первым аргументом в​ если она не​ — «значение», функция​ Для этого:​ числа, то подобный​ где производится поиск​

Синтаксис функции

​ИНДЕКС (INDEX)​​152​

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

​В ячейку B16 введите​​ подход на 100%​Режим_поиска​и​​, но автоматически, т.е.​​ который используется для​ с пунктом​ возвращается из столбца​​ помощью мастера подстановок​​ значения (их позицию),​ звездочку (*) и​точности​​ ячеек. Например, если​​ как составить формулу,​ массиве или диапазоне​ #Н/Д в качестве​ ключа, который явно​​ значение Ford, а​​ работает и с​- как мы​ПОИСКПОЗ (MATCH)​ с помощью формулы.​

​ вывода. Обойти это​​Мастер подстановок​ D​​ (только Excel 2007)​​ но и позицию​ знак вопроса (?).​​равно аргументу​​ в ячейке​ используя ИНДЕКС и​​ ячеек.​

  • ​ аргумента. В этом​​ не указан.​​ в ячейку C16​ датами. Например, мы​ ищем: точно (0),​в качестве более​​ ВПР в чистом​​ ограничение позволяет, например,​​и нажмите кнопку​​Продажи​Для решения этой задачи​
  • ​ ближайшего значения. Например,​ Звездочка соответствует любой​искомое_значениеПросматриваемый_массив​А10​ ПОИСКПОЗ, если даны​​Примечания:​​ случае функция ЕСЛИ​Например, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит​ название интересующего нас​ можем легко определить​ с округлением в​ мощной альтернативы ВПР​​ виде тут не​​ вариант с использованием​ОК​.​
  • ​ можно использовать функцию​​ в списке на​​ последовательности знаков, знак​может быть не​содержится значение «яблоки»,​ 4 условия. При​Если в качестве аргумента​​ вернет текстовую строку​​ элементы, которые можно​ отдела – Маркетинговый.​ на каком этапе​ большую строну (-1)​ я уже подробно​ поможет, но есть​

​ функций ИНДЕКС() и​.​К началу страницы​

​ ВПР или сочетание​ картинке ниже нет​ вопроса соответствует любому​ упорядочен.​

Поиск позиции в массивах с текстовыми значениями

​ то формула =ПОИСКПОЗ​ этом в ответе​ искомое_значение была передана​​ «есть», иначе –​​ представить как: 1​

​В ячейку C17 введите​ сейчас находится наш​ или в меньшую​

​ описывал (с видео).​ несколько других способов​

​ ПОИСКПОЗ(). Эквивалентная формула​Следуйте инструкциям мастера.​Для выполнения этой задачи​ функций ИНДЕКС и​ значения 45, но​ одиночному знаку.​

​Если тип_сопоставления равен 1,​ («яблоки»;A9:A20;0) вернет 2,​ должна быть фраза​ текстовая строка, функция​ «нет».​

​ – «виноград», 2​ функцию со следующими​ проект:​ сторону (1)​ В нашем же​ решить эту задачу.​ приведена в статье​К началу страницы​​ используется функция ГПР.​​ ПОИСКПОЗ.​

​ можно найти позицию​Предположим, что имеется перечень​ то функция ПОИСКПОЗ()​ т.е. искомое значение​

Поиск позиции в массиве констант

​ «есть/нет». Если просто​ ПОИСКПОЗ вернет позицию​Чтобы вычислить остальные значения​ – «яблоко», 3​ аргументами:​Принципиальное ограничение функции​Давайте рассмотрим несколько полезных​

Поиск позиции с использованием подстановочных знаков

​ случае, можно применить​Это самый очевидный и​ о функции ВПР().​Для нахождения позиции значения​ См. пример ниже.​Дополнительные сведения см. в​ наибольшего значения, которое​ товаров и мы​ находит наибольшее значение,​ «яблоки» содержится во​ вписывать в формулу​ элемента в массиве​ «протянем» формулу из​

​ – «груша», 4​После ввода для подтверждения​ПОИСКПОЗ​ вариантов ее применения​ их для поиска​ простой (хотя и​Задача подразумевает, что диапазон​

​ в столбце, с​Функция ГПР выполняет поиск​ разделе, посвященном функции​ меньше либо равно,​ не знаем точно​ которое меньше либо​ второй ячейке диапазона​

​ всю таблицу, а​ (если такой существует)​ ячейки C2 вниз​ – «слива», где​​ функции нажмите комбинацию​​состоит в том,​ на практике.​

Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию

​ по нескольким столбцам​ не самый удобный)​ поиска содержит неповторяющиеся​ последующим выводом соответствующего​ по столбцу​ ВПР.​

​ чем искомое значение,​ как записана товарная​​ равно, чем​​A9:A20А9​ потом в поискпоз​

​ без учета регистра​ для использования функции​ 1, 2, 3,​ горячих клавиш CTRL+SHIFT+Enter,​

​ что она умеет​

​Классический сценарий — поиск​ в виде формулы​ способ. Поскольку штатная​ значения. В самом​ значения из соседнего​Продажи​Что означает:​​ т.е. позицию значения​​ позиция относящаяся к​искомое_значениеПросматриваемый_массив​- первая ячейка​ забивать условия -​ символов. Например, строки​ автозаполнения. В результате​

​ 4 – ключи,​ так как она​

​ искать только в​

​ точного текстового совпадения​ массива. Для этого:​ функция​ деле, если критерию​ столбца в EXCEL,​

Поиск позиции в массивах с Числами

​и возвращает значение​=ИНДЕКС(нужно вернуть значение из​ 40.​ яблокам: яблоки или​​должен быть упорядочен​​ (предполагается, что в​

​ получается полная фигня.​ «МоСкВа» и «москва»​ получим:​

​ а названия фруктов​ должна выполнятся в​ одномерных массивах (т.е.​

​ для нахождения позиции​​Выделите пустую зеленую ячейку,​​ВПР (VLOOKUP)​ удовлетворяет сразу несколько​ существует специальная функция​ из строки 5 в​

​ C2:C10, которое будет​Это можно сделать с​ яблоко.​ по возрастанию: …,​​ ней не содержится​​ И не проще​

​ являются равнозначными. Для​Как видно, третьи элементы​ – значения. Тогда​ массиве. Если все​ строчке или столбце),​ нужного нам текста​ где должен быть​умеет искать только​ значений, то из​ ВПР(), но для​ указанном диапазоне.​ соответствовать ПОИСКПОЗ(первое значение​ помощью формулы =ПОИСКПОЗ(45;B31:B37;1)​В качестве критерия можно​

​ -2, -1, 0,​ значение «яблоки»),​

​ ли в ВПР​ различения регистров можно​ списков не совпадают.​

​ функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет​ сделано правильно в​ но никто не​ или числа в​ результат.​ по одному столбцу,​ какой строки выводить​ ее решения можно​Дополнительные сведения см. в​ «Капуста» в массиве​

Функции ПОИСКПОЗ() и ИНДЕКС()

​Обратите внимание, что тип​ задать»яблок*» и формула​ 1, 2, …,​А10​ просто сделать? В​ дополнительно использовать функцию​Пример 3. Найти ближайшее​ значение 2, являющееся​

​ строке формул появятся​ запрещает использовать сразу​ списке:​Введите в строке формул​

​ а не по​

​ соответствующее ему значение​ использовать также и​ разделе, посвященном функции​ B2:B10))​

​ сопоставления =1 (третий​ =ПОИСКПОЗ(«яблок*»;B53:B62;0) вернет позицию​ A-Z, ЛОЖЬ, ИСТИНА.​- вторая,​

​ самом файле есть​ СОВПАД.​ меньшее числу 22​ ключом второго элемента.​ фигурные скобки.​ два​

excel2.ru

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

​Если в качестве искомого​ в нее следующую​ нескольким, то нам​ из соседнего столбца?​ другие функции. Рассмотрим​ ГПР.​Формула ищет в C2:C10​ аргумент функции).​ текстового значения, начинающегося​ Если​А11​ и основная таблица​Если поиск с использованием​ в диапазоне чисел,​ Отсчет выполняется не​Как видно функция самостоятельно​ПОИСКПОЗ​ значения задать звездочку,​ формулу:​ нужно из нескольких​

В этой статье

​ Если все же​ задачу в случае​К началу страницы​

​ первое значение, соответствующее​3. Поиск позиции в​ со слова яблок​

​тип_сопоставления​- третья и​ и, собственно, условия,​ рассматриваемой функции не​

​ хранящихся в столбце​ с 0 (нуля),​ справилась с решением​

​а вложенных в​ то функция будет​Нажмите в конце не​

​ сделать один!​ диапазон поиска содержит​ текстовых значений.​

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

​Для выполнения этой задачи​ значению​ списке отсортированном по​ (если она есть​опущен, то предполагается,​

Примеры функции ВПР

Пример 1 функции ВПР

Пример 2 функции ВПР

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

Примеры функций ИНДЕКС и ПОИСКПОЗ

Функции ИНДЕКС и ПОИСКПОЗ можно использовать вместо функции ВПР

​ таблицы Excel.​

​ как это реализовано​ поставленной задачи.​ИНДЕКС​ искать первую ячейку​ Enter, а сочетание​

​Добавим рядом с нашей​ повторяющиеся значения, то​Пусть в диапазоне​​ используется функция ГПР.​​Капуста​ убыванию выполняется аналогично,​ в списке).​​ что он равен​​ производится от верхней​

​Спасибо за любую​ возвращен код ошибки​Вид исходной таблицы данных:​

​ во многих языках​

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

​​, чтобы реализовать двумерный​

​ с текстом и​​Ctrl+Shift+Enter​ таблицей еще один​ второй столбец из​

Пример формулы ВПР для поиска неточного совпадения

​А4:В15​Важно:​(B7), и возвращает​ но с типом​Подстановочные знаки следует использовать​ 1.​​ ячейки).​​ помощь и комментарии!​ #Н/Д.​Для поиска ближайшего большего​ программирования при работе​Чтобы функция ПОИСКПОЗ работала​ поиск по строке​ выдавать её позицию.​, чтобы ввести формулу​ столбец, где склеим​​ таблицы выше поясняет​​имеется таблица с​

​  Значения в первой​ значение в ячейке​ сопоставления = -1.​

​ только для поиска​

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

​Если​Функция ПОИСКПОЗ() возвращает позицию​vikttur​

​Если аргумент [тип_сопоставления] явно​​ значения заданному во​ с массивами, а​ с таблицей с​ и столбцу одновременно:​ Для поиска последней​ не как обычную,​ название товара и​ какое значение будет​ перечнем сотрудников и​ строке должны быть​ C7 (​

Пример функций СМЕЩ и ПОИСКПОЗ

​ В этом случае​​ позиции текстовых значений​тип_сопоставления​ искомого значения, а​

​: Странное желание… Но​​ не указан или​​ всем столбце A:A​ с 1.​ двумя столбцами как​Во многих поисковых формулах​ текстовой ячейки можно​

​ а как формулу​​ месяц в единое​ выведено (обычно возвращается​ их зарплат (фамилии​ отсортированы по возрастанию.​100​ функция ПОИСКПОЗ() находит​ и​равен -1, то​ не само значение.​​ если нужно (простая,​​ принимает число 0,​

​ (числовой ряд может​

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

​Функция ПОИСКПОЗ редко используется​ с одним мы​ очень часто приходится​

Пример формулы ГПР для поиска точного совпадения

​ изменить третий аргумент​ массива.​​ целое с помощью​​ первое значение, удовлетворяющее​ сотрудников не повторяются).​В приведенном выше примере​

​).​ наименьшее значение, которое​Типом сопоставления​

​ функция ПОИСКПОЗ() находит​

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

​ Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращает​ не формула массива):​

​ для поиска частичного​​ пополняться новыми значениями)​ самостоятельно. Ее целесообразно​ использовали в ее​

Пример формулы ГПР для поиска неточного совпадения

​ использовать функцию ПОИСКПОЗ​Режим_поиска​Как это на самом​ оператора сцепки (&),​ критерию).​Требуется, введя в ячейку​ функция ГПР ищет​Дополнительные сведения см. в​ больше либо равно​

​= 0 (третий​ наименьшее значение, которое​ число 2 -​

​=—ЕЧИСЛО(ПОИСКПОЗ(G5&H5&I5&J5;ИНДЕКС($A$3:$A$40&$B$3:$B$40&$C$3:$C$40&$E$3:$E$40;);))​

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

​ совпадения текстовых значений​​ используем формулу массива​ применять в связке​ аргументах оператор &.​ как вспомогательную в​с нуля на​ деле работает:​ чтобы получить уникальный​

​Если диапазон поиска содержит​D4​ значение 11 000 в строке 3​ разделах, посвященных функциям​ чем искомое значение.​ аргумент функции).​ больше либо равно​ относительную позицию буквы​buchlotnik​ могут быть использованы​ (CTRL+SHIFT+ENTER):​ с другими функциями,​ Учитывая этот оператор​ комбинациях с другими​ минус 1:​

  1. ​Функция ИНДЕКС выдает из​

  2. ​ столбец-ключ для поиска:​​ повторяющиеся значения и​​фамилию сотрудника, вывести​​ в указанном диапазоне.​​ ИНДЕКС и ПОИСКПОЗ.​​Функции ПОИСКПОЗ() и ИНДЕКС()​​Функция ПОИСКПОЗ() возвращает только​

  3. ​ чем​​ «б» в массиве​​: видимо как-то так​ подстановочные знаки («?»​

    ​=B2;A:A;»»));A:A;0);1)’ class=’formula’>​

  4. ​ например, ИНДЕКС.​​ первый аргументом для​ Изображение кнопки Office​ функциями такими как:​Числа и пустые ячейки​​ диапазона цен C2:C161​​Теперь можно использовать знакомую​​ требуется вернуть не​​ в другой ячейке​

  5. ​ Значение 11 000 отсутствует, поэтому​​К началу страницы​​ часто используются вместе,​​ одно значение. Если​​искомое_значениеПросматриваемый_массив​​ {«а»;»б»;»в»;»б»}. Позиция второй​​=ЕСЛИ(ЕНД(ПОИСКПОЗ(G5&H5&I5&J5;$A$3:$A$40&$B$3:$B$40&$C$3:$C$40&$E$3:$E$40;0));»нет»;»есть»)​

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

  7. ​ одно, а все​

​ его зарплату. Решение​

support.office.com

Поиск позиции ТЕКСТа в MS EXCEL с выводом значения из соседнего столбца

​ она ищет следующее​Для выполнения этой задачи​ т.к. позволяют по​ в списке присутствует​должен быть упорядочен​ буквы «б» будет​сделайте, раз проще​ любого символа, «*»​ элемента в столбце​Пример 1. Найти позицию​ значение FordМаркетинговый. По​ и др. Но​

​ игнорируются.​​ по порядку. При​​ВПР (VLOOKUP)​ значения, удовлетворяющие критерию,​ приведено в файле​ максимальное значение, не​

Задача

​ используется функция ВПР.​​ найденной позиции в​​ несколько значений, удовлетворяющих​ по убыванию: ИСТИНА,​ проигнорирована, функция вернет​Acya96​ — замена любого​

Решение

​ A:A, имеющего максимальное​

  • ​ первого частичного совпадения​ этой причине первый​ какую пользу может​
  • ​Если последний аргумент задать​ этом порядковый номер​
  • ​для поиска склеенной​ то читайте статью​ примера.​

​ превышающее 11 000, и возвращает​Важно:​ одном диапазоне вывести​ критерию, то эта​ ЛОЖЬ, Z-A, …,​ позицию только первой​:​ количества символов).​ значение среди чисел,​ строки в диапазоне​ Ford из отдела​ приносить данная функция​ равным 1 или​ нужной ячейки нам​

​ пары​

​ Запрос на основе​Алгоритм решения задачи следующий:​

​ 10 543.​

​  Значения в первой​​ соответствующее значение из​​ функция не поможет.​

​ 2, 1, 0,​

​ буквы. О том​​vikttur​​Если в объекте данных,​

​ которые больше числа,​

​ ячеек, хранящих текстовые​​ продаж не учитывается,​​ работая самостоятельно. Из​

​ -1, то можно​

​ находит функция ПОИСКПОЗ.​​НектаринЯнварь​​ Элементов управления формы.​

​находим в списке кодов​

​Дополнительные сведения см. в​ строке должны быть​​ другого диапазона. Рассмотрим​​Рассмотрим список с повторяющимися​ -1, -2, …,​​ как вернуть ВСЕ​

​, хмм, сама бы​

​ переданном в качестве​

​ указанного в ячейке​

​ значения.​

​ ведь теперь для​

​ самого названия функции​

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

​ аргумента просматриваемый_массив, содержится​ B2. Функция ИНДЕКС​Вид исходной таблицы данных:​ функции два форда​ ПОИСКПОЗ понятно, что​ наименьшего или наибольшего​ названия товара и​ и J3 в​: Если в диапазон​ критерием;​ ГПР.​В приведенном выше примере​Найдем количество заданного товара​B66:B72​Функция ПОИСКПОЗ() не различает​ читайте ниже в​ не догадалась. Даже​ два и больше​

​ возвращает значение, хранящееся​Для нахождения позиции текстовой​ – это разные​ ее главная задача​ числа. Таблица при​ месяца (​ созданном ключевом столбце:​ поиска постоянно вводятся​

​определяем номер позиции (строку)​​К началу страницы​ функция ВПР ищет​ на определенном складе.​. Найдем все позиции​ РеГИстры при сопоставлении​ разделе Поиск позиций​ не подумала про​ элементов, соответствующих искомому​ в найденной ячейке.​ строки в таблице​ значения (FordПродажи и​ заключается в определении​

​ этом обязательно должна​НектаринЯнварь​Плюсы​ новые значения, то​ найденного значения;​

excel2.ru

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

Постановка задачи

​Примечание:​ имя первого учащегося​ Для этого используем​ значения Груши.​ текстов.​​ ВСЕХ текстовых значений,​​ ЕЧИСЛО. Спасибо вам​​ значению, будет возвращена​​Результат расчетов:​ используем следующую формулу:​ FordМаркетинговый). Просматриваемый диапазон​ позиции исходного значения,​ быть отсортирована по​) по очереди во​: Простой способ, знакомая​ для исключения ввода​выводим значение из соседнего​ Поддержка надстройки «Мастер подстановок»​ с 6 пропусками в​ формулу​Значение Груши находятся в​Если функция ПОИСКПОЗ() не​ удовлетворяющих критерию.​ огромное!​ позиция первого вхождения​

​Для поиска ближайшего меньшего​=ПОИСКПОЗ(D2&»*»;B:B;0)-1​ теперь распространяется на​ которое содержит диапазон​

Поиск позиции вȎxcel по нескольким условиям

​ возрастанию или убыванию​ всех ячейках склеенного​ функция, работает с​​ дубликатов следует наложить​​ столбца той же​ в Excel 2010​​ диапазоне A2:B7. Учащихся​​=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0))​ позициях 2 и​​ находит соответствующего значения,​​ПОИСКПОЗискомое_значение просматриваемый_массив​А желание и,​ такого элемента.​ значения достаточно лишь​Описание аргументов:​ 2 столбца, так​ ячеек или таблица.​

Способ 1. Дополнительный столбец с ключом поиска

​ соответственно. В общем​ из двух столбцов​ любыми данными.​ определенные ограничения (см.​ строки.​​ прекращена. Эта надстройка​​ с​В файле примера, соответствующий​ 5 списка. С​ то возвращается значение​; тип_сопоставления)​ правда, крайне странное​

​R007​ немного изменить данную​D2&»*» – искомое значение,​ же благодаря оператору​ Применять эту функцию​ и целом, это​ диапазона A2:A161&B2:B161 и​Минусы​ статью Ввод неповторяющихся​

Поиск позиции вȎxcel по нескольким условиям

​Решение практически аналогично поиску​ была заменена мастером​​6​​ столбец и строка​ помощью формулы массива​​ ошибки #Н/Д.​​Искомое_значение​Acya96​: Всем добрый день.​

Поиск позиции вȎxcel по нескольким условиям

​ формулу и ее​​ состоящее и фамилии,​ &, который мы​ очень просто для​

​ чем-то похоже на​​ выдает порядковый номер​: Надо делать дополнительный​ значений). Для визуальной​ числового значения из​ функций и функциями​ пропусками в таблице нет,​ выделены с помощью​=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65))​Произведем поиск позиции в​- значение, используемое​:​

Способ 2. Функция СУММЕСЛИМН

​Столкнулся со следующей​ следует также ввести​ указанной в ячейке​ применяем во втором​ диапазонов или таблиц​ интервальный просмотр у​​ ячейки, где нашла​​ столбец и потом,​ проверки наличия дубликатов​ статьи Поиск позиции​ для работы со​ поэтому функция ВПР​ Условного форматирования.​можно найти все эти​ НЕ сортированном списке​ при поиске значения​buchlotnik​ проблемой. Как осуществлять​ как массив (CTRL+SHIFT+ENTER):​ B2, и любого​ аргументе для склейки​

Поиск позиции вȎxcel по нескольким условиям

​ с одним столбцом​​ функции​ точное совпадение. По​ возможно, еще и​ можно использовать Условное​ ЧИСЛА с выводом​

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

Способ 3. Формула массива

​Результат поиска:​ количества других символов​​ значений из двух​​ или с одной​​ВПР (VLOOKUP)​​ сути, это первый​ прятать его от​ форматирование (см. статью​ соответствующего значения из​В Excel 2007 мастер​ со следующим максимальным​ позиций можно прочитать​ необходимо выделить несколько​B7:B13​просматриваемом_массивеИскомое_значение​

  1. ​Тут просто сама​ условиям?​Функция имеет следующую синтаксическую​
  2. ​ (“*”);​ смежных диапазонов. Таким​ строкой. Поэтому сразу​
    Поиск позиции вȎxcel по нескольким условиям
  3. ​, но там возможен​ способ, но ключевой​​ пользователя. При изменении​​ Выделение повторяющихся значений).​ соседнего столбца. Для​ подстановок создает формулу​ значением, не превышающим​

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

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

​ на конкретном примере​​ наименьшего, а здесь​ прямо внутри формулы,​ таблице — допротягивать​ пополняемого диапазона поиска​

​ в EXCEL существует​​ данных листа, содержащих​ значение 5 и возвращает​С помощью функций ПОИСКПОЗ()​ ввести вышеуказанную формулу​ наглядности и не​ логическим значением (ЛОЖЬ​ ПОИСКПОЗ. Для меня​ есть по паре​Описание аргументов:​ котором выполняется поиск;​ столбцов Автомобиль и​ проиллюстрируем как применять​ — есть выбор.​

planetaexcel.ru

Поиск позиции элемента в списке с ПОИСКПОЗ (MATCH)

​ а не в​ формулу сцепки на​ можно использовать идеи​ специальная функция ВПР(),​ названия строк и​ связанное с ним​ и ИНДЕКС() можно​ и нажать​ влияет на вычисления.​ или ИСТИНА)) или​

​ это немного странно​

​ характеристик, как сделать​

​искомое_значение – обязательный аргумент,​

  • ​0 – поиск точного​​ Отдел.​ функцию ПОИСКПОЗ для​
  • ​Например, нам нужно выбрать​​ ячейках листа.​ новые строки (хотя​ из статьи Сортированный​ но для ее​
  • ​ столбцов. С помощью​​ имя​ заменить функцию ВПР(),​CTRL+SHIFT+ENTER​Формула для поиска позиции​ ссылкой на ячейку,​ и непонятно:/​

​ так что бы​ принимающий текстовые, числовые​ совпадения.​

Точный поиск

​Читайте также: Функции ИНДЕКС​ таблицы с двумя​ генератор из прайс-листа​Плюсы​ это можно упростить​ список.​

ПОИСКПОЗ в Excel

Поиск первой или последней текстовой ячейки

​ решения можно использовать​ мастера подстановок можно​Алексей​ об этом читайте​. В позициях, в​ значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0)​ содержащую число, текст​vikttur​ при выборе из​​ значения, а также​​Из полученного значения вычитается​ и ПОИСКПОЗ в​

Поиск первого или последнего текста

​ столбцами и более.​ для расчетной мощности​: Не нужен отдельный​

Поиск ближайшего числа или даты

​ применением умной таблицы).​Если вы продвинутый пользователь​ и другие функции​ найти остальные значения​.​ в статье о​ которых есть значение​Формула находит первое значение​ или логическое значение.​: Видимо, проверяют Вас​ пары характеристик выбиралась​ данные логического и​ единица для совпадения​ Excel и примеры​​Для примера возьмем список​​ в 47 кВт.​ столбец, работает и​Если нужно найти именно​ Microsoft Excel, то​

​ (про функцию ВПР()​ в строке, если​Дополнительные сведения см. в​ функции ВПР().​ Груши будет выведено​ сверху и выводит​Просматриваемый_массив​ на знание материала​ нужная исходя из​ ссылочного типов, который​ результата с id​​ их использования​​ автомобилей из автопарка​

ПОИСКПОЗ поиск ближайшего наименьшего числа

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

ПОИСКПОЗ поиск ближайшего наибольшего

Связка функций ПОИСКПОЗ и ИНДЕКС

​ соответствующее значение позиции,​ его позицию в​— непрерывный диапазон​ )​​ заранее выставленных условий.​ ​ используется в качестве​​ записи в таблице.​Функция ПОИСКПОЗ в Excel​ средней фирмы, как​ задать равным 1​ с текстом.​

​ случае цена как​ с функцией поиска​Решение​ одном столбце, и​ ВПР.​

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

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

ПОИСКПОЗ и даты

​Минусы​​ раз число), то​​ и подстановки​Если несколько значений удовл.​ наоборот. В формулах,​К началу страницы​ сотрудника по его​ быдет выведен 0.​ Груши учтено не​ искомые значения.​​ Проще -​​ ответы.​​ сопоставления величин или​​Пример 2. В Excel​ точного совпадения или​ рисунке:​

Двумерный поиск с ПОИСКПОЗ и ИНДЕКС

planetaexcel.ru

Пример функции ПОИСКПОЗ в Excel без функции ИНДЕКС

​ по возрастанию, то​: Ощутимо тормозит на​ вместо ВПР можно​ВПР​ критерию​ которые создает мастер​Для выполнения этой задачи​ идентификационному номеру или​C помощью другой формулы​ будет.​Просматриваемый_массив​СЧЁТЕСЛИМН(), СУММПРОИЗВ()​Serge_007​ нахождения точного совпадения);​ хранятся две таблицы,​ ближайшего (меньшего или​В обеих столбцах названия​ мы найдем ближайшую​ больших таблицах (как​ использовать функцию​или​=ВПР($D$4;A4:B15;2;ЛОЖЬ)​ подстановок, используются функции​ используются функции СМЕЩ​ узнать ставку комиссионного​ массива​Чтобы найти номер строки,​может быть только​buchlotnik​: Здравствуйте.​

Пример работы ПОИСКПОЗ по двум столбцам Excel

​просматриваемый_массив – обязательный аргумент,​ которые на первый​ большего заданному в​ автомобилей и отделов​ наименьшую по мощности​

Список автомобилей.

​ и все формулы​СУММЕСЛИМН (SUMIFS)​VLOOKUP​берется​ ИНДЕКС и ПОИСКПОЗ.​ и ПОИСКПОЗ.​ вознаграждения, предусмотренную за​=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65))​ а не позиции​ одностолбцовым диапазоном ячеек,​: ну куда тут​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(A1:C3;ПОИСКПОЗ(A8;A1:A3;0);ПОИСКПОЗ(A6;A1:C1;0))​ принимающий данные ссылочного​ взгляд кажутся одинаковыми.​ зависимости от типа​ повторяются, но нет​ модель (​ массива, впрочем), особенно​

Ford продажи.

​, появившуюся начиная с​(если еще нет,​первое​Щелкните ячейку в диапазоне.​Примечание:​ определенный объем продаж.​можно отсортировать найденные позиции,​ в искомом диапазоне,​ например​ его? давайте так​R007​ типа (ссылки на​ Было решено сравнить​ сопоставления, указанного в​ парных дубликатов. Например,​

  1. ​Зверь​ если указывать диапазоны​ Excel 2007. По​ то сначала почитайте​сверху​
  2. ​На вкладке​ Данный метод целесообразно использовать​ Необходимые данные можно​
  3. ​ чтобы номера найденных​ можно записать следующую​А9:А20​=ИНДЕКС({«есть»;»нет»};1+ЕНД(ПОИСКПОЗ(G5&H5&I5&J5;$A$3:$A$40&$B$3:$B$40&$C$3:$C$40&$E$3:$E$40;0)))​:​ диапазон ячеек) или​ по одному однотипному​ качестве аргумента) значения​ в списке 2​

Ford маркетинг.

​):​ «с запасом» или​ идее, эта функция​

​ эту статью, чтобы​

Описание примера как работает функция ПОИСКПОЗ:

​=ИНДЕКС(B4:B15; ПОИСКПОЗ($D$4;A4:A15;0);1)​Формулы​ при поиске данных​ быстро и эффективно​ позиций отображались в​ формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)​или диапазоном, расположенным​_Boroda_​Serge_007​ константу массива, в​ столбцу этих таблиц​ заданному в массиве​ автомобиля марки Ford,​Если же третий аргумент​ сразу целые столбцы​ выбирает и суммирует​ им стать). Для​берется​в группе​ в ежедневно обновляемом​ находить в списке​ первых ячейках (см.​Если искомое значение не​ в одной строке,​: Еще вариант формулой​,​ которых выполняется поиск​ на наличие несовпадений.​ или диапазоне ячеек​ но оба они​

​ равен -1 и​ (т.е. вместо A2:A161​ числовые значения по​ тех, кто понимает,​

exceltable.com

Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel

​первое​Решения​ внешнем диапазоне данных.​ и автоматически проверять​ файл примера).​ обнаружено в списке,​ например,​ массива (вводится одновременным​Большое спасибо, очень​ позиции элемента согласно​ Реализовать способ сравнения​ и возвращает номер​

Примеры использования функции ПОИСКПОЗ в Excel

​ из разных отделов.​ таблица отсортирована по​ вводить A:A и​ нескольким (до 127!)​ рекламировать ее не​сверху​выберите команду​ Известна цена в​ их правильность. Значения,​1. Произведем поиск позиции​ то будет возвращено​

​А2:Е2​ нажатием Контрл Шифт​ помогло!​ критерию, заданному первым​ двух диапазонов ячеек.​ позиции найденного элемента.​ Если мы захотим​ убыванию, то мы​ т.д.) Многим непривычны​ условиям. Но если​ нужно :) -​=СМЕЩ($B$3; ПОИСКПОЗ($D$4;$A$4:$A$15;0);0;1;1)​Подстановка​ столбце B, но​ возвращенные поиском, можно​ в НЕ сортированном​

​ значение ошибки #Н/Д.​. Таким образом формула​ Ентер)​Гость​ аргументом функции;​Вид таблицы данных:​Например, имеем последовательный ряд​ узнать номер позиции​ найдем ближайшую более​ формулы массива в​ в нашем списке​ без нее не​берется​.​ неизвестно, сколько строк​ затем использовать в​ списке числовых значений​ Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0)​ =ПОИСКПОЗ(«слива»;A30:B33;0) работать не​=ИНДЕКС({«Нет»:»Есть»};1+ЕЧИСЛО(ПОИСКПОЗ(G5&H5&I5&J5;A$3:A$40&B$3:B$40&C$3:C$40&E$3:E$40;)))​: Помогите!!!!!!!!!!!!!! плиз!!!!!!!!!!!!!! уже​

​[тип_сопоставления] – необязательный для​Для сравнения значений, находящихся​ чисел от 1​ этого автомобиля, то​ мощную модель (​

​ принципе (тогда вам​

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

​ нет повторяющихся товаров​ обходится ни один​первое​Если команда​ данных возвратит сервер,​

​ вычислениях или отображать​

Пример 1.

​ (диапазон​ вернет ошибку, т.к.​ будет (выдаст ошибку​

​И проверка там​

​ все перепробовала не​

  • ​ заполнения аргумент в​ в столбце B:B​ до 10, записанных​ в результате функция​Бомба​ сюда).​
  • ​ внутри одного месяца,​ сложный расчет в​сверху​
  • ​Подстановка​ а первый столбец​

​ как результаты. Существует​B8:B14​ значения «грейпфрут» в​ #Н/Д), так как​

​ еще Условным форматированием​

ПОИСКПОЗ.

Сравнение двух таблиц в Excel на наличие несовпадений значений

​ получается. Нужно чтобы​ виде числового значения,​ со значениями из​ в ячейках B1:B10.​ ПОИСПОЗ вернет нам​):​Основное назначение этой функции​ то она просто​ Excel. Есть, однако,​=ДВССЫЛ(АДРЕС(НАИБОЛЬШИЙ( ЕСЛИ(($A$4:$A$15=$D$4); СТРОКА($A$4:$A$15));1);2))​

​недоступна, необходимо загрузить​

Пример 2.

​ не отсортирован в​ несколько способов поиска​)​ диапазоне ячеек​Просматриваемый_массив​iMrTidy​

​ во втором ПОИСКПОЗ​ определяющего способ поиска​ столбца A:A используем​ Функция =ПОИСКПОЗ(3;B1:B10;0) вернет​ позицию в диапазоне​Очень часто функция ПОИСКПОЗ​ в том, чтобы​ выведет значение цены​ одна проблема: эта​берется​ надстройка мастера подстановок.​ алфавитном порядке.​ значений в списке​Столбец Позиция приведен для​B7:B13​представляет собой диапазон​: Acya96, возможно, так?​ был «приближенный поиск».​ в диапазоне ячеек​ следующую формулу массива​ число 3, поскольку​ где встречается первое​ используется в связке​ искать позицию заданного​

​ для заданного товара​ функция умеет искать​последнее​Загрузка надстройки мастера подстановок​C1​ данных и отображения​

сравнения значений.

​ наглядности и не​нет.​

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

​ ячеек размещенный одновременно​=INDEX($A$3:$A$40;MATCH(J5;$E$3:$E$40;0))&INDEX($B$3:$B$40;MATCH(J5;$E$3:$E$40;0))&INDEX($C$3:$C$40;MATCH(J5;$E$3:$E$40;0))=G5&H5&I5​ А как файл​ или массиве. Может​ (CTRL+SHIFT+ENTER):​

​ искомое значение находится​

Пример 3.

​ значение – 3.​ с другой крайне​ элемента в наборе​ и месяца:​ данные только по​сверху​Нажмите кнопку​

​ — это левая верхняя​

​ результатов.​ влияет на вычисления.​В файле примера можно​ в нескольких столбцах​Acya96​ прикрепить? что-то не​ принимать следующие значения:​Функция ПОИСКПОЗ выполняет поиск​ в ячейке B3,​

​ То есть Ford​

поиск ближайшего большего значения.

​ полезнойфункцией -​ значений. Чаще всего​Плюсы​ совпадению одного параметра.​=ПРОСМОТР($D$4;$A$4:$A$15;$B$4:$B$15)​Microsoft Office​

​ ячейка диапазона (также​

поиск ближайшего меньшего.

Особенности использования функции ПОИСКПОЗ в Excel

​Поиск значений в списке​Найдем позицию значения 30​

​ найти применение функции​

​ и нескольких ячейках.​

  • ​: Еще раз спасибо.​ пойму​-1 – поиск наименьшего​ логического значения ИСТИНА​ которая является третьей​ из отдела продаж:​ИНДЕКС​ она применяется для​: Не нужен дополнительный​
  • ​ А если у​если столбец отсортирован по​, а затем —​ называемая начальной ячейкой).​ по вертикали по​ с помощью формулы​ при поиске в​Тип_сопоставления​ Пойду разбираться, что​
  • ​RAN​ ближайшего значения заданному​ в массиве логических​ от точки отсчета​Что же делать если​(INDEX)​ поиска порядкового номера​
  1. ​ столбец, решение легко​ нас их несколько?​ возрастанию, то берется​ кнопку​Формула​ точному совпадению​
  2. ​ =ПОИСКПОЗ(30;B8:B14;0)​ горизонтальном массиве.​— число -1,​ да как.​: Чукча не читатель.​ аргументом искомое_значение в​ значений, возвращаемых функцией​ (ячейки B1).​
  3. ​ нас интересует Ford​, которая умеет извлекать​ ячейки в диапазоне,​ масштабируется на большее​Предположим, что у нас​последнее​

​Параметры Excel​

  1. ​ПОИСКПОЗ(«Апельсины»;C2:C7;0)​Поиск значений в списке​Формула ищет​Поиск позиции можно производить​ 0 или 1.​jakim​ Чукча писатель!​ упорядоченном по убыванию​ СОВПАД (сравнивает каждый​Данная функция удобна для​ из маркетингового отдела?​ данные из диапазона​ где лежит нужное​
  2. ​ количество условий (до​ есть база данных​сверху, если нет,​и выберите категорию​ищет значение «Апельсины»​
  3. ​ по вертикали по​точное​ не только в​Тип_сопоставления​: Вариант с формулой​Как файл приложить​ массиве или диапазоне​ элемент диапазона A2:A12​ использования в случаях,​ Кроме того, мы​ по номеру строки-столбца,​
  4. ​ нам значение.​ 127), быстро считает.​ по ценам товаров​ то результат​Надстройки​ в диапазоне C2:C7.​ приблизительному совпадению​значение 30. Если​

exceltable.com

ПОИСКПОЗ по двум условиям (помощь)

​ диапазонах ячеек, но​​указывает, как MS​
​=IF(MAX(INDEX((A$3:A$400=G6)*(B$3:B$400=H6)*(C$3:C$400=I6)*(E$3:E$400=J6);0))=1;»есть»;»нет»)​ — красненькая строчка​ ячеек.​ со значением, хранящимся​
​ когда требуется вернуть​
​ хотим использовать только​ реализуя, фактически, «левый​Синтаксис этой функции следующий:​Минусы​ за разные месяцы:​непредсказуем​.​ Начальную ячейку не​

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

​ и в массивах​​ EXCEL сопоставляет​

​buchlotnik​

​ сверху.​​0 – (по умолчанию)​​ в ячейке B2,​​ не само значение,​
​ функцию ПОИСПОЗ, не​ ВПР».​

​=ПОИСКПОЗ(Что_ищем; Где_ищем; Режим_поиска)​​: Работает только с​Нужно найти и вытащить​=СУММПРОИЗВ((A4:A15=D4)*(B4:B15))​В поле​ следует включать в​ в списке неизвестного​ нет, то будет​ констант. Например, формула​

​искомое_значение​​:​Как сделать «приближенный​
​ поиск первого значения​ и возвращает массив​ содержащееся в искомой​
​ прибегая к формулам​Так, в предыдущем примере​

​где​​ числовыми данными на​ цену заданного товара​соответствующие значения суммируются​
​Управление​

excelworld.ru

Индекс и Поискпоз с несколькими условиями (Формулы/Formulas)

​ этот диапазон.​​ размера по точному​
​ возвращена ошибка #Н/Д.​ =ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0) вернет значение​со значениями в​jakim​ поиск» — F1​ в массиве или​ результатов сравнения). Если​ ячейке, а ее​ с комбинациями других​ получить не номер,​Что_ищем​ выходе, не применима​ (​=СУММЕСЛИ(A4:A15;D4;B4:B15)​выберите значение​1​ совпадению​2. Произведем поиск позиции​ 2.​ аргументе​, а ПОИСКПОЗ()-то где?​
​Il_sun​ диапазоне ячеек (не​

​ функция ПОИСКПОЗ нашла​​ координату относительно рассматриваемого​ функций ИНДЕКС и​ а название модели​
​- это значение,​

​ для поиска текста,​​Нектарин​​соответствующие значения суммируются​​Надстройки Excel​

​ — это количество столбцов,​​Поиск значений в списке​​ в отсортированном по​​Если искомое значение точно​просматриваемый_массив.​jakim​: в отношении прикрепленного​ обязательно упорядоченном), которое​ значение ИСТИНА, будет​
​ диапазона. В случае​ т.п. Выход из​

​ генератора можно очень​​ которое надо найти​​ не работает в​​) в определенном месяце​
​=БИЗВЛЕЧЬ(A3:B15;2;F15:F16)​и нажмите кнопку​ которое нужно отсчитать​ по горизонтали по​ возрастанию списке числовых​ не известно, то​

​Если​​: Пожалуйста ПОИСКПОЗ только​ файла формула должна​ полностью совпадает со​
​ возвращена позиция его​ использования для констант​​ этой ситуации находится​

​ легко:​​Где_ищем​ старых версиях Excel​​ (​

​возвращается ошибка #ЧИСЛО!​​Перейти​ справа от начальной​ точному совпадению​ значений (диапазон​
​ с помощью подстановочных​
​тип_сопоставления​ наоборот.​

​ иметь вид​​ значением, переданным в​
​ первого вхождения в​

​ массивов, которые могут​​ в определении настроек​Ну, и поскольку Excel​- это одномерный​

​ (2003 и ранее).​​Январь​
​Для функции ВПР() требуется,​

​.​​ ячейки, чтобы получить​​Поиск значений в списке​​B31:B37​:D

​ знаков можно задать​​равен 0, то​=IFERROR(MATCH(1;INDEX((B$3:B$400=H5)*(C$3:C$400=I5)*(D$3:D$400=J5)*(F$3:F$400=K5);0);0);»нет»)​
​200?'200px':''+(this.scrollHeight+5)+'px');">=ИНДЕКС(B2:C3;ПОИСКПОЗ(A8;A2:A3;0);ПОИСКПОЗ(A6;B1:C1;0))​

excelworld.ru

​ качестве первого аргумента.​

Во второй части нашего учебника по функции ВПР (VLOOKUP) в Excel мы разберём несколько примеров, которые помогут Вам направить всю мощь ВПР

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

Поиск в Excel по нескольким критериям

Функция ВПР в Excel – это действительно мощный инструмент для выполнения поиска определённого значения в базе данных. Однако, есть существенное ограничение – её синтаксис позволяет искать только одно значение. Как же быть, если требуется выполнить поиск по нескольким условиям? Решение Вы найдёте далее.

Пример 1: Поиск по 2-м разным критериям

Предположим, у нас есть список заказов и мы хотим найти Количество товара (Qty.), основываясь на двух критериях – Имя клиента (Customer) и Название продукта (Product). Дело усложняется тем, что каждый из покупателей заказывал несколько видов товаров, как это видно из таблицы ниже:

Руководство по функции ВПР в Excel

Обычная функция ВПР не будет работать по такому сценарию, поскольку она возвратит первое найденное значение, соответствующее заданному искомому значению. Например, если Вы хотите узнать количество товара Sweets, заказанное покупателем Jeremy Hill, запишите вот такую формулу:

=VLOOKUP(B1,$A$5:$C$14,3,FALSE) =ВПР(B1;$A$5:$C$14;3;ЛОЖЬ)

Есть простой обходной путь – создать дополнительный столбец, в котором объединить все нужные критерии. В нашем примере это столбцы Имя клиента (Customer) и Название продукта (Product). Не забывайте, что объединенный столбец должен быть всегда крайним левым в диапазоне поиска, поскольку именно левый столбец функция ВПР просматривает при поиске значения.

Итак, Вы добавляете вспомогательный столбец в таблицу и копируете по всем его ячейкам формулу вида: =B2&C2. Если хочется, чтобы строка была более читаемой, можно разделить объединенные значения пробелом: =B2&» «&C2. После этого можно использовать следующую формулу:

=VLOOKUP("Jeremy Hill Sweets",$A$7:$D$18,4,FALSE) =ВПР("Jeremy Hill Sweets";$A$7:$D$18;4;ЛОЖЬ)

=VLOOKUP(B1,$A$7:$D$18,4,FALSE) =ВПР(B1;$A$7:$D$18;4;ЛОЖЬ)

Руководство по функции ВПР в Excel

Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе

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

Как и в предыдущем примере, Вам понадобится в таблице поиска (Lookup table) вспомогательный столбец с объединенными значениями. Этот столбец должен быть крайним левым в заданном для поиска диапазоне.

Итак, формула с ВПР может быть такой:

=VLOOKUP(B2&" "&C2,Orders!$A&$2:$D$2,4,FALSE) =ВПР(B2&" "&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ)

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

Руководство по функции ВПР в Excel

Чтобы формула работала, значения в крайнем левом столбце просматриваемой таблицы должны быть объединены точно так же, как и в критерии поиска. На рисунке выше мы объединили значения и поставили между ними пробел, точно так же необходимо сделать в первом аргументе функции (B2&» «&C2).

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

Извлекаем 2-е, 3-е и т.д. значения, используя ВПР

Вы уже знаете, что ВПР может возвратить только одно совпадающее значение, точнее – первое найденное. Но как быть, если в просматриваемом массиве это значение повторяется несколько раз, и Вы хотите извлечь 2-е или 3-е из них? А что если все значения? Задачка кажется замысловатой, но решение существует!

Предположим, в одном столбце таблицы записаны имена клиентов (Customer Name), а в другом – товары (Product), которые они купили. Попробуем найти 2-й, 3-й и 4-й товары, купленные заданным клиентом.

Простейший способ – добавить вспомогательный столбец перед столбцом Customer Name и заполнить его именами клиентов с номером повторения каждого имени, например, John Doe1, John Doe2 и т.д. Фокус с нумерацией сделаем при помощи функции COUNTIF (СЧЁТЕСЛИ), учитывая, что имена клиентов находятся в столбце B:

=B2&COUNTIF($B$2:B2,B2) =B2&СЧЁТЕСЛИ($B$2:B2;B2)

После этого Вы можете использовать обычную функцию ВПР, чтобы найти нужный заказ. Например:

  • Находим 2-й товар, заказанный покупателем Dan Brown:

    =VLOOKUP("Dan Brown2",$A$2:$C$16,3,FALSE) =ВПР("Dan Brown2";$A$2:$C$16;3;ЛОЖЬ)

  • Находим 3-й товар, заказанный покупателем Dan Brown:

    =VLOOKUP("Dan Brown3",$A$2:$C$16,3,FALSE) =ВПР("Dan Brown3";$A$2:$C$16;3;ЛОЖЬ)

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

Руководство по функции ВПР в Excel

Если Вы ищите только 2-е повторение, то можете сделать это без вспомогательного столбца, создав более сложную формулу:

=IFERROR(VLOOKUP($F$2,INDIRECT("$B$"&(MATCH($F$2,Table4[Customer Name],0)+2)&":$C16"),2,FALSE),"") =ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ("$B$"&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&":$C16");2;ИСТИНА);"")

  • $F$2 – ячейка, содержащая имя покупателя (она неизменна, обратите внимание – ссылка абсолютная);
  • $B$ – столбец Customer Name;
  • Table4 – Ваша таблица (на этом месте также может быть обычный диапазон);
  • $C16 – конечная ячейка Вашей таблицы или диапазона.

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

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

Извлекаем все повторения искомого значения

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

Например, формула, представленная ниже, находит все повторения значения из ячейки F2 в диапазоне B2:B16 и возвращает результат из тех же строк в столбце C.

{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3)),"")} {=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3));"")}

Руководство по функции ВПР в Excel

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

Часть 1:

IF($F$2=B2:B16,ROW(C2:C16)-1,"") ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"")

Результатом функции IF (ЕСЛИ) окажется вот такой горизонтальный массив: {1,"",3,"",5,"","","","","","",12,"","",""}

Часть 2:

ROW()-3 СТРОКА()-3

Часть 3:

SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3)) НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3))

Часть 4:

INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3)) ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3))

Часть 5:

IFERROR() ЕСЛИОШИБКА()

Двумерный поиск по известным строке и столбцу

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

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

Руководство по функции ВПР в Excel

Существует несколько способов выполнить двумерный поиск. Познакомьтесь с возможными вариантами и выберите наиболее подходящий.

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

Вы можете использовать связку из функций ВПР (VLOOKUP) и ПОИСКПОЗ (MATCH), чтобы найти значение на пересечении полей Название продукта (строка) и Месяц (столбец) рассматриваемого массива:

=VLOOKUP("Lemons",$A$2:$I$9,MATCH("Mar",$A$1:$I$1,0),FALSE) =ВПР("Lemons";$A$2:$I$9;ПОИСКПОЗ("Mar";$A$1:$I$1;0);ЛОЖЬ)

MATCH("Mar",$A$1:$I$1,0) ПОИСКПОЗ("Mar";$A$1:$I$1;0)

  • Ищем символы «Mar» – аргумент lookup_value (искомое_значение);
  • Ищем в ячейках от A1 до I1 – аргумент lookup_array (просматриваемый_массив);
  • Возвращаем точное совпадение – аргумент match_type (тип_сопоставления).

Использовав 0 в третьем аргументе, Вы говорите функции ПОИСКПОЗ искать первое значение, в точности совпадающее с искомым значением. Это равносильно значению FALSE (ЛОЖЬ) для четвёртого аргумента ВПР.

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

Функция СУММПРОИЗВ

Функция СУММПРОИЗВ (SUMPRODUCT) возвращает сумму произведений выбранных массивов:

=SUMPRODUCT(($A$2:$A$9="Lemons")*($A$1:$I$1="Mar"),$A$2:$I$9) =СУММПРОИЗВ(($A$2:$A$9="Lemons")*($A$1:$I$1="Mar");$A$2:$I$9)

В следующей статье я буду объяснять эти функции во всех деталях, так что сейчас можете просто скопировать эту формулу:

=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))

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

  1. Выделите таблицу, откройте вкладку Formulas (Формулы) и нажмите Create from Selection (Создать из выделенного).
  2. Отметьте галочками Top row (в строке выше) и Left column (в столбце слева). Microsoft Excel назначит имена диапазонам из значений в верхней строке и левом столбце Вашей таблицы. Теперь Вы можете осуществлять поиск, используя эти имена, напрямую, без создания формул.

    Руководство по функции ВПР в Excel

  3. В любой пустой ячейке запишите =имя_строки имя_столбца, например, так:

    =Lemons Mar … или наоборот: =Mar Lemons

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

При вводе имени, Microsoft Excel будет показывать подсказку со списком подходящих имен, так же, как при вводе формулы.

Руководство по функции ВПР в Excel

  1. Нажмите Enter и проверьте результат

В целом, какой бы из представленных выше методов Вы ни выбрали, результат двумерного поиска будет одним и тем же:

Руководство по функции ВПР в Excel

Используем несколько ВПР в одной формуле

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

Давайте разберем следующий пример. У нас есть основная таблица (Main table) со столбцом SKU (new), куда необходимо добавить столбец с соответствующими ценами из другой таблицы. Кроме этого, у нас есть 2 таблицы поиска. Первая (Lookup table 1) содержит обновленные номера SKU (new) и названия товаров, а вторая (Lookup table 2) – названия товаров и старые номера SKU (old).

Руководство по функции ВПР в Excel

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

  1. Запишите функцию ВПР, которая находит имя товара в таблице Lookup table 1, используя SKU, как искомое значение:

    =VLOOKUP(A2,New_SKU,2,FALSE) =ВПР(A2;New_SKU;2;ЛОЖЬ)

    Здесь New_SKU – именованный диапазон $A:$B в таблице Lookup table 1, а 2 – это столбец B, который содержит названия товаров (смотрите на рисунке выше)

  2. Запишите формулу для вставки цен из таблицы Lookup table 2 на основе известных названий товаров. Для этого вставьте созданную ранее формулу в качестве искомого значения для новой функции ВПР:

    =VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE) =ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ)

    Здесь Price – именованный диапазон $A:$C в таблице Lookup table 2, а 3 – это столбец C, содержащий цены.

На рисунке ниже виден результат, возвращаемый созданной нами формулой:

Руководство по функции ВПР в Excel

Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ

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

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

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

Руководство по функции ВПР в Excel

Если у Вас всего два таких отчета, то можно использовать до безобразия простую формулу с функциями ВПР и ЕСЛИ (IF), чтобы выбрать нужный отчет для поиска:

=VLOOKUP($D$2,IF($D3="FL",FL_Sales,CA_Sales),2,FALSE) =ВПР($D$2;ЕСЛИ($D3="FL";FL_Sales;CA_Sales);2;ЛОЖЬ)

  • $D$2 – это ячейка, содержащая название товара. Обратите внимание, здесь мы используем абсолютные ссылки, чтобы избежать изменения искомого значения при копировании формулы в другие ячейки.
  • $D3 – это ячейка с названием региона. Используем абсолютную ссылку для столбца и относительную ссылку для строки, поскольку планируем копировать формулу в другие ячейки того же столбца.
  • FL_Sales и CA_Sales – названия таблиц (или именованных диапазонов), в которых содержаться соответствующие отчеты о продажах. Вы, конечно же, можете использовать обычные названия листов и ссылки на диапазоны ячеек, например ‘FL Sheet’!$A$3:$B$10, но именованные диапазоны гораздо удобнее.

Руководство по функции ВПР в Excel

Однако, когда таких таблиц много, функция ЕСЛИ – это не лучшее решение. Вместо нее можно использовать функцию ДВССЫЛ (INDIRECT), чтобы возвратить нужный диапазон поиска.

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

=VLOOKUP($D$2,INDIRECT($D3&"_Sales"),2,FALSE) =ВПР($D$2;ДВССЫЛ($D3&"_Sales");2;ЛОЖЬ)

  • $D$2 – это ячейка с названием товара, она неизменна благодаря абсолютной ссылке.
  • $D3 – это ячейка, содержащая первую часть названия региона. В нашем примере это FL.
  • _Sales – общая часть названия всех именованных диапазонов или таблиц. Соединенная со значением в ячейке D3, она образует полное имя требуемого диапазона. Ниже приведены некоторые подробности для тех, кто не имеет опыта работы с функцией ДВССЫЛ.

Как работают ДВССЫЛ и ВПР

Во-первых, позвольте напомнить синтаксис функции ДВССЫЛ (INDIRECT):

INDIRECT(ref_text,[a1]) ДВССЫЛ(ссылка_на_текст;[a1])

  • A1, если аргумент равен TRUE (ИСТИНА) или не указан;
  • R1C1, если FALSE (ЛОЖЬ).

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

Итак, давайте вернемся к нашим отчетам по продажам. Если Вы помните, то каждый отчёт – это отдельная таблица, расположенная на отдельном листе. Чтобы формула работала верно, Вы должны дать названия своим таблицам (или диапазонам), причем все названия должны иметь общую часть. Например, так: CA_Sales, FL_Sales, TX_Sales и так далее. Как видите, во всех именах присутствует «_Sales».

Функция ДВССЫЛ соединяет значение в столбце D и текстовую строку «_Sales», тем самым сообщая ВПР в какой таблице искать. Если в ячейке D3 находится значение «FL», формула выполнит поиск в таблице FL_Sales, если «CA» – в таблице CA_Sales и так далее.

Результат работы функций ВПР и ДВССЫЛ будет следующий:

Руководство по функции ВПР в Excel

Если данные расположены в разных книгах Excel, то необходимо добавить имя книги перед именованным диапазоном, например:

=VLOOKUP($D$2,INDIRECT($D3&"Workbook1!_Sales"),2,FALSE) =ВПР($D$2;ДВССЫЛ($D3&"Workbook1!_Sales");2;ЛОЖЬ)

Урок подготовлен для Вас командой сайта office-guru.ru Источник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/ Перевел: Андрей Антонов Правила перепечатки Еще больше уроков по Microsoft Excel

Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки

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

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

Итак, мы с вами рассмотрим четыре варианта создания подстановочной функции с двумя условиями:

  1. Использование дополнительной колонки
  2. Использование функции ВЫБОР для создания новой таблицы просмотра
  3. Использование функций ИНДЕКС и ПОИСКПОЗ
  4. Использование функции СУММПРОИЗВ

Ну а начнем мы с вами с самого простого.

Использование дополнительной колонки

В большинстве случаев сложные проблемы становятся проще и более управляемыми, если их разбить на маленькие кусочки. Тоже самое касается при построении формул в Excel.

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

Использование функции ВПР в классическом виде нам не поможет, так как она сможет вернуть значение, соответствующее только одному условию. Из положения нам поможет выйти дополнительный столбец, в котором мы объединим значения столбцов Месяц и Город. Для этого в ячейке А2 прописываем формулу =B2&C2 и протягиваем данную формулу до ячейки А13. Теперь мы сможем использовать значения столбца А, чтобы вернуть необходимое значение. Прописываем в ячейке G3 формулу:

Данная формула объединяет два условия ячеек G1 и G2 в одну строку и просматривает его в столбце А. После того, как нужное условие было обнаружено, формула возвращает значение с четвертого столбца таблицы A1:D13, т.е. столбца Продажи.

Использование функции ВЫБОР для создания новой таблицы просмотра

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

Использование функции ВЫБОР подразумевает создание новой таблицы для просмотра, в котором значения столбцов Месяц и Город уже объединены. Наша формула будет выглядеть следующим образом:

Основной момент данной формулы заключается в части ВЫБОР(<1;2>;B2:B13&C2:C13;D2:D13), который делает две вещи:

  1. Объединяет значения столбцов Месяц и Город в один массив: ЯнвМосква, ФевМосква …
  2. Объединяет два массива в таблицу, состоящую из двух столбцов.

Результатом работы данной функции будет таблица, которая выглядит следующим образом:

Теперь формула стала более понятной.

ВАЖНО: Так как мы использовали формулу массива, по окончании ввода формулы нажмите Ctrl+Shift+Enter, чтобы дать знать программе о наших намерениях. После нажатия данной комбинации клавиш, программа автоматически установит фигурные скобки в начале и в конце формулы.

Использование функций ИНДЕКС и ПОИСКПОЗ

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

Формула будет выглядеть следующим образом.

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

Сначала рассмотрим функцию ПОИСКПОЗ(1;(B2:B13=G1)*(C2:C13=G2);0). В данном случае последовательно сравнивается значение ячейки G1 с каждым значением ячеек диапазона B2:B13 и возвращается ИСТИНА, если значения совпадают и ЛОЖЬ, если нет. Такое же сравнение производится со значением ячейки G2 и диапазоном C2:C13. Далее мы сравниваем оба эти массива, состоящих из ИСТИНА и ЛОЖЬ. Комбинация ИСТИНА * ИСТИНА дает нам результат 1 (ИСТИНА). Давайте посмотрим на картинку ниже, которая поможет объяснить принцип работы более наглядно.

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

Использование СУММПРОИЗВ

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

Принцип работы данной формулы схож с принципом работы предыдущего подхода. Создается виртуальная таблица, в которой сравниваются значения ячеек G1 и G2 с диапазонами B2:B13 и С2:С13 соответственно. Далее оба этих массива сопоставляются и получается массив из единиц и нулей, где единица присваивается той строке, в которой оба условия совпали. Далее данный виртуальный массив перемножается на диапазон D2:D13. Так как в нашем виртуальном массиве будет только одна единица в шестой строке, формула вернёт результат 189.

Данная функция не будет работать, если в диапазоне D2:D13 имеются текстовые значения.

Чтобы понять, как работает данная формула, рекомендую прочитать статью о функции СУММПРОИЗ.

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

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

Вам также могут быть интересны следующие статьи

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

А я пользовался только одной — самой простой.
Автору спасибо за обзор! Очень часто приходится пользоваться в работе этой функцией.

Поиск по нескольким критериям в таблицах Excel

Добрый день уважаемый читатель!

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

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

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

Для этой операции подойдёт формула:

В обязательном порядке формулу необходимо вносить не просто так, а как формулу массива, о чём свидетельствуют фигурные скобки. Произвести это возможно с помощью комбинации горячих клавиш Shift+Ctrl+Enter. Как же собственно работает формула? Рассмотрим поподробнее… Используемый «амперсанд» в функции ПОИСКПОЗ соединяет нужные значения «Нагаев А.В.» и «Апельсин» в одно значение «Нагаев А.В.Апельсин» и производит просмотр массива данных таблицы «B2:B6» и «C2:C6», которые предварительно были условно сцеплены формулой, типа «Нагаев А.В.Банан», «Сидоров А.С.Лимон» и т.д.

Следующим этапом после нахождения функцией ПОИСКПОЗ номера строки с необходимыми условиями, передается функции ИНДЕКС, которая с диапазона «D2:D6» вытянет нужную сумму по указанному адресу номера строки.

Ну, вот результат и готов!

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

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

Не забудьте подкинуть автору на кофе…

Поиск в excel по двум условиям

Мне надо, чтобы был поиск значения по двум условиям. Пример:

У меня будет таблица, состоящая из Color и Type of wire . Формула, сравнивая эти значения, должна определять Number . Номеров около тысячи, поэтому думаю, как реализовать поиск по этому условию.

Можно сцепить эти колонки и получить уникальное значение и по нему осуществлять поиск. сцепить(COLOR;Type of wire) получаем BKFLY 10.00 QMM уникальное зачение после переместив колонку Number в право от уникального значения осуществляем ВПР(искомое значение то есть BKFLY 10.00 QMM;диапазон поиска;2;0)

Так выглядит формула:
=ВПР(С1;A1:B5;2;0)

Формула массива вводится тремя клавишами: Ctrl+Shift+Enter (формула должна обрамиться фигурными скобками). С помощью функций ЕСЛИ исключаются лишние вычисления.

Если предварительно объединить значения, формула упрощается и не требует «массивного» ввода:

А если сцепку Color&Type переместить левее таблицы (в столбец A, сама таблица сместится на один столбец вправо), можно применить формулу с единственной функцией ВПР:

Функция пользователя (UDF)

Функция размещается в общем модуле. Макросы должны быть разрешены. В ячейку листа:

где F2 и G2 — ячейки выбора прараметров.

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

Постановка задачи

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

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

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

Способ 1. Дополнительный столбец с ключом поиска

Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!

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

Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:

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

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

Способ 2. Функция СУММЕСЛИМН

Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS) , появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:

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

Минусы : Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).

Способ 3. Формула массива

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

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

  • Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
  • Как это на самом деле работает:

    Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.

    Плюсы : Не нужен отдельный столбец, работает и с числами и с текстом.

    Минусы : Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).

    Функция ВПР с несколькими условиями критериев поиска в Excel

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

    Работа функции ВПР по нескольким критериям

    Для наглядности разберем формулу ВПР с примером нескольких условий. Для примера будем использовать схематический отчет по выручке торговых представителей за квартал:

    В данном отчете необходимо найти показатель выручки для определенного торгового представителя в определенную дату. Учитывая условия поиска наш запрос должен содержать 2 условия:

    1. – Дата сдачи выручки в кассу.
    2. – Фамилия торгового представителя.

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

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

    Результат поиска в таблице по двум условиям:

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

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

    Первым аргументом функции =ВПР() является первым условием для поиска значения по таблице отчета выручки торговых представителей. Во втором аргументе находится виртуальная таблица создана в результате массивного вычисления логической функцией =ЕСЛИ(). Каждая фамилия в диапазоне ячеек B6:B12 сравнивается со значением в ячейке C2. Таким образом в памяти создается условный массив данных с элементами значений ИСТИНА и ЛОЖЬ.

    Потом благодаря формуле, в памяти программы каждый истинный элемент заменяется на 3-х элементный набор данных:

    1. элемент – Дата.
    2. элемент – Фамилия.
    3. элемент – Выручка.

    А каждый ложный элемент в памяти заменяется на 3-х элементный набор пустых текстовых значений («»). В результате создается в памяти программы новая таблица, с которой уже будет работать функция ВПР. Она игнорирует все пустые наборы данных элементов. А непустые элементы сопоставляются со значением ячейки C1, использованного в качестве первого критерия поискового запроса (Дата). Одним словом, таблица в памяти проверена функцией ВПР с одним условием поиска. При положительном результате сопоставления функция возвращает значение элемента из третьего столбца (выручка) условной таблицы. Это происходит потому, что в третьем аргументе указывается номер столбца 3 из которого берутся значения. Стоит отметить что для просмотра в аргументах функции указывается целая таблица (во втором аргументе), но сам поиск всегда идет по первому столбцу в указанной таблицы.

    А из какого столбца брать возвращаемое значение указывается уже в третьем аргументе.

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

    Понравилась статья? Поделить с друзьями:
  • Поиск по частичному совпадению текста excel впр
  • Поиск позиции в excel по книге
  • Поиск по фразе в документе word
  • Поиск позиции в excel по двум столбцам
  • Поиск по фразе в excel