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