Skip to content
Очень часто наши требования к поиску данных не ограничиваются одним условием. К примеру, нам нужна выручка по магазину за определенный месяц, количество конкретного товара, проданного определенному покупателю и т.д. Обычными средствами функции ВПР эту задачу решить сложно и даже не всегда возможно. Ведь там предусмотрено использование только одного критерия поиска.
Мы предложим вам несколько вариантов решения проблемы поиска по нескольким условиям.
- ВПР по нескольким условиям с использованием дополнительного столбца.
- ВПР по двум условиям при помощи формулы массива.
- ВПР по нескольким критериям с применением массивов — способ 2.
- Двойной ВПР при помощи ИНДЕКС + ПОИСКПОЗ
- Достойная замена – функция СУММПРОИЗВ.
ВПР по нескольким условиям с использованием дополнительного столбца.
Задачу, рассмотренную в предыдущем примере, можно решить и другим способом – без использования формулы массива. Ведь работа с массивами многим представляется сложной и недоступной для понимания. Дополнительный столбец для поиска по нескольким условиям будет в определенном отношении более простым вариантом.
Итак, необходимо выбрать значение выручки за определенный месяц, год и по нужному магазину. В итоге имеем 3 условия отбора.
Сразу по трем столбцам функция ВПР искать не может. Поэтому нам нужно объединить их в один. И, поскольку поиск производится всегда в крайнем левом (первом) столбце, то нужно добавить его в нашу таблицу тоже слева.
Вставляем перед таблицей с данными дополнительный столбец A. Затем при помощи оператора & объединяем в нем содержимое B,C и D. Записываем в А7
=B7&C7&D7
и копируем в находящиеся ниже ячейки.
Формула поиска в D4 будет выглядеть:
=ВПР(D1&D2&D3;A7:E20;5;0)
В диапазон поиска включаем и наш дополнительный столбец. Критерий поиска – также объединение 3 значений. И извлекаем результат из 5 колонки.
Все работает, однако вид несколько портит дополнительный столбец. В крайнем случае, его можно скрыть, используя контекстное меню по нажатию правой кнопки мыши.
Вид станет приятнее, а на результаты это никак не повлияет.
ВПР по двум условиям при помощи формулы массива.
У нас есть таблица, в которой записана выручка по каждому магазину за день. Мы хотим быстро найти сумму продаж по конкретному магазину за определенный день.
Для этого в верхней части нашего листа запишем критерии поиска: дата и магазин. В ячейке B3 будем выводить сумму выручки.
Формула в B3 выглядит следующим образом:
{=ВПР(B1;ЕСЛИ(B6:B19=B2;A6:C19;»»);3;0)}
Обратите внимание на фигурные скобки, которые означают, что это формула массива. То есть наша функция ВПР работает не с отдельными значениями, а разу с массивами данных.
Разберем процесс подробно.
Мы ищем дату, записанную в ячейке B1. Но вот только разыскивать мы ее будем не в нашем исходном диапазоне данных, а в немного видоизмененном. Для этого используем условие
ЕСЛИ(B6:B19=B2;A6:C19;»»)
То есть, в том случае, если наименование магазина совпадает с критерием в ячейке B2, мы оставляем исходные значения из нашего диапазона. А если нет – заменяем их на пробелы. И так по каждой строке.
В результате получим вот такой виртуальный массив данных на основе нашей исходной таблицы:
Как видите, строки, в которых ранее был «Магазин 1», заменены на пустые. И теперь искать нужную дату мы будем только среди информации по «Магазин 2». И извлекать значения выручки из третьей колонки.
С такой работой функция ВПР вполне справится.
Такой ход стал возможен путем применения формулы массива. Поэтому обратите особое внимание: круглые скобки в формуле писать руками не нужно! В ячейке B3 вы записываете формулу
=ВПР(B1;ЕСЛИ(B6:B19=B2;A6:C19;»»);3;0)
И затем нажимаете комбинацию клавиш CTRL+Shift+Enter. При этом Excel поймет, что вы хотите ввести формулу массива и сам подставит скобки.
Таким образом, функция ВПР поиск по двум столбцам производит в 2 этапа: сначала мы очищаем диапазон данных от строк, не соответствующих одному из условий, при помощи функции ЕСЛИ и формулы массива. А затем уже в этой откорректированной информации производим обычный поиск по одному только второму критерию при помощи ВПР.
Чтобы упростить работу в будущем и застраховать себя от возможных ошибок при добавлении новой информации о продажах, мы рекомендуем использовать «умную» таблицу. Она автоматически подстроит свой размер с учетом добавленных строк, и никакие ссылки в формулах не нужно будет менять.
Вот как это будет выглядеть.
ВПР по нескольким критериям с применением массивов — способ 2.
Выше мы уже рассматривали, как при помощи формулы массива можно организовать поиск ВПР с несколькими условиями. Предлагаем еще один способ.
Условия возьмем те же, что и в предыдущем примере.
Формулу в С4 введем такую:
=ВПР(C1&C2&C3;ВЫБОР({1;2};A7:A20&B7:B20&C7:C20;D7:D20);2;0)
Естественно, не забываем нажать CTRL+Shift+Enter.
Теперь давайте пошагово разберем, как это работает.
Наше задача здесь – также создать дополнительный столбец для работы функции ВПР. Только теперь мы создаем его не на листе рабочей книги Excel, а виртуально.
Как и в предыдущем примере, мы ищем текст из объединенных в одно целое условий поиска.
Далее определяем данные, среди которых будем искать.
ВЫБОР({1;2};A7:A20&B7:B20&C7:C20;D7:D20)
Конструкция вида A7:A20&B7:B20&C7:C20;D7:D20 создает 2 элемента. Первый – это объединение колонок A, B и C из исходных данных. Если помните, то же самое мы делали в нашем дополнительном столбце. Второй D7:D20 – это значения, одно из которых нужно в итоге выбрать.
Функция ВЫБОР позволяет из этих элементов создать массив. {1,2} как раз и означает, что нужно взять сначала первый элемент, затем второй, и объединить их в виртуальную таблицу – массив.
В первой колонке этой виртуальной таблицы мы будем искать, а из второй – извлекать результат.
Таким образом, для работы функции ВПР с несколькими условиями мы вновь используем дополнительный столбец. Только создаем его не реально, а виртуально.
Двойной ВПР при помощи ИНДЕКС + ПОИСКПОЗ
Далее речь у нас пойдет уже не о функции ВПР, но задачу мы будем решать ту же самую. В качестве критерия поиска нам опять нужно использовать несколько условий.
Существуют, пожалуй, даже более гибкие решения, нежели функция ВПР. Это комбинация функций ИНДЕКС + ПОИСКПОЗ.
Область их применения очень велика, о чем бы также будем рассказывать на сайте mister-office.ru.
А пока вернемся вновь к нашей задаче.
Формула в С4 теперь выглядит так:
=ИНДЕКС(D7:D20;ПОИСКПОЗ(1;(A7:A20=C1)*(B7:B20=C2)*(C7:C20=C3);0))
И не забываем при вводе нажать CTRL+Shift+Enter! Это формула массива.
Теперь давайте разбираться, как это работает.
Функция ИНДЕКС в нашем случае позволяет извлечь элемент из списка по его порядковому номеру. Список – это диапазон D7:D20, где записаны суммы выручки. А вот порядковый номер, который нужно извлечь, мы определяем при помощи ПОИСКПОЗ.
Синтаксис здесь следующий:
ПОИСКПОЗ(что_ищем; где_ищем; тип_поиска)
Тип поиска ставим 0, то есть точное совпадение. В нашем случае мы будем искать 1. Далее мы определим массив, в котором будем работать.
Выражение (A7:A20=C1)*(B7:B20=C2)*(C7:C20=C3) позволит создать виртуальную таблицу примерно такого вида:
Как видите, первоначально мы последовательно сравниваем каждое значение с нашим критерием отбора. В столбце А у нас записаны месяцы – сравниваем их с месяцем-критерием из ячейки C1. В случае совпадения получаем ИСТИНА, иначе – ЛОЖЬ. Аналогично последовательно проверяем год и название магазина. А затем просто перемножаем значения. Поскольку логические переменные для Excel – это либо 0, либо 1, то произведение их может быть равно 1 только в том случае, если мы имеем по каждой колонке ИСТИНА (то есть,1). Во всех остальных случаях получаем 0.
Убеждаемся, что цифра 1 встречается только единожды.
При помощи ПОИСКПОЗ определяем, на какой позиции она находится. На какой позиции находится 1, на той же позиции находится в массиве и искомая сумма выручки. В нашем случае это 10-я.
Далее при помощи ИНДЕКС извлекаем 10-ю по счету выручку.
Таким образом мы выбрали значение по нескольким условиям без использования функции ВПР.
Достойная замена – функция СУММПРОИЗВ.
У нас есть данные о продажах нескольких менеджеров в различных регионах. Нужно сделать выборку по дате, менеджеру и региону.
Поясним расчеты.
Выражение
=СУММПРОИЗВ((A2:A27=$G$2)*(B2:B27=$G$3)*($C$2:$C$27=G4)*(D2:D27))
Работает как формула массива, хотя по факту таковой не является. В этом заключается замечательное свойство функции СУММПРОИЗВ, о которой мы еще много будем говорить в других статьях.
Последовательно по каждой строке диапазона от 2-й до 27-й она проверяет совпадение каждого соответствующего значения с критерием поиска. Эти результаты перемножаются между собой и в итоге еще умножаются на сумму выручки. Если среди трех условий будет хотя бы одно несовпадение, то итогом будет 0. В случае совпадения сумма выручки трижды умножится на 1.
Затем все эти 27 произведений складываются, и результатом будет выручка нужного менеджера в каком-то регионе за определенную дату.
В качестве бонуса можно продолжить этот пример и рассчитать общую сумму продаж менеджера в определенном регионе.
Для этого из формулы просто уберем сравнение по дате.
=СУММПРОИЗВ((A2:A27=$G$2)*(B2:B27=$G$3)*(D2:D27))
Кстати, возможен и другой вариант расчета с этой же функцией:
=СУММПРОИЗВ(—(A2:A27=$G$2);—(B2:B27=$G$3);(D2:D27))
Итак, мы рассмотрели примеры использования функции ВПР с двумя и с несколькими условиями. А также обнаружили, что этой ценной функции есть замечательная альтернатива.
[the_ad_group id=»48″]
Примеры использования функции ВПР:
Вспомним, как работает функция ВПР: она просматривает крайний левый столбец таблицы-источника и, как только находит первое совпадение с заданным условием, возвращает (подтягивает) значение из указанного столбца в той же строке. В стандартном варианте функция ВПР ищет совпадение по одному критерию. Но что делать, если требования к поиску не ограничиваются одним условием? В этой статье рассмотрим, как работает функция ВПР в 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 с несколькими условиями различными способами.
Вам может быть интересно:
Все мы знаем насколько полезной является функция ВПР. Наверное, половина всех действий в Excel выполняется с помощью нее. Однако данная функция обладает рядом ограничений. Например, ВПР просматривает только крайний левый столбец в таблице или ищет только одно условие. Но что, если нам необходимо вернуть значение, соответствующее двум условиям. В таком случае нам придется прибегнуть к некоторым хитростям. Об этих хитростях мы и поговорим в сегодняшней статье.
Итак, мы с вами рассмотрим четыре варианта создания подстановочной функции с двумя условиями:
- Использование дополнительной колонки
- Использование функции ВЫБОР для создания новой таблицы просмотра
- Использование функций ИНДЕКС и ПОИСКПОЗ
- Использование функции СУММПРОИЗВ
Ну а начнем мы с вами с самого простого.
Использование дополнительной колонки
В большинстве случаев сложные проблемы становятся проще и более управляемыми, если их разбить на маленькие кусочки. Тоже самое касается при построении формул в Excel.
Рассмотрим классический пример. У нас имеется таблица с продажами по месяцам и городам. И нам необходимо определить значение продаж, соответствующее двум условиям: месяц – Февраль и город – Самара.
Использование функции ВПР в классическом виде нам не поможет, так как она сможет вернуть значение, соответствующее только одному условию. Из положения нам поможет выйти дополнительный столбец, в котором мы объединим значения столбцов Месяц и Город. Для этого в ячейке А2 прописываем формулу =B2&C2 и протягиваем данную формулу до ячейки А13. Теперь мы сможем использовать значения столбца А, чтобы вернуть необходимое значение. Прописываем в ячейке G3 формулу:
=ВПР(G1&G2;A2:D13;4;0)
Данная формула объединяет два условия ячеек G1 и G2 в одну строку и просматривает его в столбце А. После того, как нужное условие было обнаружено, формула возвращает значение с четвертого столбца таблицы A1:D13, т.е. столбца Продажи.
Использование функции ВЫБОР для создания новой таблицы просмотра
В случае если по каким-либо причинам использование дополнительного столбца для нас является не вариантом, мы можем использовать формулу массива.
Использование функции ВЫБОР подразумевает создание новой таблицы для просмотра, в котором значения столбцов Месяц и Город уже объединены. Наша формула будет выглядеть следующим образом:
=ВПР(G1&G2;ВЫБОР({1;2};B2:B13&C2:C13;D2:D13);2;0)
Основной момент данной формулы заключается в части ВЫБОР({1;2};B2:B13&C2:C13;D2:D13), который делает две вещи:
- Объединяет значения столбцов Месяц и Город в один массив: ЯнвМосква, ФевМосква …
- Объединяет два массива в таблицу, состоящую из двух столбцов.
Результатом работы данной функции будет таблица, которая выглядит следующим образом:
Теперь формула стала более понятной.
ВАЖНО: Так как мы использовали формулу массива, по окончании ввода формулы нажмите Ctrl+Shift+Enter, чтобы дать знать программе о наших намерениях. После нажатия данной комбинации клавиш, программа автоматически установит фигурные скобки в начале и в конце формулы.
Использование функций ИНДЕКС и ПОИСКПОЗ
Третий способ, который мы с вами рассмотрим, также предполагает использование формулы массива и задействует функции ИНДЕКС и ПОИСКПОЗ.
Формула будет выглядеть следующим образом.
=ИНДЕКС(D2:D13;ПОИСКПОЗ(1;(B2:B13=G1)*(C2:C13=G2);0))
Давайте разберем, что делает каждая часть данной формулы.
Сначала рассмотрим функцию ПОИСКПОЗ(1;(B2:B13=G1)*(C2:C13=G2);0). В данном случае последовательно сравнивается значение ячейки G1 с каждым значением ячеек диапазона B2:B13 и возвращается ИСТИНА, если значения совпадают и ЛОЖЬ, если нет. Такое же сравнение производится со значением ячейки G2 и диапазоном C2:C13. Далее мы сравниваем оба эти массива, состоящих из ИСТИНА и ЛОЖЬ. Комбинация ИСТИНА * ИСТИНА дает нам результат 1 (ИСТИНА). Давайте посмотрим на картинку ниже, которая поможет объяснить принцип работы более наглядно.
Теперь мы можем сказать, где находится строка, удовлетворяющая обоим условиям. Функция ПОИСКПОЗ отыскивает положение 1 в результирующем массиве и возвращает 6, так как единица встречается в шестой строке. Далее функция ИНДЕКС возвращает значение шестой строки диапазона D2:D13.
Использование СУММПРОИЗВ
СУММПРОИЗВ одна из самых мощных формул Excel. У меня даже есть отдельная статья, посвященная данной формуле. Наш четвертый способ использовании нескольких условий заключается в написании формулы с функцией СУММПРОИЗВ. И выглядеть она будет следующим образом:
=СУММПРОИЗВ((B2:B13=G1)*(C2:C13=G2);D2:D13)
Принцип работы данной формулы схож с принципом работы предыдущего подхода. Создается виртуальная таблица, в которой сравниваются значения ячеек G1 и G2 с диапазонами B2:B13 и С2:С13 соответственно. Далее оба этих массива сопоставляются и получается массив из единиц и нулей, где единица присваивается той строке, в которой оба условия совпали. Далее данный виртуальный массив перемножается на диапазон D2:D13. Так как в нашем виртуальном массиве будет только одна единица в шестой строке, формула вернёт результат 189.
Данная функция не будет работать, если в диапазоне D2:D13 имеются текстовые значения.
Чтобы понять, как работает данная формула, рекомендую прочитать статью о функции СУММПРОИЗ.
ИТОГ
Итак, какой же способ использовать? Хотя все они работают стабильно, я предпочитаю первый способ. В своей ежедневной работе, я предпочитаю работать с файлами, которые просты для понимания и поддаются изменениям. Оба эти требования отвечают условиям первого подхода.
Для более лучшего понимания формул, вы можете скачать рабочую книгу с примерами, разобранными в сегодняшней статье.
Функция ВПР в программе Microsoft Excel
Смотрите такжеОКЗаполняем их по очереди: прямо внутри формулы, любыми данными. с названиями материалов в огромных таблицах. Для этого нужноМы заполнили все параметры. сумму $34988, аВроде бы всё просто В противном случае, самый левый, то ключевой столбец неПримечание VLOOKUP(), ищет значениеТочно таким же образом
Работа с обобщающей таблицейи скопировать введенную
Определение функции ВПР
Искомое значение (Lookup Value) а не вМинусы и ценами. Столбец, Допустим, поменялся прайс. подставит цену из Теперь нажимаем такой суммы нет. и понятно, но комиссия составляет, лишь ВПР() не поможет. отсортирован по возрастанию,. Это «классическая» задача для в первом (в кликаем по значку подразумевает подтягивание в функцию на весь
Пример использования ВПР
- то наименование ячейках листа.: Надо делать дополнительный
соответственно, 2. Функция Нам нужно сравнить второй таблицы вОК Давайте посмотрим, как наша формула в 20%. Оформим это В этом случае т.к. результат формулы использования ВПР() (см. самом левом) столбце справа от поля неё значений из столбец. товара, которое функцияПлюсы столбец и потом, приобрела следующий вид: старые цены с первую. И посредством, и Excel создаёт функция ячейке B2 становится в виде таблицы: нужно использовать функции
- непредсказуем (если функция ВПР() статью Справочник). таблицы и возвращает ввода данных, для других таблиц. ЕслиФункция должна найти в: Не нужен отдельный возможно, еще и
- . новыми ценами. обычного умножения мы для нас формулуВПР заметно сложнее. ЕслиПродавец вводит данные о ПОИСКПОЗ()+ИНДЕКС() или ПРОСМОТР(). находит значение, которое
- Для вывода Наименования используйте формулу =ВПР($E9;$A$13:$C$19;2;ЛОЖЬ) или =ВПР($E9;$A$13:$C$19;2;ИСТИНА) или =ВПР($E9;$A$13:$C$19;2) (т.е. значение из той выбора таблицы, откуда таблиц очень много,ВПР (VLOOKUP) крайнем левом столбце столбец, работает и прятать его отНажимаем ВВОД и наслаждаемся
- В старом прайсе делаем найдем искомое. с функциейсможет справиться с Вы внимательно посмотрите своих продажах вНедавно мы посвятили статью больше искомого, то
- значение параметра же строки, но будут подтягиваться значения. ручной перенос заберетвозвращает ошибку #Н/Д прайс-листа. В нашем
- с числами и пользователя. При изменении результатом. столбец «Новая цена».Алгоритм действий:ВПР
- такой ситуацией. на формулу, то ячейку B1, а одной из самых она выводит значение,Интервальный_просмотр другого столбца таблицы.Выделяем всю область второй огромное количество времени, (#N/A) если: случае — слово с текстом. числа строк вИзменяем материал – меняетсяВыделяем первую ячейку иПриведем первую таблицу в.
- Выбираем ячейку B2 (место, увидите, что третий формула в ячейке полезных функций Excel которое расположено наможно задать ЛОЖЬФункция ВПР() является одной таблицы, где будет а если данныеВключен точный поиск (аргумент «Яблоки» из ячейкиМинусы таблице — допротягивать цена: выбираем функцию ВПР. нужный нам вид.
- Если поэкспериментируем с несколькими куда мы хотим аргумент функции B2 определяет верную под названием строку выше его). или ИСТИНА или из наиболее используемых производиться поиск значений, постоянно обновляются, тоИнтервальный просмотр=0 B3.: Ощутимо тормозит на формулу сцепки наСкачать пример функции ВПР Задаем аргументы (см. Добавим столбцы «Цена» различными значениями итоговой вставить нашу формулу),IF ставку комиссионного вознаграждения,ВПРПредположим, что нужно найти вообще опустить). Значение в EXCEL, поэтому
кроме шапки. Опять это уже будет) и искомого наименованияТаблица (Table Array) больших таблицах (как новые строки (хотя в Excel выше). Для нашего и «Стоимость/Сумма». Установим суммы продаж, то и находим(ЕСЛИ), превратился в
на которое продавеци показали, как товар, у которого параметра рассмотрим ее подробно.
возвращаемся к окну сизифов труд. К нет в- таблица из и все формулы это можно упроститьТак работает раскрывающийся список примера: . Это денежный формат для мы убедимся, что
VLOOKUP
lumpics.ru
Функция ВПР() в MS EXCEL
ещё одну полноценную может рассчитывать. В она может быть цена равна илиномер_столбцаВ этой статье выбран аргументов функции. счастью, существует функция
Таблице которой берутся искомые массива, впрочем), особенно применением умной таблицы).
в Excel с значит, что нужно новых ячеек. формула работает правильно.(ВПР) в библиотеке функцию свою очередь, полученная
Синтаксис функции
использована для извлечения
наиболее близка кнужно задать =2, нестандартный подход: акцентДля того, чтобы выбранные ВПР, которая предлагает. значения, то есть если указывать диапазоныЕсли нужно найти именно функцией ВПР. Все взять наименование материалаВыделяем первую ячейку вКогда функция функций Excel:IF ставка используется в
нужной информации из искомой. т.к. номер столбца сделан не на значения сделать из возможность автоматической выборкиВключен приблизительный поиск ( наш прайс-лист. Для «с запасом» или число (в нашем происходит автоматически. В из диапазона А2:А15, столбце «Цена». ВВПРFormulas(ЕСЛИ). Такая конструкция ячейке B3, чтобы базы данных вЧтобы использовать функцию ВПР() Наименование равен 2 саму функцию, а относительных абсолютными, а данных. Давайте рассмотримИнтервальный просмотр=1 ссылки используем собственное
сразу целые столбцы случае цена как течение нескольких секунд. посмотреть его в нашем примере –работает с базами(Формулы) > называется вложением функций рассчитать общую сумму
ячейку рабочего листа. для решения этой (Ключевой столбец всегда на те задачи, это нам нужно, конкретные примеры работы), но имя «Прайс» данное (т.е. вместо A2:A161 раз число), то Все работает быстро «Новом прайсе» в D2. Вызываем «Мастер данных, аргументFunction Library друг в друга. комиссионных, которую продавец Мы также упомянули,
задачи нужно выполнить номер 1). которые можно решить чтобы значения не
Задача1. Справочник товаров
этой функции.Таблица ранее. Если вы
вводить A:A и вместо ВПР можно и качественно. Нужно столбце А. Затем функций» с помощью
Range_lookup(Библиотека Функций) > Excel с радостью должен получить (простое
что существует два несколько условий:Для вывода Цены используйте с ее помощью. сдвинулись при последующемСкачать последнюю версию, в которой происходит не давали имя, т.д.) Многим непривычны использовать функцию только разобраться с взять данные из кнопки «fx» (в
(Интервальный_просмотр) должен приниматьLookup & Reference допускает такие конструкции, перемножение ячеек B1
варианта использования функцииКлючевой столбец, по которому аналогичную формулу =ВПР($E9;$A$13:$C$19;3;ЛОЖЬ) (значение параметра ВПР(искомое_значение; таблица; номер_столбца; интервальный_просмотр) изменении таблицы, просто Excel поиск не отсортирована то можно просто формулы массива вСУММЕСЛИМН (SUMIFS) этой функцией. второго столбца нового начале строки формул)FALSE(Ссылки и массивы). и они даже и B2).ВПР должен производиться поиск,
номер_столбцаИскомое_значение выделяем ссылку вНазвание функции ВПР расшифровывается, по возрастанию наименований. выделить таблицу, но принципе (тогда вам, появившуюся начиная сЕсли вы продвинутый пользователь
прайса (новую цену) или нажав комбинацию(ЛОЖЬ). А значение,Появляется диалоговое окно работают, но ихСамая интересная часть таблицыи только один должен быть самымнужно задать =3). - это значение, поле
как «функция вертикальногоФормат ячейки, откуда берется не забудьте нажать сюда). Excel 2007. По Microsoft Excel, то и подставить их горячих клавиш SHIFT+F3. введённое в качествеFunction Arguments гораздо сложнее читать заключена в ячейке из них имеет левым в таблице;Ключевой столбец в нашем которое Вы пытаетесь
«Таблица» просмотра». По-английски её искомое значение наименования потом клавишуКому лень или нет идее, эта функция должны быть знакомы в ячейку С2. В категории «Ссылки
Lookup_value(Аргументы функции). По и понимать. B2 – это дело с запросамиКлючевой столбец должен быть случае содержит числа найти в столбце, и жмем на
наименование звучит – (например B3 вF4 времени читать - выбирает и суммирует с функцией поискаДанные, представленные таким образом, и массивы» находим(Искомое_значение) должно существовать очереди заполняем значенияМы не будем вникать формула для определения к базе данных. обязательно отсортирован по
Задача2. Поиск ближайшего числа
и должен гарантировано с данными. функциональную клавишу VLOOKUP. Эта функция нашем случае) и
, чтобы закрепить ссылку смотрим видео. Подробности числовые значения по и подстановки
- можно сопоставлять. Находить функцию ВПР и в базе данных. аргументов, начиная с
- в технические подробности ставки комиссионного вознаграждения. В этой статье
- возрастанию; содержать искомое значениеИскомое_значение F4
ищет данные в
формат ячеек первого знаками доллара, т.к. и нюансы - нескольким (до 127!)
ВПР численную и процентную жмем ОК. Данную Другими словами, идётLookup_value — почему и Эта формула содержит Вы узнаете другойЗначение параметра (условие задачи). Если первыйможет быть числом или. После этого к левом столбце изучаемого столбца (F3:F19) таблицы в противном случае в тексте ниже. условиям. Но еслиили разницу. функцию можно вызвать поиск точного совпадения.
(Искомое_значение). В данном как это работает, функцию Excel под менее известный способИнтервальный_просмотр столбец не содержит искомый текстом, но чаще ссылке добавляются знаки диапазона, а затем отличаются (например, числовой она будет соскальзыватьИтак, имеем две таблицы в нашем списке
VLOOKUPДо сих пор мы перейдя по закладкеВ примере, что мы примере это общая и не будем названием применения функции нужно задать ИСТИНА или артикул всего ищут именно
доллара и она возвращает полученное значение и текстовый). Этот при копировании нашей - нет повторяющихся товаров
(если еще нет, предлагали для анализа «Формулы» и выбрать рассмотрели в данной сумма продаж из вдаваться в нюансыIFВПР вообще опустить., число. Искомое значение должно превращается в абсолютную.
в указанную ячейку. случай особенно характерен формулы вниз, натаблицу заказов внутри одного месяца, то сначала почитайте только одно условие
excel2.ru
Использование функции ВПР в Excel: неточное соответствие
из выпадающего списка статье, нет необходимости ячейки B1. Ставим записи вложенных функций.(ЕСЛИ). Для техв Excel.Для вывода Наименования товара используйте формулу =ВПР($A7;$A$11:$B$17;2;ИСТИНА) то функция возвращает значение находиться в первомВ следующей графе Попросту говоря, ВПР при использовании вместо остальные ячейки столбцаи то она просто эту статью, чтобы – наименование материала. «Ссылки и массивы». получать точное соответствие. курсор в поле Ведь это статья, читателей, кто неЕсли Вы этого ещёДля вывода найденной цены (она ошибки
(самом левом) столбце«Номер столбца» позволяет переставлять значения текстовых наименований числовых D3:D30.прайс-лист выведет значение цены им стать). Для На практике жеОткроется окно с аргументами Это тот самый
Lookup_value посвященная функции знаком с этой не сделали, то не обязательно будет #Н/Д. диапазона ячеек, указанногонам нужно указать из ячейки одной кодов (номера счетов,Номер_столбца (Column index number): для заданного товара тех, кто понимает, нередко требуется сравнить функции. В поле случай, когда функция(Искомое_значение) и выбираемВПР функцией, поясню как обязательно прочтите прошлую совпадать с заданной) используйтеЭто может произойти, например, в номер того столбца, таблицы, в другую идентификаторы, даты и- порядковый номерЗадача — подставить цены и месяца: рекламировать ее не несколько диапазонов с
- «Искомое значение» -ВПР
- ячейку B1.
- , а не полное она работает:
- статью о функции
Пример из жизни. Ставим задачу
формулу: =ВПР($A7;$A$11:$B$17;1;ИСТИНА) при опечатке притаблице откуда будем выводить таблицу. Выясним, как т.п.) В этом (не буква!) столбца из прайс-листа вПлюсы нужно - данными и выбрать диапазон данных первогодолжна переключиться вДалее нужно указать функции руководство по Excel.IF(condition, value if true,ВПРКак видно из картинки вводе артикула. Чтобы не ошибиться. значения. Этот столбец пользоваться функцией VLOOKUP случае можно использовать в прайс-листе из
таблицу заказов автоматически,: Не нужен дополнительный без нее не значение по 2, столбца из таблицы режим приближенной работы,ВПРКак бы там ни value if false), поскольку вся информация, выше, ВПР() нашла с вводом искомогоТаблица - располагается в выделенной в Excel. функции
которого будем брать ориентируясь на название столбец, решение легко обходится ни один 3-м и т.д. с количеством поступивших чтобы вернуть нам, где искать данные. было, формула усложняется!ЕСЛИ(условие; значение если ИСТИНА; изложенная далее, предполагает, наибольшую цену, которая артикула можно использовать Выпадающийссылка на диапазон
выше области таблицы.Взглянем, как работает функция
Ч значения цены. Первый
товара с тем, масштабируется на большее сложный расчет в критериям. материалов. Это те нужный результат. В нашем примере А что, если значение если ЛОЖЬ) что Вы уже
меньше или равна список (см. ячейку
ячеек. В левом
Так как таблица ВПР на конкретноми столбец прайс-листа с
чтобы потом можно количество условий (до Excel. Есть, однако,Таблица для примера: значения, которые ExcelНапример: это таблица мы введем ещеУсловие знакомы с принципами, заданной (см. файлЕ9 столбце таблицы ищется состоит из двух примере.ТЕКСТ названиями имеет номер было посчитать стоимость. 127), быстро считает. одна проблема: этаПредположим, нам нужно найти, должен найти воМы хотим определить,Rate Table один вариант ставки
– это аргумент описанными в первой примера лист «Поиск).Искомое_значение столбцов, а столбецУ нас имеется дведля преобразования форматов 1, следовательно намВ наборе функций Excel,
Минусы функция умеет искать
Усложняем задачу
по какой цене второй таблице. какую ставку использовать. Ставим курсор в комиссионных, равный 50%, функции, который принимает статье.
ближайшего числа»). ЭтоПонятно, что в нашей, а из столбцов с ценами является таблицы. Первая из данных. Выглядеть это нужна цена из в категории: Работает только с данные только по привезли гофрированный картонСледующий аргумент – «Таблица». в расчёте комиссионных поле для тех продавцов, значение либоПри работе с базами связано следует из задаче ключевой столбец расположенных правее, выводится вторым, то ставим них представляет собой будет примерно так:
столбца с номеромСсылки и массивы числовыми данными на совпадению одного параметра. от ОАО «Восток». Это наш прайс-лист. для продавца сTable_array кто сделал объёмTRUE данных, функции того как функция
не должен содержать соответствующий результат (хотя, номер таблицу закупок, в=ВПР(ТЕКСТ(B3);прайс;0) 2.(Lookup and reference) выходе, не применима А если у Нужно задать два Ставим курсор в объёмом продаж $34988.(Таблица) и выделяем продаж более $50000.
(ИСТИНА), либоВПР производит поиск: если функция ВПР() находит повторов (в этом в принципе, можно«2» которой размещены наименованияФункция не может найтиИнтервальный_просмотр (Range Lookup)имеется функция для поиска текста, нас их несколько?
условия для поиска поле аргумента. Переходим Функция всю таблицу
Применяем функцию ВПР к решению задачи
А если кто-тоFALSEпередаётся уникальный идентификатор, значение, которое больше смысл артикула, однозначно вывести можно вывести.
продуктов питания. В нужного значения, потому- в этоВПР не работает вПредположим, что у нас по наименованию материала на лист с
ВПРRate Table продал на сумму(ЛОЖЬ). В примере, который служит для искомого, то она определяющего товар). В значение из левогоВ последней графе следующей колонке после что в коде поле можно вводить(VLOOKUP) старых версиях Excel есть база данных и по поставщику. ценами. Выделяем диапазонвозвращает нам значение, кроме заголовков. более $60000 – приведённом выше, выражение определения информации, которую выводит значение, которое противном случае будет столбца (в этом«Интервальный просмотр»
Вставляем функцию ВПР
наименования расположено значение присутствуют пробелы или только два значения:. (2003 и ранее). по ценам товаровДело осложняется тем, что с наименованием материалов 30%, что являетсяДалее мы должны уточнить, тому заплатить 60% B1 мы хотим найти
расположено на строку выведено самое верхнее случае это будетнам нужно указать количества товара, который невидимые непечатаемые знаки ЛОЖЬ или ИСТИНА:Эта функция ищетО том, как спользовать за разные месяцы: от одного поставщика и ценами. Показываем, абсолютно верным. Но данные из какого
комиссионных?Правда ли, что B1 (например, код товара выше его. Как значение. само значение требуется закупить. Далее (перенос строки иЕсли введено значение заданное значение (в связку функцийНужно найти и вытащить
поступает несколько наименований. какие значения функция почему же формула столбца необходимо извлечьТеперь формула в ячейке меньше B5? или идентификационный номер следствие, если искомоеПри решении таких задачискомое_значение«0» следует цена. И
т.п.). В этом0 нашем примере этоИНДЕКС (INDEX)
цену заданного товараДобавляем в таблицу крайний должна сопоставить. выбрала строку, содержащую с помощью нашей B2, даже еслиИли можно сказать по-другому: клиента). Этот уникальный значение меньше минимального ключевой столбец лучше)). Часто левый столбец(ЛОЖЬ) или в последней колонке случае можно использоватьили слово «Яблоки») ви ( левый столбец (важно!),Чтобы Excel ссылался непосредственно именно 30%, а формулы. Нас интересует она записана безПравда ли, что общая
код должен присутствовать в ключевом столбце, предварительно отсортировать (это также называется«1» – общая стоимость текстовые функцииЛОЖЬ (FALSE) крайнем левом столбцеПОИСКПОЗ (MATCH)Нектарин объединив «Поставщиков» и
на эти данные, не 20% или ставка комиссионных, которая ошибок, стала совершенно сумма продаж за в базе данных, то функцию вернет поможет сделать Выпадающий
ключевым(ИСТИНА). В первом закупки конкретного наименованияСЖПРОБЕЛЫ (TRIM), то фактически это
Заключение
указанной таблицы (прайс-листа)в качестве более) в определенном месяце «Материалы». ссылку нужно зафиксировать. 40%? Что понимается находится во втором не читаемой. Думаю, год меньше порогового иначе ошибку список нагляднее). Кроме. Если первый столбец случае, будут выводиться
товара, которая рассчитываетсяи означает, что разрешен двигаясь сверху-вниз и, мощной альтернативы ВПР (Таким же образом объединяем Выделяем значение поля под приближенным поиском? столбце таблицы. Следовательно, что найдется мало
значения?ВПР#Н/Д. того, в случае не содержит только точные совпадения, по вбитой ужеПЕЧСИМВ (CLEAN) поиск только найдя его, выдает я уже подробноЯнварь искомые критерии запроса: «Таблица» и нажимаем Давайте внесём ясность. для аргумента желающих использовать формулыЕсли на этот вопрос
сообщит об ошибке.Найденное значение может быть несортированного списка, ВПР() сискомое_значение а во втором в ячейку формуледля их удаления:точного соответствия содержимое соседней ячейки описывал (с видео).), т.е. получить на
Теперь ставим курсор в F4. Появляется значокКогда аргументCol_index_num с 4-мя уровнями мы отвечаем
В этой статье далеко не самым
параметром
,
— наиболее приближенные.
office-guru.ru
Функция ВПР в Excel для чайников и не только
умножения количества на=ВПР(СЖПРОБЕЛЫ(ПЕЧСИМВ(B3));прайс;0), т.е. если функция (23 руб.) Схематически В нашем же выходе
нужном месте и $.Range_lookup(Номер_столбца) вводим значение вложенности в своих
Как пользоваться функцией ВПР в Excel
ДА мы рассмотрим такой ближайшим. Например, еслиИнтервальный_просмотрто функция возвращает
Так как наименование цену. А вот=VLOOKUP(TRIM(CLEAN(B3));прайс;0)
не найдет в работу этой функции случае, можно применить152 задаем аргументы дляВ поле аргумента «Номер(Интервальный_просмотр) имеет значение 2.
проектах. Должен же
- (ИСТИНА), то функция способ использования функции попытаться найти ближайшуюИСТИНА (или опущен) значение ошибки продуктов – это
- цену нам какДля подавления сообщения об прайс-листе укзанного в можно представить так: их для поиска, но автоматически, т.е. функции: . Excel столбца» ставим цифруTRUEИ, наконец, вводим последний существовать более простой возвращаетВПР цену для 199, работать не будет. #Н/Д. текстовые данные, то раз и придется
- ошибке таблице заказов нестандартногоДля простоты дальнейшего использования по нескольким столбцам с помощью формулы. находит нужную цену. «2». Здесь находятся(ИСТИНА) или опущен, аргумент — способ?!
- value if true, когда идентификатора не то функция вернетВ файле примера лист СправочникНомер_столбца они не могут подтянуть с помощью#Н/Д (#N/A) товара (если будет функции сразу сделайте
- в виде формулы ВПР в чистомРассмотрим формулу детально: данные, которые нужно функцияRange_lookupИ такой способ есть!
- (значение если ИСТИНА). существует в базе 150 (хотя ближайшее также рассмотрены альтернативные- номер столбца быть приближенными, в функции ВПР изв тех случаях, введено, например, «Кокос»), одну вещь -
массива. Для этого: виде тут неЧто ищем. «подтянуть» в первуюВПР(Интервальный_просмотр). Нам поможет функция
В нашем случае данных вообще. Как все же 200).
формулы (получим тотТаблицы отличие от числовых соседней таблицы, которая когда функция не то она выдаст дайте диапазону ячеекВыделите пустую зеленую ячейку,
- поможет, но естьГде ищем.
- таблицу. «Интервальный просмотр»просматривает первый столбец
- Важно:ВПР это будет значение
- будто функция Это опять следствие
же результат) с, из которого нужно
данных, поэтому нам
Быстрое сравнение двух таблиц с помощью ВПР
представляет собой прайс-лист. может найти точно ошибку #Н/Д (нет прайс-листа собственное имя. где должен быть несколько других способов
- Какие данные берем. — ЛОЖЬ. Т.к.
- и выбирает наибольшееименно в использовании. ячейки B6, т.е.ВПР того, что функция находит использованием функций ИНДЕКС(), выводить результат. Самый нужно поставить значениеКликаем по верхней ячейке соответствия, можно воспользоваться данных). Для этого выделите результат. решить эту задачу.Допустим, какие-то данные у
нам нужны точные, значение, которое не этого аргумента заключаетсяДавайте немного изменим дизайн
Функция ВПР в Excel с несколькими условиями
ставка комиссионных припереключилась в режим наибольшее число, которое ПОИСКПОЗ() и ПРОСМОТР(). Если левый столбец (ключевой)«0» (C3) в столбце функциейЕсли введено значение все ячейки прайс-листаВведите в строке формул
Это самый очевидный и
нас сделаны в а не приблизительные превышает искомое. различие между двумя нашей таблицы. Мы общем объёме продаж приближенной работы, и меньше или равно
ключевой столбец (столбец имеет номер 1. Далее, жмем на
- «Цена»ЕСЛИОШИБКА1 кроме «шапки» (G3:H19),
- в нее следующую простой (хотя и
- виде раскрывающегося списка. значения.Важный момент: способами применения функции сохраним все те
ниже порогового значения.
- сама выбирает, какие
- заданному.
- с артикулами) не
Функция ВПР и выпадающий список
(по нему производится кнопкув первой таблице.(IFERROR)или выберите в меню формулу: не самый удобный)
В нашем примере
- Нажимаем ОК. А затемЧтобы эта схемаВПР
- же поля и Если мы отвечаем
- данные предоставить нам,Если нужно найти по является самым левым поиск).
- «OK» Затем, жмем на
. Так, например, вотИСТИНА (TRUE)Вставка — Имя -Нажмите в конце не способ. Поскольку штатная – «Материалы». Необходимо «размножаем» функцию по работала, первый столбец
- . При работе с данные, но расположим
- на вопрос когда мы что-то настоящему ближайшее к в таблице, тоПараметр . значок такая конструкция перехватывает, то это значит,
- Присвоить (Insert - Enter, а сочетание
функция настроить функцию так,
всему столбцу: цепляем таблицы должен быть
базами данных аргумент их по-новому, вНЕТ хотим найти. В искомому значению, то ВПР() тут функция ВПР() неинтервальный_просмотрКак видим, цена картофеля«Вставить функцию»
exceltable.com
Поиск и подстановка по нескольким условиям
Постановка задачи
любые ошибки создаваемые что Вы разрешаете Name — Define)Ctrl+Shift+EnterВПР (VLOOKUP) чтобы при выборе мышью правый нижний отсортирован в порядкеRange_lookup более компактном виде:(ЛОЖЬ), тогда возвращается определённых обстоятельствах именно не поможет. Такого применима. В этомможет принимать 2 подтянулась в таблицу, который расположен перед ВПР и заменяет поиск не точного,или нажмите, чтобы ввести формулуумеет искать только наименования появлялась цена. угол и тянем возрастания.
(Интервальный_просмотр) должен всегдаПрервитесь на минутку иvalue if false так и нужно.
рода задачи решены случае нужно использовать значения: ИСТИНА (ищется из прайс-листа. Чтобы строкой формул. их нулями: аCTRL+F3 не как обычную, по одному столбцу,Сначала сделаем раскрывающийся список: вниз. Получаем необходимыйУрок подготовлен для Вас иметь значение убедитесь, что новая(значение если ЛОЖЬ).Пример из жизни. Ставим
Способ 1. Дополнительный столбец с ключом поиска
в разделе Ближайшее альтернативные формулы. Связка значение ближайшее к критерию не проделывать такуюВ открывшемся окне мастера=ЕСЛИОШИБКА(ВПР(B3;прайс;2;0);0)приблизительного соответствияи введите любое а как формулу а не поСтавим курсор в ячейку результат.
командой сайта office-guru.ruFALSE таблица В нашем случае задачу ЧИСЛО. Там же можно функций ИНДЕКС(), ПОИСКПОЗ() образуют так называемый или совпадающее с ним) сложную процедуру с
функций выбираем категорию=IFERROR(VLOOKUP(B3;прайс;2;0);0), т.е. в случае имя (без пробелов), массива. нескольким, то нам Е8, где иТеперь найти стоимость материаловИсточник: http://www.howtogeek.com/howto/14455/vlookup-in-excel-part-2-using-vlookup-without-a-database/
(ЛОЖЬ), чтобы искатьRate Table это значение ячейкиУсложняем задачу
найти решение задачи «правый ВПР»: =ИНДЕКС(B13:B19;ПОИСКПОЗ($E$9;$A$13:$A$19;0);1) и ЛОЖЬ (ищется значение другими товарными наименованиями,«Ссылки и массивы»Если нужно извлечь не с «кокосом» функция напримерКак это на самом нужно из нескольких будет этот список. не составит труда:
Способ 2. Функция СУММЕСЛИМН
Перевел: Антон Андронов точное соответствие. Ввключает те же B7, т.е. ставкаПрименяем функцию ВПР к о поиске ближайшегоВ файле примера лист Справочник показано, что в точности совпадающее просто становимся в. Затем, из представленного одно значение а попытается найти товарПрайс деле работает: сделать один!Заходим на вкладку «Данные». количество * цену.Автор: Антон Андронов нашем же варианте данные, что и комиссионных при общем
решению задачи при несортированном ключевом формулы применимы и с критерием). Значение ИСТИНА нижний правый угол набора функций выбираем
сразу весь набор с наименованием, которое. Теперь в дальнейшемФункция ИНДЕКС выдает изДобавим рядом с нашей Меню «Проверка данных».Функция ВПР связала двеФункция ВПР в Excel
Способ 3. Формула массива
использования функции предыдущая таблица пороговых объёме продаж вышеЗаключение столбце. для ключевых столбцов предполагает, что первый заполненной ячейки, чтобы«ВПР» (если их встречается максимально похоже на можно будет использовать диапазона цен C2:C161 таблицей еще одинВыбираем тип данных –
- таблицы. Если поменяется позволяет данные изВПР
- значений. порогового значения.Проиллюстрируем эту статью примером
- Примечание содержащих текстовые значения, столбец в появился крестик. Проводим. Жмем на кнопку несколько разных), то «кокос» и выдаст
это имя для содержимое N-ой ячейки
столбец, где склеим «Список». Источник – прайс, то и одной таблицы переставить, мы должны оставитьОсновная идея состоит вКак Вы можете видеть, из реальной жизни. Для удобства, строка т.к. артикул частотаблице этим крестиком до«OK» придется шаманить с цену для этого ссылки на прайс-лист. по порядку. При название товара и диапазон с наименованиями изменится стоимость поступивших в соответствующие ячейки это поле пустым, том, чтобы использовать если мы берём
– расчёт комиссионных таблицы, содержащая найденное бывает текстовым значением.отсортирован в алфавитном самого низа таблицы.
. формулой массива. наименования. В большинствеТеперь используем функцию этом порядковый номер месяц в единое материалов. на склад материалов второй. Ее английское либо ввести значение функцию общую сумму продаж на основе большого решение, выделена Условным форматированием.
planetaexcel.ru
Использование функции ВПР (VLOOKUP) для подстановки значений
Также задача решена порядке или поТаким образом мы подтянулиПосле этого открывается окно,Усовершенствованный вариант функции ВПР
Постановка задачи
случаев такая приблизительнаяВПР нужной ячейки нам целое с помощьюКогда нажмем ОК – (сегодня поступивших). Чтобы
наименование – VLOOKUP.TRUEВПР $20000, то получаем ряда показателей продаж. Это можно сделать для несортированного ключевого
Решение
возрастанию. Это способ все нужные данные в которое нужно (VLOOKUP 2). подстановка может сыграть. Выделите ячейку, куда находит функция ПОИСКПОЗ. оператора сцепки (&), сформируется выпадающий список. этого избежать, воспользуйтесьОчень удобная и часто(ИСТИНА). Крайне важнодля определения нужной в ячейке B2 Мы начнём с с помощью формулы =ПОИСКПОЗ($A$7;$A$11:$A$17;1)=СТРОКА()-СТРОКА($A$10). столбца. используется в функции из одной таблицы вставить аргументы функции.
Быстрый расчет ступенчатых (диапазонных) с пользователем злую она будет введена Она ищет связку чтобы получить уникальныйТеперь нужно сделать так, «Специальной вставкой». используемая. Т.к. сопоставить правильно выбрать этот тарифной ставки по ставку комиссионных 20%. очень простого варианта,ПримечаниеПримечание по умолчанию, если в другую, с Жмем на кнопку, скидок при помощи шутку, подставив значение (D3) и откройте названия товара и столбец-ключ для поиска:
чтобы при выбореВыделяем столбец со вставленными вручную диапазоны с параметр. таблице Если же мы и затем постепенно: Если в ключевом. Для удобства, строка не указан другой. помощью функции ВПР. расположенную справа от функции ВПР. не того товара, вкладку месяца (Теперь можно использовать знакомую определенного материала в
ценами.
- десятками тысяч наименованийЧтобы было понятнее, мыRate Table введём значение $40000, будем усложнять его, столбце имеется значение таблицы, содержащая найденноеНиже в статье рассмотреныКак видим, функция ВПР
- поля ввода данных,Как сделать «левый ВПР» который был наФормулы — Вставка функцииНектаринЯнварь функцию графе цена появляласьПравая кнопка мыши – проблематично. введёмв зависимости от то ставка комиссионных пока единственным рациональным совпадающее с искомым, решение, выделена Условным форматированием. популярные задачи, которые не так сложна, чтобы приступить к с помощью функций самом деле! Так (Formulas — Insert) по очереди во
- ВПР (VLOOKUP) соответствующая цифра. Ставим «Копировать».Допустим, на склад предприятияTRUE объема продаж. Обратите изменится на 30%: решением задачи не то функция с (см. статью Выделение можно решить с как кажется на
- выбору аргумента искомого ИНДЕКС и ПОИСКПОЗ что для большинства Function) всех ячейках склеенного
-
- для поиска склеенной курсор в ячейкуНе снимая выделения, правая по производству тары(ИСТИНА) в поле внимание, что продавецТаким образом работает наша станет использование функции параметром строк таблицы в использованием функции ВПР(). первый взгляд. Разобраться значения.Как при помощи функции реальных бизнес-задач приблизительный. В категории из двух столбцов
- пары Е9 (где должна кнопка мыши – и упаковки поступилиRange_lookup может продать товаров таблица.ВПРИнтервальный_просмотр MS EXCEL вПусть дана исходная таблица в её примененииТак как у нас ВПР (VLOOKUP) заполнять поиск лучше неСсылки и массивы (Lookup диапазона A2:A161&B2:B161 иНектаринЯнварь будет появляться цена). «Специальная вставка». материалы в определенном(Интервальный_просмотр). Хотя, если на такую сумму,Давайте немного усложним задачу.. Первоначальный сценарий нашей =ЛОЖЬ вернет первое найденное зависимости от условия (см. файл примера не очень трудно, искомое значение для бланки данными из разрешать. Исключением является and Reference)
выдает порядковый номериз ячеек H3Открываем «Мастер функций» иПоставить галочку напротив «Значения». количестве.
Ошибки #Н/Д и их подавление
оставить поле пустым, которая не равна Установим ещё одно вымышленной задачи звучит
- значение, равное искомому, в ячейке). лист Справочник). зато освоение этого ячейки C3, это списка
- случай, когда мынайдите функцию ячейки, где нашла и J3 в выбираем ВПР. ОК.Стоимость материалов – в
- это не будет ни одному из пороговое значение: если так: если продавец а с параметромПримечаниеЗадача состоит в том, инструмента сэкономит вам«Картофель»Как вытащить не первое, ищем числа, аВПР (VLOOKUP) точное совпадение. По созданном ключевом столбце:Первый аргумент – «ИскомоеФормула в ячейках исчезнет. прайс-листе. Это отдельная ошибкой, так как пяти имеющихся в продавец зарабатывает более за год делает =ИСТИНА — последнее
. Никогда не используйте - чтобы, выбрав нужный массу времени при, то и выделяем а сразу все не текст -и нажмите сути, это первыйПлюсы значение» — ячейка Останутся только значения. таблица.TRUE таблице пороговых значений.
$40000, тогда ставка
объём продаж более
(см. картинку ниже). ВПР() с параметром Артикул товара, вывести работе с таблицами. соответствующее значение. Возвращаемся значения из таблицы например, при расчетеОК способ, но ключевой : Простой способ, знакомая с выпадающим списком.Необходимо узнать стоимость материалов,— это его К примеру, он
комиссионных возрастает до
$30000, то его
P.S.
Если столбец, по которомуИнтервальный_просмотр его Наименование иАвтор: Максим Тютюшев к окну аргументовФункции VLOOKUP2 и VLOOKUP3 Ступенчатых скидок.
Ссылки по теме
- . Появится окно ввода столбец создается виртуально
- функция, работает с Таблица – диапазонФункция помогает сопоставить значения
- поступивших на склад. значение по умолчанию: мог продать на
- 40%: комиссионные составляют 30%. производится поиск не ИСТИНА (или опущен) если
- Цену. Функция ВПР(), английский вариант функции.
- из надстройки PLEXВсе! Осталось нажать
planetaexcel.ru
аргументов для функции:
Блог о программе 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 комментариев
А я пользовался только одной — самой простой.
Автору спасибо за обзор! Очень часто приходится пользоваться в работе этой функцией.
Поиск и подстановка по нескольким условиям
Постановка задачи
Если вы продвинутый пользователь 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 в последнем аргументе функции указывает на то, то совпадение должно быть абсолютно точным.
ВПР (функция ВПР)
ФУНКЦИЯ ВПР используется, если нужно найти элементы в таблице или диапазоне по строкам. Например, можно найти цену на автомобильную часть по номеру детали или получить имя сотрудника на основе его кода сотрудника.
Совет: Чтобы получить дополнительную справку о функции ВПР, просмотрите эти видео с YouTube от экспертов сообщества Excel!
Самая простая функция ВПР означает следующее:
= ВПР (необходимые условия для поиска, номер столбца в диапазоне, содержащий возвращаемое значение, возвращаемое приближенное или точное соответствие — обозначено как 1/истина или 0/ложь).
Совет: Секрет функции ВПР состоит в организации данных таким образом, чтобы искомое значение (Фрукт) отображалось слева от возвращаемого значения, которое нужно найти (Количество).
Используйте функцию ВПР для поиска значения в таблице.
ВПР(искомое_значение, таблица, номер_столбца, [интервальный_просмотр])
= ВПР (A2; A10: C20; 2; ИСТИНА)
Значение для поиска. Значение, которое вы хотите найти, должно находиться в первом столбце диапазона ячеек, указанного в аргументе инфо_таблица .
Например, если Таблица-массив охватывает ячейки B2: D7, то искомое_значение должен находиться в столбце B.
Искомое_значение может являться значением или ссылкой на ячейку.
Диапазон ячеек, в котором будет выполнен поиск искомого_значения и возвращаемого значения с помощью функции ВПР.
Первый столбец в диапазоне ячеек должен содержать Искомое_значение. Диапазон ячеек также должен содержать возвращаемое значение, которое нужно найти.
Номер столбца (начиная с 1 для самого левого столбца массива « инфо_таблица»), содержащего возвращаемое значение.
Логическое значение, определяющее, какое совпадение должна найти функция ВПР, — приблизительное или точное.
Приближенное соответствие: 1/истина предполагает, что первый столбец в таблице отсортирован либо в числовом формате, либо в алфавитном порядке, а затем будет искать ближайшее значение. Это способ по умолчанию, если не указан другой. Например, = ВПР (90; a1: B100; 2; истина).
Точное совпадение: 0/ложь осуществляет поиск точного значения в первом столбце. Например, = ВПР («Смит»; a1: B100; 2; ложь).
Начало работы
Для построения синтаксиса функции ВПР вам потребуется следующая информация:
Значение, которое вам нужно найти, то есть искомое значение.
Диапазон, в котором находится искомое значение. Помните, что для правильной работы функции ВПР искомое значение всегда должно находиться в первом столбце диапазона. Например, если искомое значение находится в ячейке C2, диапазон должен начинаться с C.
Номер столбца в диапазоне, содержащий возвращаемое значение. Например, если в качестве диапазона задано значение B2: D11, число B должно быть первым столбцом, а в качестве второго — «C» и т. д.
При желании вы можете указать слово ИСТИНА, если вам достаточно приблизительного совпадения, или слово ЛОЖЬ, если вам требуется точное совпадение возвращаемого значения. Если вы ничего не указываете, по умолчанию всегда подразумевается вариант ИСТИНА, то есть приблизительное совпадение.
Теперь объедините все перечисленное выше аргументы следующим образом:
= ВПР (искомое значение; диапазон с искомым значением; номер столбца в диапазоне с возвращаемым значением, приближенное соответствие (истина) или точное совпадение (ложь)).
Вот несколько примеров использования функции ВПР.
ВПР по двум и более критериям
Наверняка все, кто знаком с функцией ВПР знают, что она осуществляет поиск заданных значений исключительно в левом столбце указанной таблицы(подробнее про ВПР можно прочитать в статье: Как найти значение в другой таблице или сила ВПР). Так же многие знают, что ВПР ищет только на основании одного значения.
Для большего понимания смысла статьи рекомендую сначала скачать файл с примером данных и формул:
Скачать пример:
Tips_All_VlookupMany.xls (62,5 KiB, 4 235 скачиваний)
Например, имеется файл с таблицей такого вида:
И необходимо получить сумму выручки не только на основании салона, но и на основании бренда. При этом делать это автоматически, например для получения данных в такую табличку:
Т.е. в ячейке B2 из выпадающего списка выбирается Салон, а из B3 — Бренд(подробнее про выпадающие списки можно прочесть в статье Выпадающие списки). И в зависимости от выбора должна рассчитаться сумма Выручки и должен проставиться комментарий.
В приложенном к статье файле исходная таблица находится на листе » Отчет сентябрь «, а вторая(с выбором) на листе » Выбор «. На самом деле это не сильно принципиально, просто будет более понятна логика формул, приведенных ниже.
Сумму по двум критериям можно найти при помощи той же СУММЕСЛИМН (SUMIFS) :
=СУММЕСЛИМН(‘Отчет сентябрь’!$C$2:$C$67;’Отчет сентябрь’!$A$2:$A$67; B2 ;’Отчет сентябрь’!$B$2:$B$67; B3 )
=SUMIFS(‘Отчет сентябрь’!$C$2:$C$67,’Отчет сентябрь’!$A$2:$A$67,Выбор!B2,’Отчет сентябрь’!$B$2:$B$67,Выбор!B3)
Подробнее про поиск сумм по двум и более критериям можно прочитать в статье Функция СУММЕСЛИ, а так же СУММЕСЛИ по двум критериям.
А вот с комментарием сложнее — там содержится текст и СУММЕСЛИМН ничего не найдет. Да и в случае, если в исходных данных есть задвоения и суммировать по определению ничего не надо СУММЕСЛИМН будет не лучшим вариантом — ведь она вернет сумму всех ячеек, удовлетворяющих условиям. А это, повторюсь — не всегда нужно.
Здесь на помощь придет родственная с ВПР функция — ПОИСКПОЗ (MATCH) :
=ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( B2 & B3 ;’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67;0))
=INDEX(‘Отчет сентябрь’!$D$2:$D$67,MATCH(B2&B3,’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67,0))
Эта функция является формулой массива. Это означает, что вводить её в ячейки надо нажатием не просто Enter, а сочетанием трех клавиш — Ctrl+Shift+Enter. Теперь рассмотрим подробнее принцип работы этой формулы, чтобы можно было применить на любых данных. На самом деле принцип не так уж сложен. Основной упор сделан на эти две «связки»:
- B2 & B3 — здесь объединяем значение выбранного Салона(Санкт-Петербург) и Бренда(Ниссан) в одну строку, чтобы получилось «Санкт-ПетербургНиссан». За объединение двух значений отвечает амперсанд(&).
- ‘Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67 — а здесь мы последовательно объединяем в одну строку значения двух столбцов исходных данных — Салон и Бренд. Т.е. в результате мы получим массив объединенных значений: МоскваBMW, ВоронежBMW, СамараЛексус и т.д. (именно это объединение требует, чтобы формула вводилась как формула массива) . И уже среди этих значений ищем «Санкт-ПетербургНиссан». При нахождении совпадения ПОИСКПОЗ вернет позицию строки, в которой нашел. И передаст её в ИНДЕКС. А т.к. ИНДЕКС в нашем случае возвращает значение из заданной строки указанного массива, то мы получаем требуемое.
По шагам это будет выглядеть так:
сначала искомые значения будут объединены в один
=ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( B2 & B3 ;’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67;0))
=>
=ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( Санкт-Петербург & Ниссан ;’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67;0))
=>
=ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( Санкт-Петербург Ниссан ;’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67;0))
=>
далее так же объединяем построчно значения всех столбцов для поиска значений
=ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( Санкт-Петербург Ниссан ;<«МоскваBMW»:»ВоронежBMW»:»СамараЛексус». >;0))
=>
=ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;4)
=>
только допы
Здесь важно следить за тем, чтобы значения в исходном массиве для поиска объединялись в том же порядке, что и искомые значения. На приложенном примере, если первым аргументом(искомое_значение) в ПОИСКПОЗ мы указали сначала Салон( B2 ) , а потом Бренд( B3 ) , то и вторым аргументом(просматриваемый_массив) мы должны указать два столбца в том же порядке — сначала Салон( ‘Отчет сентябрь’!$A$2:$A$67 ), а уже потом Бренд( ‘Отчет сентябрь’!$B$2:$B$67 ). Если их перепутать ошибки как таковой это не вызовет, но и значения найдены не будут.
Так же стоит учитывать, что такая формула будет рассчитываться дольше обычной, поэтому не стоит указывать столбцы полностью( ‘Отчет сентябрь’!$A:$A ), т.к. это может повлечь за собой расчет всего одной формулы непозволительно долгое время.
При этом очевидно, что просматривать значения можно не только из смежных столбцов, а из любых и уж точно они могут быть и первыми, и последними. И значения возвращаемые могут так же располагаться в любом столбце таблицы. И также хочу заметить, что это в примере используется только два критерия — реально их можно сделать и три, и пять, и десять. Объединяем сколько надо, указываем нужное кол-во столбцов так же с объединением и все. Но тут надо понимать, что в некоторых случаях будет оптимальнее добавить в исходные данные(те, где ищем) еще один столбец, в котором записать все данные, объединив их. Т.е. опять же на примере файла из статьи можно на листе «Отчет сентябрь» добавить формулу в столбец E: = A2 & B2
и затем искать можно будет обычной формулой:
=ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( B2 & B3 ;’Отчет сентябрь’!$E$2:$E$67;0))
=INDEX(‘Отчет сентябрь’!$D$2:$D$67,MATCH(B2&B3,’Отчет сентябрь’!$E$2:$E$67,0))
Больше нюансов, о которых я бы хотел рассказать, нет. Все стандартно, как для обычной связки ИНДЕКС(ПОИСКПОЗ .
В приложенном к статье примере приведен пример и с функцией СУММЕСЛИМН и с функцией ПОИСКПОЗ.
Скачать пример:
Tips_All_VlookupMany.xls (62,5 KiB, 4 235 скачиваний)
P.S. Если кого-то пугает тот факт, что формулу надо вводить как формулу массива(Ctrl+Shift+Enter), то можно модифицировать формулу так:
=ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;СУММПРОИЗВ(МАКС(( B2 =’Отчет сентябрь’!$A$2:$A$67)*( B3 =’Отчет сентябрь’!$B$2:$B$67)*(СТРОКА( $B$2:$B$67 )-1))))
=INDEX(‘Отчет сентябрь’!$D$2:$D$67,SUMPRODUCT(MAX((B2=’Отчет сентябрь’!$A$2:$A$67)*(B3=’Отчет сентябрь’!$B$2:$B$67)*(ROW($B$2:$B$67)-1))))
Здесь вместо ПОИСКПОЗ роль поиска номера строки в массиве ‘Отчет сентябрь’!$D$2:$D$67 играет СУММПРОИЗВ. Сам принцип работы СУММПРОИЗВ я описывал в этой статье — Функция СУММЕСЛИ, а так же СУММЕСЛИ по двум критериям. К этому могу добавить лишь некоторые разъяснения(хотя если хотите понять сам принцип — лучше потратить пару минут на статью).
( B2 =’Отчет сентябрь’!$A$2:$A$67) — здесь значение выбранного салона сверяется со списком салонов на листе Отчет сентябрь . Где значения равны получаем значение ИСТИНА(TRUE), где отличаются — ЛОЖЬ(FALSE).
( B3 =’Отчет сентябрь’!$B$2:$B$67) — здесь значение выбранного бренда сверяется со списком брендов на листе Отчет сентябрь . Где значения равны получаем значение ИСТИНА(TRUE), где отличаются — ЛОЖЬ(FALSE).
В результате перемножения этих двух выражений мы получим массив 1 и 0(1 будет там, где бренд и салон совпали, 0 — где различаются), т.к. ИСТИНА для Excel по сути =1, а ЛОЖЬ =0.
Далее полученный массив единиц и нулей перемножаем на выражение: СТРОКА( $B$2:$B$67 ) . Это выражение дает нам массив номеров строк т.к. в выражении берется номер строки на листе, а нам нужен номер в диапазоне ‘Отчет сентябрь’!$D$2:$D$67 , то мы еще вычитаем 1(т.к. диапазон у нас начинается со второй строки). С таким же успехом можно было не вычитать, а либо все диапазоны взять с первой строки, либо указать так: СТРОКА( $B$1:$B$66 )
Полученный массив строк перемножаются на массив единиц и нулей салона и бренда. В результате получим номер строки, умноженный на 1 там, где салон и бренд равны искомым, и на ноль там, где отличаются. И в итоге массив номеров строки и нулей. И из этого отбирается максимальный номер строки.
По сути, это уже решает проблему поиска, но если значений, подходящих под условия больше одного, то именно такой результат может быть(даже скорее всего будет) неверным. Чтобы этого избежать мы применяем функцию МАКС (MAX) , чтобы в результате из всех строк была отобрана только максимальная. Т.е. в результате мы получим не первое совпадение из всех возможных, а последнее.
Так же рекомендую ознакомиться со статьей Как просмотреть этапы вычисления формул, чтобы можно было самостоятельно поразбираться в принципах работы формул.
В сети можно найти так же решения при помощи макросов(VBA), но далеко не всегда есть возможность использовать макросы в файлах.
Статья помогла? Поделись ссылкой с друзьями!
Поиск по меткам
Поделитесь своим мнением
Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме — добро пожаловать на Форум