Вернуть все найденные значения
Если не все, то очень многие знают функцию ВПР(VLookUp) в Excel. При всех её достоинствах у неё есть и недостатки: она ищет значение исключительно в первом столбце таблицы, а возвращать может только ПЕРВОЕ найденное значение(сверху вниз). Плюс искать умеет только по одному критерию.
Функция
- искать по двум и более критериям(до 124-х)
- критерии могут располагаться в любом столбце, а не только в первом
- возвращать не только первое найденное, но любое указанное(поиск идет сверху-вниз): второе, третье, четвертое и т.д.
- вести поиск заданного значения не только сверху вниз, но и снизу вверх - т.е. найти первое снизу значение
- вернуть массив всех найденных значений.
Мастер функций -Категория "MulTEx" -
Сумма/Поиск/Функции -Массивы -
Синтаксис:
=ВПР_МН(
=ВПР_МН(
=ВПР_МН(
=ВПР_МН(
"реализация"
.
Так же данный аргумент может принимать в качестве критерия символы сравнения
">0" - будут отобраны ячейки, значения ячеек критериев для которых больше нуля;">=2" - будут отобраны ячейки, значения ячеек критериев для которых больше или равно двум;"<0" - будут отобраны ячейки, значения ячеек критериев для которых меньше нуля;"<=60" - будут отобраны ячейки, значения ячеек критериев для которых меньше или равно 60;"<>0" - будут отобраны ячейки, значения ячеек критериев для которых не равно нулю;"<>" - будут отобраны ячейки, значения ячеек критериев для которых не пустые;
Вместо нуля может быть любое число или текст. Так же можно добавить ссылку на ячейку со значением:
Например, если в качестве
Например, если в качестве
- 0 - выводит последнее найденное значение - функция вернет только одно последнее найденное в указанном диапазоне значение
- 1 - выводит первое найденное значение - функция вернет только одно первое найденное в указанном диапазоне значение
- 2 - выводит значение под указанным номером вхождения(если выбран, то необходимо указать Номер вхождения) - функция вернет только одно значение, порядковый номер которого будет равен указанному аргументу Номер вхождения. Т.е. если необходимо вывести только 7-ое найденное значение, указываем
Номер вхождения - 7 . В качестве данного аргумента можно использовать данные в ячейках -I2 . Если номер вхождения не указан - функция вернет значение ошибки#ЧИСЛО! (#NUM!) - -1 - выводит все найденные значения (для этого требуется ввести функцию как формулу массива: сначала выделить с сразу несколько ячеек, в которые следует поместить результат. В строку формул ввести данную функцию и одновременно нажать сочетание клавиш
Ctrl +Shift +Enter ). Подробнее про формулы массива можно прочитать здесь.
Если используется версия Office 365 или новее - функцию допускается вводить только в одну ячейку и она распространит все найденные значения на остальные ячейки сама, выделять заранее несколько ячеек нет необходимости.
Чтобы лучше понять работу и синтаксис функции, разберем несколько несложных примеров. В качестве рабочей возьмем таблицу следующего вида:
Теперь решим несколько задач при помощи функции ВПР_МН:
- Найдем кол-во дней отсрочки для контрагента "ООО "Беркут""(при условии, что контрагент записан в ячейке
):J2
=ВПР_МН( $A$1:$E$20 ;J2 ;1;2;2;1)
Это несложная задача и по сути здесь с легкостью справится стандартная ВПР и ВПР_МН здесь не обязательно. - Теперь найдем кол-во дней отсрочки для контрагента "ООО "Беркут"", но при этом только для 2-го квартала(при условии, что контрагент записан в ячейке J2, а значение квартала - в
):I2
=ВПР_МН( $A$1:$E$20 ;J2 ;1;2;2;1;I2 ;4)
кварталы в нашей таблице записаны в столбце D, который идет 4-м по счету в нашей таблице. Поэтому мы и указываем последовательно (2 кв.) и 4(номер столбца, где искать квартал).I2 - Отберем всех контрагентов с отсрочкой менее 30 дней:
=ВПР_МН( $A$1:$E$20 ;"<30";2;1;-1;1)
для того, чтобы отобрать всех контрагентов, 5-ый аргумент(Выводить первое значение) указывается как "-1", а формула вводится в ячейку как формула массива тремя клавишами - Ctrl +Shift +Enter . При этом важно помнить, что перед тем как вводить формулу необходимо заранее выделить не одну ячейку, а сразу несколько ячеек(построчно) в кол-ве, достаточном для записи всех найденных значений. В нашем случае можно было выделить ячейки , записать в них формулуK2:K3 =ВПР_МН( и завершить ввод сочетанием клавиш$A$1:$E$20 ;"<30";2;1;-1;1)Ctrl +Shift +Enter .
В офисе 365 вводить формулу как формулу массива нет необходимости - подробнее в статье: Динамические массивы в Excel. - Выведем все объёмы закупок за "2 кв." у контрагента
"ООО "Беркут"" (при условии, что контрагент записан в ячейке , а значение квартала - вJ2 I2 ):
=ВПР_МН( $A$1:$E$20 ;J2 ;1;3;-1;1;I2 ;4)
Так же как и в примере выше - формула вводится в ячейку как формула массива, т.е. сразу в несколько ячеек и сочетанием клавиш Ctrl +Shift +Enter . Отличие в том, что теперь у нас не один критерий поиска, а два.
В офисе 365 вводить формулу как формулу массива нет необходимости - подробнее в статье: Динамические массивы в Excel. - И еще одна стандартная задача - отобрать всех покупателей с объемом закупок от 10 до 20 млн. Отбор производится на основании трех критериев: 1-ый - признак контрагента(Покупатель или Поставщик), который в нашей таблице записан в столбце E(в формуле мы этот признак для отбора указываем в ячейке
); 2-ой - нижнее значение объема закупок в 10 млн; 3-ий - верхнее значение объема закупок в 20 млн:K2
=ВПР_МН( $A$1:$E$20 ;J2 ;5;1;-1;1;">=10000000";3;"<=20000000";3)
Формула вводится в ячейку как формула массива, т.е. сразу в несколько ячеек и сочетанием клавиш Ctrl +Shift +Enter .
В офисе 365 вводить формулу как формулу массива нет необходимости - подробнее в статье: Динамические массивы в Excel.
Так же нижнее и верхнее значение объёма закупок можно указать непосредственно в ячейках и ссылаться в формуле на них. Для примера это будут ячейки иI2 , признак контрагента по прежнему в ячейкеJ2 :K2
=ВПР_МН( $A$1:$E$20 ;K2 ;5;1;-1;1;I2 ;3;J2 ;3)
Так же см.:
ВПР_ВСЕ_КНИГИ
Как найти значение в другой таблице или сила ВПР
ВПР с возвратом всех значений
ВПР с поиском по нескольким листам
возможно мало исходных данных, может в этом дело.
У меня в одной таблице такие данные:
rr2314 50
rr2314 45
ou65488 1210
ww65412 650
ww65412 10
ww65412 51
ww65412 5
В другой такие:
ou65488 1209
ww65412 5
ww65412 61
ww65412 650
rr2314 50
rr2314 45
и надо по первому столбцу сопоставить данные вторых столбцов
Вы не могли бы мне на e-mail выслать пример данных и того, как Вы вводите формулу?the-Prist@yandex.ru
я приобрел надстройку у меня вопрос по впр2 если мне нужно найти в диапазоне не точное вхождение а определенную последовательность?
prepodobny, а что Вы имеете ввиду под последовательностью? В функции можно применять символы подстановки: * и ?
Помогите и мне плз.... почти 2 недели ломаю голову и подставляю различные формулы но ничего не помогает либо не так делаю..... вот что есть
в одном столбце идут значения подтянутые из файла по первым 8 знакам А1=левсимв(А1;8), они дополняются путем поиска по тем же 8 символам с др страницы. но подставляет он только 1 значение (и почему то последнее вот форм. =ВПР(ЛЕВСИМВ('Вставлять в А2'!A21;9);S:S;1;1)) из нескольки.
задача: сделать так, чтобы каждая повторяющаяся ранее ячейка (например их всего 20) с идентичным содержанием менялась на сл. по совподению на др стр (их например 6). т.е. выглядеть должно так
1,2,3,4,5,6,1,2,3,4,5,6,1,2,3...и так до 20 этот пример примитивен но надеюсь понятен...
формула подставления =ВПР(ЛЕВСИМВ('Вставлять в А2'!A11;8);S:S;1;1)
массив для подставления FR!A1:C4288
пример совпадения... по первым 8 символам
XP7200RS/50B
XP7200RS/50C
XP7200RS/70D
XP7200RS/70E
XP7200RS/70F
XP7200RS/70G
XP7200RU/50C
XP7200RU/70D
XP7200RU/70E
XP7200RU/70F
XP7200RU/70G
заранее спасибо.
ВПР возвращает только первое совпадение, если аргумент интервальный_просмотр равен 0. У Вас он равен 1. Почитайте справку. И ВПР не умеет возвращать ВСЕ значения, подходящие под критерий. Именно поэтому я написал эту функцию - ВПР2.
Здравствуйте, никак не могу понять, что я делаю не так:
первый столбец A с фразами, второй B с номерами объявлений, и есть список фраз в столбце С, которые необходимо найти в первом столбце (они могут там встречаться больше 1 раза) и вывести все номера объявлений, соответствующие этим фразам.
Функция получилась такая {=ВПР2($A$1:$C$156851;C2;1;2;-1)}, но она выдает #ЗНАЧ
Пробовала по разному изменять, но в некоторых случаях выдает 0, в большинстве все равно #ЗНАЧ.
Подскажите, пожалуйста, я прочитала форум и описание к функции, но никаких полезных идей не появилось и исправить ошибку не удалось..
kiritani, я не могу сказать причину без файла. Вышлите файл мне на почту:the-Prist@yandex.ru
В файле оставьте формулу так, как Вы её вводите.
=ВПР_МН(AC1806:AD1809;AE1802;1;2;2;2)
AE1802 = 1
AC1806:AD1809
1 A
1 B
2 C
3 D
Ожидаю по вашему оператору получить результат B, но какие-бы варианты не пробовал получаю 0. Что делаю не так?