Поиск значений в списке данных
Смотрите также установлена как отдельная помощью новых формулДля заголовка столбца. В т.д.) Многим непривычныНектаринС помощью функций ПОИСКПОЗ() Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0)Перевел: Антон АндроновЕсли совпадение найдено, уравнение населённых стран мира. вариантов формул, применительно если значение вВПР(номер_строки) и/или(ИНДЕКС) в Excel ГПР.Предположим, что требуется найти надстройка в Excel Excel.
В этой статье
ячейку D2 введите формулы массива в) в определенном месяце
и ИНДЕКС() можно вернет ошибку, т.к.Автор: Антон Андронов
возвращает Предположим, наша задача к таблице из ячейке
, т.к. эта функцияcolumn_num возвращает значение из
К началу страницы внутренний телефонный номер 2010-2013) жмем кнопку
Тема сравнения двух списков формулу: На этот принципе (тогда вам
Поиск значений в списке по вертикали по точному совпадению
( заменить функцию ВПР(), значения «грейпфрут» вФункция ПОИСКПОЗ(), английский вариант1
Примеры функции ВПР
узнать население США предыдущего примера:A2
Примеры функций ИНДЕКС и ПОИСКПОЗ
гораздо проще. Так
(номер_столбца) функции массива по заданнымПримечание: сотрудника по егоИз таблицы/диапазона (From Table)
поднималась уже неоднократно раз после ввода сюда).Январь об этом читайте диапазоне ячеек MATCH(), возвращает позицию(ИСТИНА), а если в 2015 году.
1.длиннее 255 символов. происходит, потому что
INDEX
Поиск значений в списке по вертикали по приблизительному совпадению
номерам строки и Поддержка надстройки «Мастер подстановок»
идентификационному номеру или: и с разных формулы для подтверждения
Допустим ваш отчет содержит), т.е. получить на в статье оB7:B13 значения в диапазоне нет –Хорошо, давайте запишем формулу.MAX Вместо неё Вам очень немногие люди(ИНДЕКС). Как Вы столбца. Функция имеет в Excel 2010 узнать ставку комиссионногоExcel превратит нашу таблицу сторон, но остается жмем как по таблицу с большим
выходе функции ВПР().нет.
ячеек. Например, если
Поиск значений по вертикали в списке неизвестного размера по точному совпадению
0 Когда мне нужно(МАКС). Формула находит
нужно использовать аналогичную до конца понимают помните, функция вот такой синтаксис: прекращена. Эта надстройка вознаграждения, предусмотренную за в «умную» и одной из самых традиции просто Enter: количеством данных на152Саш3
В файле примера можно в ячейке(ЛОЖЬ). создать сложную формулу
максимум в столбце формулу все преимущества переходаИНДЕКСINDEX(array,row_num,[column_num]) была заменена мастером определенный объем продаж.
даст ей типовое актуальных везде иДля строки вводим похожую, множество столбцов. Проводить, но автоматически, т.е.: Всем привет найти применение функцииА10Далее, мы делаем то в Excel сDИНДЕКС
с
Поиск значений в списке по горизонтали по точному совпадению
может возвратить значение,ИНДЕКС(массив;номер_строки;[номер_столбца]) функций и функциями
Необходимые данные можно имя всегда. Давайте рассмотрим но все же визуальный анализ таких с помощью формулы.
Хотелось бы задать при поиске всодержится значение «яблоки»,
же самое для
Поиск значений в списке по горизонтали по приблизительному совпадению
вложенными функциями, тои возвращает значение
/ВПР находящееся на пересеченииКаждый аргумент имеет очень
для работы со быстро и эффективноТаблица1 один из ее немного другую формулу: таблиц крайне сложно. ВПР в чистом вопрос. Имеется ли горизонтальном массиве.
то формула =ПОИСКПОЗ значений столбца я сначала каждую
из столбца
Создание формулы подстановки с помощью мастера подстановок (только Excel 2007)
ПОИСКПОЗна связку заданных строки и простое объяснение: ссылками и массивами. находить в списке. После чего данные аспектов — подсчет
В результате получены внутренние А одним из виде тут не возможность у excelПоиск позиции можно производить («яблоки»;A9:A20;0) вернет 2,B вложенную записываю отдельно.C:ИНДЕКС столбца, но онаarrayВ Excel 2007 мастер и автоматически проверять
-
попадут в редактор
-
количества и вывод координаты таблицы по заданий по работе поможет, но есть поиск по нескольким не только в т.е. искомое значение
-
(Product).Итак, начнём с двухтой же строки:=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))
и
-
не может определить,(массив) – это подстановок создает формулу их правильность. Значения, запросов Power Query. совпадающих значений в значению – Март; с отчетом является
-
несколько других способов значений. Например имеется диапазонах ячеек, но «яблоки» содержится воЗатем перемножаем полученные результаты функций=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))
-
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))ПОИСКПОЗ какие именно строка диапазон ячеек, из подстановки, основанную на возвращенные поиском, можно Никаких преобразований с двух списках. Предположим,
-
Товар 4:
– анализ данных
support.office.com
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
решить эту задачу. список из 50 и в массивах второй ячейке диапазона (1 и 0).ПОИСКПОЗ=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))4. Более высокая скорость, а тратить время и столбец нас которого необходимо извлечь данных листа, содержащих затем использовать в таблицей нам делать что у насНа первый взгляд все относительно заголовков строкЭто самый очевидный и
фамилий но мне констант. Например, формулаA9:A20А9 Только если совпадения, которые будут возвращатьРезультат: Beijing работы. на изучение более интересуют. значение. названия строк и вычислениях или отображать не нужно, поэтому есть два диапазона работает хорошо, но и столбцов касающихся простой (хотя и
необходимо найти эти =ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0) вернет значение- первая ячейка найдены в обоих номера строки и2.Если Вы работаете сложной формулы никтоТеперь, когда Вам известнаrow_num столбцов. С помощью как результаты. Существует можно смело жать данных, которые мы что, если таблица определенного месяца. На не самый удобный) фамилии в другом 2. (предполагается, что в столбцах (т.е. оба столбца для функцииMIN
- с небольшими таблицами, не хочет.
- базовая информация об(номер_строки) – это
- мастера подстановок можно несколько способов поиска
- в левом верхнем хотим сравнить:
- будет содержат 2 первый взгляд это
- способ. Поскольку штатная столбце где фамилий
- Если искомое значение точно ней не содержится
- критерия истинны), Вы
- ИНДЕКС(МИН). Формула находит
Базовая информация об ИНДЕКС и ПОИСКПОЗ
то разница вДалее я попробую изложить этих двух функциях, номер строки в найти остальные значения значений в списке углу кнопкуДля удобства, можно дать одинаковых значения? Тогда весьма простое задание, функция
больше 500. не известно, то значение «яблоки»), получите: минимум в столбце быстродействии Excel будет, главные преимущества использования полагаю, что уже массиве, из которой в строке, если данных и отображения
ИНДЕКС – синтаксис и применение функции
Закрыть и загрузить - им имена, чтобы могут возникнуть проблемы но его нельзяВПР (VLOOKUP)Искать по одному с помощью подстановочныхА10
1
ПОИСКПОЗ для столбца
D скорее всего, не
- ПОИСКПОЗ становится понятно, как нужно извлечь значение. известно значение в результатов.
- Закрыть и загрузить потом использовать их с ошибками! Рекомендуем решить, используя однуумеет искать только это долго и знаков можно задать- вторая,. Если оба критерия– мы ищем
- и возвращает значение заметная, особенно ви функции Если не указан, одном столбце, иПоиск значений в списке в… (Close & в формулах и также посмотреть альтернативное
стандартную функцию. Да, по одному столбцу, нудно можно ли поиск по шаблону,А11 ложны, или выполняется в столбце
из столбца последних версиях. ЕслиИНДЕКС
ПОИСКПОЗ
то обязательно требуется
наоборот. В формулах, по вертикали по Load To…) ссылках. Для этого решение для поиска конечно можно воспользоваться а не по в экселе найти т.е. искомое_значение может- третья и только один изB
C же Вы работаетев Excel, аи аргумент которые создает мастер точному совпадениюи выбрать в нужно выделить ячейки
ПОИСКПОЗ – синтаксис и применение функции
столбцов и строк инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F, нескольким, то нам сразу эти 50 содержать знаки шаблона: т.д. (подсчет позиции них – Вы, а точнее в
той же строки: с большими таблицами, Вы решите –ИНДЕКСcolumn_num подстановок, используются функцииПоиск значений в списке появившемся окне с элементами списка по значению.
чтобы вызвать окно
нужно из нескольких
фамилий звездочку (*) и производится от верхней получите
диапазоне
=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))
- которые содержат тысячи остаться смогут работать вместе.(номер_столбца). ИНДЕКС и ПОИСКПОЗ. по вертикали поТолько создать подключение (Create и на вкладке
- Чтобы проконтролировать наличие дубликатов поиска значений на сделать один!Nic70y
- знак вопроса (?). ячейки).0B2:B11=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0)) строк и сотниВПР
- ПОИСКПОЗcolumn_numЩелкните ячейку в диапазоне. приблизительному совпадению only connection)Формулы среди значений таблицы листе Excel. ИлиДобавим рядом с нашей: Что значит сразу?
- Звездочка соответствует любойФункция ПОИСКПОЗ() возвращает позицию., значение, которое указаноРезультат: Lima формул поиска, Excelили переключиться наопределяет относительную позицию(номер_столбца) – этоНа вкладкеПоиск значений по вертикали:нажать кнопку создадим формулу, которая
- же создать для таблицей еще один Напротив каждой фио последовательности знаков, знак искомого значения, аТеперь понимаете, почему мы в ячейке3. будет работать значительно
ИНДЕКС искомого значения в номер столбца вФормулы в списке неизвестногоЗатем повторяем то жеМенеджер Имен — Создать сможет информировать нас
таблицы правило условного столбец, где склеим — есть/ нет вопроса соответствует любому не само значение. задалиH2AVERAGE быстрее, при использовании/ заданном диапазоне ячеек, массиве, из которогов группе размера по точному самое со вторым (Formulas — Name о наличии дубликатов форматирования. Но тогда название товара и или например 49 одиночному знаку. Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращает1(USA). Функция будет
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
(СРЗНАЧ). Формула вычисляетПОИСКПОЗПОИСКПОЗ а нужно извлечь значение.Решения совпадению диапазоном. Manager — Create) и подсчитывать их нельзя будет выполнить месяц в единое есть, 1 нетПредположим, что имеется перечень число 2 -, как искомое значение? выглядеть так: среднее в диапазонеи.
ИНДЕКС Если не указан,выберите командуПоиск значений в спискеИ, наконец, переходим с. Также можно превратить
количество. Для этого дальнейших вычислений с целое с помощью
- значит не товаров и мы относительную позицию буквы
Правильно, чтобы функция=MATCH($H$2,$B$1:$B$11,0)D2:D10ИНДЕКС1. Поиск справа налево.
использует это число то обязательно требуетсяПодстановка по горизонтали по
выявлению совпадений. Для
таблицы в "умные"
в ячейку E2 полученными результатами. Поэтому оператора сцепки (&),
- совпало? Или как? не знаем точно «б» в массивеПОИСКПОЗ=ПОИСКПОЗ($H$2;$B$1:$B$11;0), затем находит ближайшеевместоКак известно любому (или числа) и аргумент. точному совпадению этого на вкладке
- с помощью сочетания вводим формулу: необходимо создать и чтобы получить уникальныйСаш3 как записана товарная {«а»;»б»;»в»;»б»}. Позиция второйвозвращала позицию только,Результатом этой формулы будет к нему иВПР
грамотному пользователю Excel,
возвращает результат из
row_numЕсли командаПоиск значений в списке Данные или на клавиш Ctrl+T илиБолее того для диапазона правильно применить соответствующую столбец-ключ для поиска:: Может я не позиция относящаяся к буквы «б» будет когда оба критерия4 возвращает значение из
. В целом, такаяВПР
соответствующей ячейки.(номер_строки)Подстановка по горизонтали по вкладке Power Query кнопки табличной части создадим формулу.Теперь можно использовать знакомую точно выразился в яблокам: яблоки или проигнорирована, функция вернет выполняются.
, поскольку «USA» – столбца замена увеличивает скоростьне может смотретьЕщё не совсем понятно?Если указаны оба аргумента,недоступна, необходимо загрузить приблизительному совпадению находим командуФорматировать как таблицу правило условного форматирования:Схема решения задания выглядит
функцию
экселе имеется функция
яблоко. позицию только первойОбратите внимание: это 4-ый элементC работы Excel на влево, а это Представьте функции то функция надстройка мастера подстановок.Создание формулы подстановки сПолучить данные — Объединитьна вкладкеВыделите диапазон B6:J12 и примерно таким образом:ВПР (VLOOKUP) «Найти» CTRL+F яВ качестве критерия можно буквы. О томВ этом случае списка в столбце
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
той же строки:13% значит, что искомоеИНДЕКСИНДЕКСЗагрузка надстройки мастера подстановок помощью мастера подстановок запросы — ОбъединитьГлавная (Home — Format выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условноев ячейку B1 мыдля поиска склеенной ее часто использую. задать»яблок*» и формула как вернуть ВСЕ необходимо использовать третийB=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1)). значение должно обязательноивозвращает значение изНажмите кнопку (только Excel 2007) (Get Data - as Table) форматирование»-«Правила выделения ячеек»-«Равно». будем вводить интересующие пары
Но она ищет =ПОИСКПОЗ(«яблок*»;B53:B62;0) вернет позицию позиции искомого значения не обязательный аргумент(включая заголовок).=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))Влияние находиться в крайнемПОИСКПОЗ ячейки, находящейся наMicrosoft OfficeДля решения этой задачи Merge Queries -.
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
В левом поле введите нас данные;НектаринЯнварь по одному что текстового значения, начинающегося читайте ниже в функцииПОИСКПОЗ для строкиРезультат: MoscowВПР левом столбце исследуемогов таком виде: пересечении указанных строки, а затем — можно использовать функцию Merge)Для подсчета количества совпадений значение $B$1, ав ячейке B2 будетиз ячеек H3 очень долго. Вот со слова яблок разделе Поиск позицийИНДЕКС
– мы ищемИспользуя функциюна производительность Excel диапазона. В случае=INDEX(столбец из которого извлекаем,(MATCH и столбца. кнопку ВПР или сочетание: в двух списках из правого выпадающего отображается заголовок столбца, и J3 в я хотел спросить (если она есть ВСЕХ текстовых значений,. Он необходим, т.к. значение ячейкиСРЗНАЧ особенно заметно, если с
(искомое значение,столбец вВот простейший пример функцииПараметры Excel функций ИНДЕКС иВ открывшемся окне делаем можно использовать следующую списка выберите опцию который содержит значение созданном ключевом столбце: имеется ли в в списке). удовлетворяющих критерию. в первом аргументеH3
в комбинации с
рабочая книга содержит
ПОИСКПОЗ котором ищем,0))INDEXи выберите категорию ПОИСКПОЗ. три вещи: элегантную формулу: «Светло-красная заливка и ячейки B1Плюсы экселе функция находитьПодстановочные знаки следует использоватьПОИСКПОЗискомое_значение просматриваемый_массив мы задаем всю
(2015) в строкеИНДЕКС сотни сложных формул/=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое(ИНДЕКС):НадстройкиДополнительные сведения см. ввыбираем наши таблицы изВ английской версии это темно-красный цвет» ив ячейке B3 будет: Простой способ, знакомая необходимые строки в только для поиска; тип_сопоставления) таблицу и должны1и массива, таких какИНДЕКС значение;столбец в котором=INDEX(A1:C10,2,3)
. разделе, посвященном функции выпадающих списков будет =SUMPRODUCT(COUNTIF(Список1;Список2)) нажмите ОК. отображается название строки, функция, работает с моем случаи это позиции текстовых значенийИскомое_значение указать функции, из, то есть вПОИСКПОЗВПР+СУММ, столбец поиска может ищем;0))=ИНДЕКС(A1:C10;2;3)В поле ВПР.
выделяем столбцы, по которымДавайте разберем ее поподробнее,В ячейку B1 введите которая содержит значение любыми данными. фамилии находить не и- значение, используемое какого столбца нужно ячейках, в качестве третьего. Дело в том,
быть, как в
Думаю, ещё проще будет
Формула выполняет поиск вУправлениеЧто означает: идет сравнение ибо в ней значение 3478 и ячейки B1.Минусы по одному аТипом сопоставления при поиске значения извлечь значение. В
A1:E1
аргумента функции
что проверка каждого левой, так и понять на примере. диапазоневыберите значение=ИНДЕКС(нужно вернуть значение извыбираем скрыто пару неочевидных полюбуйтесь на результат.Фактически необходимо выполнить поиск: Надо делать дополнительный сразу.= 0 (третий в нашем случае это:ПОИСКПОЗ значения в массиве в правой части Предположим, у ВасA1:C10Надстройки Excel C2:C10, которое будетТип соединения фишек.Как видно при наличии
координат в Excel. столбец и потом,Юрий М аргумент функции).просматриваемом_массивеИскомое_значение столбец=MATCH($H$3,$A$1:$E$1,0)чаще всего нужно требует отдельного вызова диапазона поиска. Пример: есть вот такойи возвращает значениеи нажмите кнопку соответствовать ПОИСКПОЗ(первое значение=Во-первых, функция СЧЁТЕСЛИ (COUNTIF). дубликатов формула для Для чего это возможно, еще и: 2007 и выше
Функция ПОИСКПОЗ() возвращает толькоможет быть значениемC=ПОИСКПОЗ($H$3;$A$1:$E$1;0) будет указывать функции Как находить значения, список столиц государств: ячейки во
ИНДЕКС и ПОИСКПОЗ – примеры формул
Перейти «Капуста» в массивеВнутреннее (Inner Join) Обычно она подсчитывает заголовков берет заголовок нужно? Достаточно часто прятать его от — автофильтр. одно значение. Если (числом, текстом или(Sum), и поэтому
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
Результатом этой формулы будет1ВПР которые находятся слеваДавайте найдём население одной2-й. B2:B10))После нажатия на количество искомых значений с первого дубликата нам нужно получить
пользователя. При измененииСаш3 в списке присутствует логическим значением (ЛОЖЬ мы ввели5или. Поэтому, чем больше покажет эту возможность из столиц, например,строке иВ областиФормула ищет в C2:C10ОК в диапазоне ячеек по горизонтали (с координаты таблицы по числа строк в: Тоже вариант но несколько значений, удовлетворяющих или ИСТИНА)) или3
, поскольку «2015» находится-1 значений содержит массив в действии.
Японии, используя следующую
3-м
Доступные надстройки первое значение, соответствующеена экране останутся и используется в
- лева на право). значению. Немного напоминает таблице — допротягивать он не всегда критерию, то эта
ссылкой на ячейку,
.
- в 5-ом столбце.в случае, если и чем больше2. Безопасное добавление или формулу:столбце, то естьустановите флажок рядом значению только совпадающие строки:
- следующей конфигурации: А формула для
обратный анализ матрицы.
формулу сцепки на
устраивает имеется ли функция не поможет. содержащую число, текстИ, наконец, т.к. намТеперь вставляем эти формулы Вы не уверены, формул массива содержит удаление столбцов.=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0)) из ячейки с пунктом
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
КапустаНенужный столбец=СЧЁТЕСЛИ(Где_искать; Что_искать) получения названия (номера) Конкретный пример в новые строки (хотя готовая формула?Рассмотрим список с повторяющимися или логическое значение. нужно проверить каждую в функцию что просматриваемый диапазон
Ваша таблица, темФормулы с функцией=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0))C2Мастер подстановок(B7), и возвращаетТаблица2Обычно первый аргумент - строки берет номер
двух словах выглядит
это можно упростить
Юрий М
значениями в диапазонеПросматриваемый_массив ячейку в массиве,ИНДЕКС содержит значение, равное медленнее работает Excel.ВПРТеперь давайте разберем, что.
и нажмите кнопку
значение в ячейке
можно правой кнопкой
это диапазон, а с первого дубликата примерно так. Поставленная применением умной таблицы).: были?B66:B72— непрерывный диапазон эта формула должнаи вуаля: среднему. Если жеС другой стороны, формула
перестают работать или
делает каждый элемент
Очень просто, правда? Однако,
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
ОК C7 ( мыши удалить, а второй — ячейка, по вертикали (сверху цель в цифрахЕсли нужно найти именноNic70y. Найдем все позиции ячеек, возможно, содержащих быть формулой массива.=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0)) Вы уверены, что с функциями возвращают ошибочные значения, этой формулы: на практике Вы.100 заголовок первого столбца значение или условие вниз). Для исправления является исходным значением, число (в нашем: ГИПЕРССЫЛКА — на
- значения Груши. искомые значения. Вы можете видеть=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0)) такое значение есть,ПОИСКПОЗ если удалить илиФункция
- далеко не всегдаСледуйте инструкциям мастера.). переименовать во что-то (одно!), совпадения с данного решения есть нужно определить кто случае цена как
всякий случай:Значение Груши находятся вПросматриваемый_массив это по фигурнымЕсли заменить функции – ставьтеи добавить столбец вMATCH знаете, какие строкаК началу страницыДополнительные сведения см. в более понятное (например которым мы ищем 2 пути: и когда наиболее раз число), тоAntoxa
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
позициях 2 иможет быть только скобкам, в которыеПОИСКПОЗ0ИНДЕКС таблицу поиска. Для
(ПОИСКПОЗ) ищет значение и столбец ВамЭтот учебник рассказывает о разделах, посвященных функциямСовпадения в диапазоне. ВПолучить координаты первого дубликата приближен к этой вместо ВПР можно: У меня аналогичная
5 списка. С одностолбцовым диапазоном ячеек, она заключена. Поэтому,на значения, которыедля поиска точного
просто совершает поиск
функции
«Japan» в столбце нужны, и поэтому главных преимуществах функций
ИНДЕКС и ПОИСКПОЗ.). А затем выгрузить нашей же формуле по горизонтали (с цели. Для примера использовать функцию потребность! помощью формулы массива например когда закончите вводить они возвращают, формула совпадения. и возвращает результат,ВПР
B требуется помощь функцииИНДЕКСК началу страницы полученную таблицу на
второй аргумент - лева на право). используем простую матрицуСУММЕСЛИМН (SUMIFS)Ситуация следующая:
=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65))А9:А20 формулу, не забудьте станет легкой иЕсли указываете выполняя аналогичную работулюбой вставленный или, а конкретно –
ПОИСКПОЗиДля выполнения этой задачи лист, используя всё тоже диапазон. На Для этого только данных с отчетом, появившуюся начиная с
К примеру, вможно найти все этиили диапазоном, расположенным нажать понятной:1 заметно быстрее.
удалённый столбец изменит в ячейках.ПОИСКПОЗ используется функция ВПР. ту же команду практике это означает, в ячейке С3
- по количеству проданных Excel 2007. По таблице имеется 5000 позиции. Для этого в одной строке,Ctrl+Shift+Enter=INDEX($A$1:$E$11,4,5)), значения в столбцеТеперь, когда Вы понимаете результат формулы, посколькуB2:B10Функция
в Excel, которые
Важно:
Закрыть и загрузить (Close что мы заставляем следует изменить формулу товаров за три идее, эта функция уникальных телефонных номеров. необходимо выделить несколько
- например,.=ИНДЕКС($A$1:$E$11;4;5)) поиска должны быть причины, из-за которых синтаксис, и возвращает числоMATCH делают их более Значения в первой
& Load)
Excel перебирать по
на: В результате квартала, как показано выбирает и суммирует Через некоторое время
ячеек (расположенных вертикально),А2:Е2Если всё сделано верно,Эта формула возвращает значение
упорядочены по возрастанию,
стоит изучать функции
ВПР3(ПОИСКПОЗ) в Excel привлекательными по сравнению строке должны быть:
очереди все ячейки
получаем правильные координаты
ниже на рисунке. числовые значения по из этого списка в Строке формул. Таким образом формула Вы получите результат на пересечении а формула вернётПОИСКПОЗтребует указывать весь, поскольку «Japan» в
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
ищет указанное значение с отсортированы по возрастанию.Если значения в исходных из второго списка как для листа, Важно, чтобы все нескольким (до 127!) мне нужно удалить, ввести вышеуказанную формулу =ПОИСКПОЗ(«слива»;A30:B33;0) работать не как на рисунке4-ой максимальное значение, меньшееи диапазон и конкретный списке на третьем в диапазоне ячеек
ВПРВ приведенном выше примере таблицах в будущем и подсчитывать количество так и для числовые показатели совпадали. условиям. Но если ну допустим 100 и нажать будет (выдаст ошибку ниже:строки и или равное среднему.ИНДЕКС номер столбца, из месте. и возвращает относительную. Вы увидите несколько
функция ВПР ищет будут изменяться, то вхождений каждого из таблицы: Если нет желания
в нашем списке
определенных номеров. Искать
CTRL+SHIFT+ENTER
#Н/Д), так как
Как Вы, вероятно, уже5-гоЕсли указываете, давайте перейдём к которого нужно извлечьФункция позицию этого значения примеров формул, которые имя первого учащегося необходимо не забыть них в первыйПолучить координаты первого дубликата вручную создавать и
нет повторяющихся товаров
каждый номер "ручками"
. В позициях, вПросматриваемый_массив заметили (и нестолбца в диапазоне-1 самому интересному и данные.INDEX в диапазоне. помогут Вам легко с 6 пропусками в
- обновить результирующий список список. По сути, по вертикали (сверху заполнять таблицу Excel внутри одного месяца, с помощью функции которых есть значениепредставляет собой диапазон раз), если вводитьA1:E11, значения в столбце
- увидим, как можноНапример, если у Вас(ИНДЕКС) используетНапример, если в диапазоне справиться со многими диапазоне A2:B7. Учащихся совпадений правой кнопкой
- это равносильно целому вниз). Для этого с чистого листа, то она просто «Найти» CTRL+F, по
- Груши будет выведено ячеек размещенный одновременно некорректное значение, например,, то есть значение поиска должны быть применить теоретические знания есть таблица3B1:B3 сложными задачами, перед с мыши или сочетанием столбцу дополнительных вычислений, только в ячейке то в конце
выведет значение цены времени слишком затратно, соответствующее значение позиции, в нескольких столбцах которого нет в ячейки упорядочены по убыванию, на практике.A1:C10
для аргументасодержатся значения New-York, которыми функция6 клавиш Ctrl+Alt+F5. свернутому в одну С2 следует изменить статьи можно скачать для заданного товара тем более проделывать в остальных ячейках и нескольких ячейках. просматриваемом массиве, формулаE4 а возвращено будетЛюбой учебник по, и требуется извлечьrow_num Paris, London, тогдаВПР
пропусками в таблице нет,Само-собой, для решения задачи формулу: формулу на: уже с готовым и месяца: это понадобится с быдет выведен 0.Тип_сопоставленияИНДЕКС. Просто? Да! минимальное значение, большееВПР данные из столбца
(номер_строки), который указывает следующая формула возвратитбессильна. поэтому функция ВПР
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
поиска совпадений можноВо-вторых, функцияВ данном случаи изменяем примером.Плюсы несколькими таблицами периодически.C помощью другой формулы— число -1,/В учебнике по или равное среднему.твердит, что этаB из какой строки цифруВ нескольких недавних статьях ищет первую запись воспользоваться и макросом.СУММПРОИЗВ (SUMPRODUCT) формулы либо однуПоследовательно рассмотрим варианты решения: Не нужен дополнительныйВозможно ли как-то массива 0 или 1.
ПОИСКПОЗВПРВ нашем примере значения
функция не может
, то нужно задать
нужно возвратить значение.3 мы приложили все со следующим максимальным Для этого нажмитездесь выполняет две либо другую, но разной сложности, а столбец, решение легко задать в поиске=НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65))Тип_сопоставлениясообщает об ошибкемы показывали пример в столбце смотреть влево. Т.е.
значение Т.е. получается простая, поскольку «London» – усилия, чтобы разъяснить значением, не превышающим
кнопку
функции - суммирует не две сразу. в конце статьи
масштабируется на большее либо выделить требуемые
можно отсортировать найденные позиции,указывает, как MS#N/A формулы с функцией
D если просматриваемый столбец2 формула: это третий элемент начинающим пользователям основы 6. Она находитVisual Basic
вычисленные СЧЁТЕСЛИ совпадения
Стоит напомнить о
– финальный результат. количество условий (до ячейки с нужными чтобы номера найденных EXCEL сопоставляет(#Н/Д) илиВПРупорядочены по возрастанию, не является крайнимдля аргумента=INDEX($D$2:$D$10,3) в списке. функции значение 5 и возвращаетна вкладке
и заодно превращает том, что в
Сначала научимся получать заголовки
127), быстро считает.
значениями для удаления
office-guru.ru
Функция ПОИСКПОЗ() в MS EXCEL
позиций отображались вискомое_значение#VALUE!для поиска по поэтому мы используем левым в диапазонеcol_index_num=ИНДЕКС($D$2:$D$10;3)=MATCH(«London»,B1:B3,0)ВПР связанное с нимРазработчик (Developer) нашу формулу в ячейке С3 должна столбцов таблицы поМинусы из таблицы или первых ячейках (см.со значениями в(#ЗНАЧ!). Если Вы нескольким критериям. Однако, тип сопоставления поиска, то нет(номер_столбца) функции
Формула говорит примерно следующее:=ПОИСКПОЗ(«London»;B1:B3;0)и показать примеры имя. Если ее не формулу массива без оставаться старая формула: значению. Для этого: Работает только с хотя бы выделения файл примера). аргументе хотите заменить такое существенным ограничением такого1 шансов получить отВПР ищи в ячейках
Синтаксис функции
Функция более сложных формул
Алексей видно, то отобразить необходимости нажимать сочетаниеЗдесь правильно отображаются координаты выполните следующие действия: числовыми данными на искомых значений одновременно?1. Произведем поиск позициипросматриваемый_массив. сообщение на что-то решения была необходимость. Формула
ВПР, вот так: отMATCH для продвинутых пользователей.. ее можно через клавиш Ctrl+Shift+Enter. Формула первого дубликата поВ ячейку B1 введите выходе, не применимаKuzmich в НЕ сортированномЕсли более понятное, то добавлять вспомогательный столбец.ИНДЕКСжелаемый результат.=VLOOKUP(«lookup value»,A1:C10,2)D2(ПОИСКПОЗ) имеет вот Теперь мы попытаемся,
Дополнительные сведения см. вФайл — Параметры - массива необходима, чтобы вертикали (с верха значение взятое из для поиска текста,: Возможно, но нужен списке числовых значенийтип_сопоставления можете вставить формулу
- Хорошая новость: формула/Функции=ВПР(«lookup value»;A1:C10;2)до такой синтаксис: если не отговорить разделе, посвященном функции Настройка ленты (File функция СЧЁТЕСЛИ в в низ) –
- таблицы 5277 и не работает в ваш пример. (диапазонравен 0, то сИНДЕКСПОИСКПОПОИСКПОЗЕсли позднее Вы вставитеD10MATCH(lookup_value,lookup_array,[match_type]) Вас от использования ВПР. — Options - режиме с двумя
- I7 для листа выделите ее фон старых версиях ExcelAntoxaB8:B14 функция ПОИСКПОЗ() находитИНДЕКС/Зи новый столбец междуи извлеки значениеПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])ВПР
К началу страницы Customize Ribbon) аргументами-диапазонами корректно отработала
и Август; Товар2 синим цветом для (2003 и ранее).: Как-то так… Прикрепленные
Поиск позиции в массивах с текстовыми значениями
) первое значение, котороеиПОИСКПОЗвозвращает «Moscow», поскольку
ИНДЕКС столбцами из третьей строки,
lookup_value, то хотя бы
Для выполнения этой задачи. свою задачу. для таблицы. Оставим читабельности поля вводаО том, как спользовать
файлы Пример 1.pngСтолбец Позиция приведен для вПОИСКПОЗможет искать по
величина населения городав Excel гораздоA то есть из(искомое_значение) – это показать альтернативные способы используются функции СМЕЩВ окне редактора VisualЕсли нужно не просто такой вариант для
(далее будем вводить связку функций (84 КБ) наглядности и не
Поиск позиции в массиве констант
точностив функцию значениям в двух Москва – ближайшее более гибкие, ии ячейки
Поиск позиции с использованием подстановочных знаков
число или текст, реализации вертикального поиска и ПОИСКПОЗ. Basic нужно добавить подсчитать количество совпадений, следующего завершающего примера. в ячейку B1ИНДЕКС (INDEX)Сергей П влияет на вычисления.равно аргументуЕСЛИОШИБКА столбцах, без необходимости
меньшее к среднему им все-равно, гдеBD4 который Вы ищите. в Excel.Примечание:
новый пустой модуль но и вывестиДанная таблица все еще другие числа, чтобыи: Antoxa, в сообщенииНайдем позицию значения 30
искомое_значениеПросматриваемый_массив. создания вспомогательного столбца! значению (12 269 находится столбец со, то значение аргумента, так как счёт
Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию
Аргумент может бытьЗачем нам это? – Данный метод целесообразно использовать через меню совпадающие элементы отдельным не совершенна. Ведь
экспериментировать с новымиПОИСКПОЗ (MATCH) # 6 Юрий с помощью формулыможет быть не
Синтаксис функцииПредположим, у нас есть 006). значением, которое нужно
придется изменить с
начинается со второй значением, в том спросите Вы. Да, при поиске данныхInsert — Module списком, то потребуется при анализе нужно значениями).в качестве более М, написал «Здесь =ПОИСКПОЗ(30;B8:B14;0) упорядочен.ЕСЛИОШИБКА список заказов, и
Эта формула эквивалентна двумерному извлечь. Для примера,
2
строки. числе логическим, или потому что в ежедневно обновляемоми затем скопировать
Поиск позиции в массивах с Числами
не самая простая точно знать всеВ ячейку C2 вводим мощной альтернативы ВПР были?» — перейдитеФормула ищет
Если тип_сопоставления равен 1,очень прост: мы хотим найти
поиску снова вернёмся кна
Вот такой результат получится ссылкой на ячейку.ВПР внешнем диапазоне данных. туда код нашего формула массива:
ее значения. Если формулу для получения я уже подробно по ссылке иточное то функция ПОИСКПОЗ()
IFERROR(value,value_if_error) сумму по двумВПР таблице со столицами3 в Excel:lookup_array– это не Известна цена в макроса:В английской версии это введенное число в заголовка столбца таблицы описывал (с видео).
в разделе «Вариантзначение 30. Если
находит наибольшее значение,ЕСЛИОШИБКА(значение;значение_если_ошибка) критериям –
и позволяет найти государств и населением., иначе формула возвратитВажно! Количество строк и(просматриваемый_массив) – диапазон единственная функция поиска столбце B, ноSub Find_Matches_In_Two_Lists() Dim будет, соответственно: ячейку B1 формула
Функции ПОИСКПОЗ() и ИНДЕКС()
который содержит это В нашем же 2. Перемешанные списки» в списке его которое меньше либоГде аргументимя покупателя значение на пересечении
На этот раз результат из только столбцов в массиве, ячеек, в котором
в Excel, и
неизвестно, сколько строк coll As New=INDEX(Список1;MATCH(1;COUNTIF(Список2;Список1)*NOT(COUNTIF($E$1:E1;Список1));0)) не находит в
значение: случае, можно применить Вы найдете как нет, то будет
равно, чемvalue(Customer) и определённой строки и запишем формулу что вставленного столбца.
excel2.ru
Поиск нескольких значений одним заходом
который использует функция происходит поиск.
её многочисленные ограничения данных возвратит сервер, Collection Dim rng1Логика работы этой формулы таблице, тогда возвращаетсяПосле ввода формулы для их для поиска сравнить повторяющиеся списки. возвращена ошибка #Н/Д.искомое_значениеПросматриваемый_массив(значение) – это
продукт столбца.ПОИСКПОЗИспользуяINDEXmatch_type
могут помешать Вам а первый столбец As Range, rng2 следующая: ошибка – #ЗНАЧ! подтверждения нажимаем комбинацию по нескольким столбцамKuzmich
2. Произведем поиск позициидолжен быть упорядочен значение, проверяемое на(Product). Дело усложняетсяВ этом примере формула/ПОИСКПОЗ(ИНДЕКС), должно соответствовать(тип_сопоставления) – этот получить желаемый результат не отсортирован в As Range, rngOutфрагмент СЧЁТЕСЛИ(Список2;Список1), как и Идеально было-бы чтобы горячих клавиш CTRL+SHIFT+Enter, в виде формулы: Пример должен быть
в отсортированном по по возрастанию: …, предмет наличия ошибки
тем, что одинИНДЕКСИНДЕКС/ значениям аргументов
аргумент сообщает функции во многих ситуациях.
алфавитном порядке. As Range Dim в примере до
формула при отсутствии так как формула массива. Для этого:
в формате Excel
возрастанию списке числовых -2, -1, 0, (в нашем случае покупатель может купить/, которая покажет, какоеИНДЕКСrow_numПОИСКПОЗ С другой стороны,C1 i As Long, этого, ищет совпадения в таблице исходного должна быть выполнена
Выделите пустую зеленую ячейку,Максим Зеленский значений (диапазон 1, 2, …, – результат формулы сразу несколько разныхПОИСКПОЗ место по населению
, Вы можете удалять(номер_строки) и, хотите ли Вы
функции — это левая верхняя j As Long, элементов из первого
числа сама подбирала в массиве. Если где должен быть: Экскуро или ТергеоB31:B37 A-Z, ЛОЖЬ, ИСТИНА.ИНДЕКС продуктов, и именабудет очень похожа занимает столица России
или добавлять столбцыcolumn_num найти точное или
ИНДЕКС ячейка диапазона (также k As Long
списка во втором ближайшее значение, которое
все сделано правильно результат. подойдут) Если/ покупателей в таблице на формулы, которые
(Москва). к исследуемому диапазону,
(номер_столбца) функции приблизительное совпадение:и
называемая начальной ячейкой). Set rng1 =фрагмент НЕ(СЧЁТЕСЛИ($E$1:E1;Список1)) проверяет, не содержит таблица. Чтобы
planetaexcel.ru
Поиск и подстановка по нескольким условиям
Постановка задачи
в строке формулВведите в строке формулAntoxaСортированные списки позволяют искатьтип_сопоставленияПОИСКПОЗ на листе мы уже обсуждалиКак видно на рисунке не искажая результат,MATCH1ПОИСКПОЗФормула Selection.Areas(1) Set rng2 найдено ли уже создать такую программу по краям появятся в нее следующую: Пожалуйста! не только точныеопущен, то предполагается,); а аргументLookup table в этом уроке,
ниже, формула отлично так как определен(ПОИСКПОЗ). Иначе результатили
– более гибкиеПОИСКПОЗ(«Апельсины»;C2:C7;0) = Selection.Areas(2) Set текущее совпадение выше для анализа таблиц фигурные скобки { формулу:Antoxa значения (их позицию), что он равенvalue_if_errorрасположены в произвольном с одним лишь справляется с этой непосредственно столбец, содержащий формулы будет ошибочным.не указан
Способ 1. Дополнительный столбец с ключом поиска
и имеют рядищет значение «Апельсины» rngOut = Application.InputBox(Prompt:=»Выделитеи, наконец, связка функций в ячейку F1 }.Нажмите в конце не: По выделению понятно, но и позицию 1.(значение_если_ошибка) – это порядке.
отличием. Угадайте каким? задачей: нужное значение. Действительно,Стоп, стоп… почему мы– находит максимальное особенностей, которые делают в диапазоне C2:C7. ячейку, начиная с ИНДЕКС и ПОИСКПОЗ
введите новую формулу:В ячейку C2 формула Enter, а сочетание я это смотрел. ближайшего значения. Например,Если значение, которое нужноВот такая формулаКак Вы помните, синтаксис
=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0)) это большое преимущество, не можем просто значение, меньшее или
их более привлекательными, Начальную ячейку не которой нужно вывести извлекает совпадающий элементПосле чего следует во вернула букву DCtrl+Shift+Enter А как массово в списке натип_сопоставления возвратить, если формулаИНДЕКС
Способ 2. Функция СУММЕСЛИМН
функции=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) особенно когда работать использовать функцию равное искомому. Просматриваемый по сравнению с следует включать в совпадения», Type:=8) ‘загружаемНе забудьте в всех остальных формулах — соответственный заголовок, чтобы ввести формулу удалить эти выделенные, картинке ниже нетравен -1, то выдаст ошибку./INDEXТеперь у Вас не приходится с большимиVLOOKUP
массив должен бытьВПР этот диапазон. первый диапазон в конце ввода этой изменить ссылку вместо
столбца листа. Как не как обычную, если в списке значения 45, но функция ПОИСКПОЗ() находитНапример, Вы можете вставитьПОИСКПОЗ(ИНДЕКС) позволяет использовать
Способ 3. Формула массива
должно возникать проблем объёмами данных. Вы(ВПР)? Есть ли упорядочен по возрастанию,.1 коллекцию For i формулы нажать сочетание B1 должно быть видно все сходиться, а как формулу будет 500 повторений можно найти позицию наименьшее значение, которое формулу из предыдущего
- решает задачу: три аргумента: с пониманием, как
- можете добавлять и смысл тратить время, то есть от
- Базовая информация об ИНДЕКС — это количество столбцов, = 1 To клавиш Ctrl+Shift+Enter, т.к. F1! Так же значение 5277 содержится массива.
и больше? наибольшего значения, которое
больше либо равно примера в функцию{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)*INDEX(array,row_num,[column_num]) работает эта формула: удалять столбцы, не пытаясь разобраться в меньшего к большему. и ПОИСКПОЗ которое нужно отсчитать rng1.Cells.Count coll.Add rng1.Cells(i), она должна быть нужно изменить ссылку в ячейке столбцаКак это на самомcopper-top меньше либо равно, чемЕСЛИОШИБКА(B2=’Lookup table’!$B$2:$B$13),0),3)}ИНДЕКС(массив;номер_строки;[номер_столбца])Во-первых, задействуем функцию беспокоясь о том, лабиринтах
0Используем функции ИНДЕКС и справа от начальной CStr(rng1.Cells(i)) Next i введена как формула
в условном форматировании. D. Рекомендуем посмотреть деле работает:: . =ИНДЕКС($A$1:$A$70;АГРЕГАТ(15;6;СТРОКА($A$2:$A$56)/(СЧЁТЕСЛИ($B$2:$B$17;$A$2:$A$200)=0);СТРОКА(B1))) чем искомое значение,искомое_значениеПросматриваемый_массиввот таким образом:{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*И я поздравляю техMATCH что нужно будетПОИСКПОЗ– находит первое ПОИСКПОЗ в Excel
planetaexcel.ru
Поиск значения в диапазоне таблицы Excel по столбцам и строкам
ячейки, чтобы получить ‘проверяем вхождение элементов массива. Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление на формулу дляФункция ИНДЕКС выдает изAntoxa т.е. позицию значениядолжен быть упорядочен=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),(B2=’Lookup table’!$B$2:$B$13);0);3)} из Вас, кто(ПОИСКПОЗ), которая находит исправлять каждую используемуюи значение, равное искомому.Преимущества ИНДЕКС и ПОИСКПОЗ столбец, из которого второго диапазона вВозникающие на избыточных правилами»-«Изменить правило». И получения целого адреса диапазона цен C2:C161: Спасибо огромное, все 40. по убыванию: ИСТИНА,»Совпадений не найдено.Эта формула сложнее других, догадался! положение «Russia» в функциюИНДЕКС
Поиск значения в массиве Excel
Для комбинации перед ВПР
- возвращается значение. В коллекцию k = ячейках ошибки #Н/Д
- здесь в параметрах текущей ячейки. содержимое N-ой ячейки работает!
- Это можно сделать с ЛОЖЬ, Z-A, …, Попробуйте еще раз!») которые мы обсуждали
Начнём с того, что списке:ВПР?ИНДЕКСИНДЕКС и ПОИСКПОЗ – этом примере значение 0 On Error можно дополнительно перехватить укажите F1 вместоТеперь получим номер строки по порядку. Приalex_mgn помощью формулы =ПОИСКПОЗ(45;B31:B37;1) 2, 1, 0,=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0)); ранее, но вооруженные запишем шаблон формулы.=MATCH(«Russia»,$B$2:$B$10,0)).=VLOOKUP(«Japan»,$B$2:$D$2,3)/ примеры формул возвращается из столбца Resume Next For и заменить на B1. Чтобы проверить для этого же этом порядковый номер: Antoxa, Вы можетеОбратите внимание, что тип -1, -2, …,»Совпадений не найдено.
знанием функций Для этого возьмём=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))3. Нет ограничения на
Поиск значения в столбце Excel
=ВПР(«Japan»;$B$2:$D$2;3)ПОИСКПОЗКак находить значения, которые D
- j = 1 пробелы или пустые работу программы, введите значения (5277). Для нужной ячейки нам скинуть пример рабочего сопоставления =1 (третий и так далее. Попробуйте еще раз!»)ИНДЕКС уже знакомую нам
- Далее, задаём диапазон для размер искомого значения.В данном случае –всегда нужно точное находятся слева
- Продажи To rng2.Cells.Count Err.Clear строки «» с в ячейку B1 этого в ячейку находит функция ПОИСКПОЗ. файла? аргумент функции).Функция ПОИСКПОЗ() не различаетИ теперь, если кто-нибудьи
формулу функцииИспользуя смысла нет! Цель совпадение, поэтому третийВычисления при помощи ИНДЕКС. elem = coll.Item(CStr(rng2.Cells(j))) помощью функции число которого нет C3 введите следующую
Поиск значения в строке Excel
Она ищет связкуЕсли вы продвинутый пользователь3. Поиск позиции в РеГИстры при сопоставлении введет ошибочное значение,ПОИСКПОЗ
ИНДЕКСINDEXВПР этого примера –
аргумент функции и ПОИСКПОЗК началу страницы If CLng(Err.Number) =ЕСЛИОШИБКА (IFERROR) в таблице, например: формулу:
названия товара и
Как получить заголовок столбца и название строки таблицы
Microsoft Excel, то списке отсортированном по текстов. формула выдаст вотВы одолеете ее./(ИНДЕКС), из которого, помните об ограничении
- исключительно демонстрационная, чтобыПОИСКПОЗ
- Поиск по известным строке
Для выполнения этой задачи 0 Then ‘если. 8000. Это приведетПосле ввода формулы для месяца ( должны быть знакомы
- убыванию выполняется аналогично,Если функция ПОИСКПОЗ() не такой результат: Самая сложная частьПОИСКПОЗ нужно извлечь значение. на длину искомого
- Вы могли понять,должен быть равен и столбцу
используется функция ГПР. найдено совпадение, тоНа больших таблицах формула к завершающему результату:
подтверждения снова нажимаемНектаринЯнварь с функцией поиска но с типом находит соответствующего значения,Если Вы предпочитаете в – это функцияи добавим в В нашем случае значения в 255 как функции
Поиск одинаковых значений в диапазоне Excel
0Поиск по нескольким критериям См. пример ниже. выводим со сдвигом массива из предыдущегоТеперь можно вводить любое комбинацию клавиш CTRL+SHIFT+Enter) по очереди во и подстановки
сопоставления = -1. то возвращается значение случае ошибки оставить
- ПОИСКПОЗ неё ещё одну это
- символов, иначе рискуетеПОИСКПОЗ.ИНДЕКС и ПОИСКПОЗ вФункция ГПР выполняет поиск вниз rngOut.Offset(k, 0) способа может весьма
- исходное значение, а и получаем результат: всех ячейках склеенного
ВПР В этом случае ошибки #Н/Д. ячейку пустой, то, думаю, её нужно функциюA2:A10 получить ошибкуи-1 сочетании с ЕСЛИОШИБКА по столбцу = rng2.Cells(j) k ощутимо тормозить, поэтому
- программа сама подберетФормула вернула номер 9 из двух столбцовили функция ПОИСКПОЗ() находитПроизведем поиск позиции в можете использовать кавычки объяснить первой.ПОИСКПОЗ.#VALUE!
- ИНДЕКС– находит наименьшееТак как задача этогоПродажи = k + гораздо удобнее будет
ближайшее число, которое – нашла заголовок диапазона A2:A161&B2:B161 иVLOOKUP наименьшее значение, которое НЕ сортированном списке («»), как значениеMATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)
, которая будет возвращатьЗатем соединяем обе части(#ЗНАЧ!). Итак, еслиработают в паре. значение, большее или учебника – показатьи возвращает значение 1 End If использовать Power Query.
Поиск ближайшего значения в диапазоне Excel
содержит таблица. После строки листа по выдает порядковый номер(если еще нет, больше либо равно текстовых значений (диапазон второго аргумента функцииПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13) номер столбца. и получаем формулу: таблица содержит длинные Последующие примеры покажут равное искомому значению. возможности функций из строки 5 в Next j End Это бесплатная надстройка чего выводит заголовок соответствующему значению таблицы. ячейки, где нашла
то сначала почитайте чем искомое значение.B7:B13ЕСЛИОШИБКАВ формуле, показанной выше,=INDEX(Ваша таблица,(MATCH(значение для вертикального=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0)) строки, единственное действующее Вам истинную мощь Просматриваемый массив долженИНДЕКС указанном диапазоне. Sub от Microsoft, способная столбца и название В результате мы точное совпадение. По эту статью, чтобы
Функции ПОИСКПОЗ() и ИНДЕКС()). Вот так: искомое значение – поиска,столбец, в котором=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) решение – это связки быть упорядочен поиДополнительные сведения см. в
Воспользоваться добавленным макросом очень загружать в Excel
строки для текущего имеем полный адрес сути, это первый им стать). Для часто используются вместе,Столбец Позиция приведен дляIFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»») это искать,0)),(MATCH(значение для горизонтальногоПодсказка: использоватьИНДЕКС убыванию, то естьПОИСКПОЗ разделе, посвященном функции просто. Выделите, удерживая 2010-2013 и трансформировать
exceltable.com
Поиск совпадений в двух списках
значения. Например, если значения D9. способ, но ключевой тех, кто понимает, т.к. позволяют по наглядности и неЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)1 поиска,строка в которойПравильным решением будетИНДЕКСи от большего кдля реализации вертикального ГПР. клавишу Ctrl, оба
практически любые данные. ввести число 5000 столбец создается виртуально рекламировать ее не найденной позиции в влияет на вычисления.Надеюсь, что хотя бы, а массив поиска искать,0)) всегда использовать абсолютные/ПОИСКПОЗ меньшему. поиска в Excel,К началу страницы диапазона и запустите Мощь и возможности получаем новый результат:Теперь научимся получать по прямо внутри формулы, нужно - одном диапазоне вывести
Подсчет количества совпадений
Формула для поиска позиции одна формула, описанная – это результат=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального
ссылки дляПОИСКПОЗ
, которая легко справляетсяНа первый взгляд, польза мы не будемДля выполнения этой задачи
макрос кнопкой Макросы Power Query такСкачать пример поиска значения значению координаты не а не в без нее не
соответствующее значение из
значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0) в этом учебнике, умножения. Хорошо, что поиска,столбец, в которомИНДЕКС. с многими сложными от функции задерживаться на их используется функция ГПР. на вкладке велики, что Microsoft в диапазоне Excel целого листа, а ячейках листа. обходится ни один другого диапазона. РассмотримФормула находит первое значение показалась Вам полезной. же мы должны искать,0)),(MATCH(значение для горизонтальногоиПредположим, Вы используете вот
ситуациями, когдаПОИСКПОЗ синтаксисе и применении.Важно:Разработчик (Developer) включила все ееНаша программа в Excel текущей таблицы. ОднимПлюсы сложный расчет в пример. сверху и выводит Если Вы сталкивались перемножить и почему? поиска,строка в которой
Вывод списка совпадений формулой массива
ПОИСКПОЗ такую формулу сВПРвызывает сомнение. КомуПриведём здесь необходимый минимум Значения в первойили сочетанием клавиш
функции по умолчанию нашла наиболее близкое
словом, нам нужно
: Не нужен отдельный Excel. Есть, однако,
- Найдем количество заданного товара его позицию в с другими задачами Давайте разберем все искать,0))
- , чтобы диапазоны поискаВПРоказывается в тупике.
- нужно знать положение для понимания сути, строке должны быть
Alt+F8. Макрос попросит в Excel начиная значение 4965 для найти по значению столбец, работает и одна проблема: эта на определенном складе.
диапазоне, второе значение поиска, для которых по порядку:Обратите внимание, что для не сбились при, которая ищет вРешая, какую формулу использовать элемента в диапазоне? а затем разберём
Вывод списка совпадений с помощью слияния запросов Power Query
отсортированы по возрастанию. указать ячейку, начиная с 2016 версии. исходного – 5000. 5277 вместо D9 с числами и функция умеет искать Для этого используем Груши учтено не не смогли найтиБерем первое значение в двумерного поиска нужно копировании формулы в ячейках от для вертикального поиска, Мы хотим знать подробно примеры формул,В приведенном выше примере
с которой нужноДля начала, нам необходимо Такая программа может получить заголовки: с текстом. данные только по формулу будет. подходящее решение среди столбце указать всю таблицу другие ячейки.B5 большинство гуру Excel значение этого элемента! которые показывают преимущества
функция ГПР ищет вывести список совпадений загрузить наши таблицы пригодится для автоматическогодля столбца таблицы –Минусы совпадению одного параметра.=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0))Чтобы найти номер строки, информации в этомA в аргументеВы можете вкладывать другиедо считают, чтоПозвольте напомнить, что относительное использования значение 11 000 в строке 3 и после нажатия в Power Query. решения разных аналитических Март;: Ощутимо тормозит на
А если уВ файле примера, соответствующий а не позиции
уроке, смело опишите(Customer) на листеarray функции Excel вD10ИНДЕКС положение искомого значенияИНДЕКС в указанном диапазоне. на Для этого выделим задач при бизнес-планировании,
для строки – Товар4. больших таблицах (как
- нас их несколько? столбец и строка
- в искомом диапазоне, свою проблему в
- Main table(массив) функцииИНДЕКСзначение, указанное в
/ (т.е. номер строкии Значение 11 000 отсутствует, поэтому
ОК первый список и постановки целей, поискаЧтобы решить данную задачу и все формулыПредположим, что у нас выделены с помощью можно записать следующую комментариях, и мыи сравниваем егоINDEXи ячейкеПОИСКПОЗ и/или столбца) –
ПОИСКПОЗ она ищет следующеесделает всю работу: на вкладке рационального решения и будем использовать формулу массива, впрочем), особенно есть база данных
Макрос для вывода списка совпадений
Условного форматирования. формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6) все вместе постараемся со всеми именами(ИНДЕКС).ПОИСКПОЗA2намного лучше, чем это как развместо максимальное значение, неБолее совершенный макрос подобногоДанные т.п. А полученные с уже полученными если указывать диапазоны
по ценам товаровСОВЕТ: Подробнее о поискеЕсли искомое значение не решить её. покупателей в таблицеА теперь давайте испытаем, например, чтобы найти:
ВПР то, что мыВПР превышающее 11 000, и возвращает типа есть, кстати,(в Excel 2016) строки и столбцы значениями в ячейках «с запасом» или за разные месяцы: позиций можно прочитать обнаружено в списке,Урок подготовлен для Вас на листе этот шаблон на минимальное, максимальное или=VLOOKUP(A2,B5:D10,3,FALSE). Однако, многие пользователи должны указать для. 10 543. в моей надстройке или на вкладке позволяют дальше расширять C2 и C3. сразу целые столбцыНужно найти и вытащить в соответствующем разделе то будет возвращено командой сайта office-guru.ruLookup table практике. Ниже Вы ближайшее к среднему=ВПР(A2;B5:D10;3;ЛОЖЬ) Excel по-прежнему прибегают аргументовФункцияДополнительные сведения см. в PLEX для Microsoft
Power Query вычислительные возможности такого Для этого делаем (т.е. вместо A2:A161 цену заданного товара сайта: Поиск позиции. значение ошибки #Н/Д.Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/(A2:A13). видите список самых значение. Вот несколькоФормула не будет работать, к использованиюrow_numINDEX разделе, посвященном функции
Excel.(если она была рода отчетов с так: вводить A:A и
planetaexcel.ru
(
Во второй части нашего учебника по функции ВПР (VLOOKUP) в Excel мы разберём несколько примеров, которые помогут Вам направить всю мощь ВПР
на решение наиболее амбициозных задач Excel. Примеры подразумевают, что Вы уже имеете базовые знания о том, как работает эта функция. Если нет, возможно, Вам будет интересно начать с первой части этого учебника, в которой объясняются синтаксис и основное применение ВПР. Что ж, давайте приступим.
Поиск в Excel по нескольким критериям
Функция ВПР в Excel – это действительно мощный инструмент для выполнения поиска определённого значения в базе данных. Однако, есть существенное ограничение – её синтаксис позволяет искать только одно значение. Как же быть, если требуется выполнить поиск по нескольким условиям? Решение Вы найдёте далее.
Пример 1: Поиск по 2-м разным критериям
Предположим, у нас есть список заказов и мы хотим найти Количество товара (Qty.), основываясь на двух критериях – Имя клиента (Customer) и Название продукта (Product). Дело усложняется тем, что каждый из покупателей заказывал несколько видов товаров, как это видно из таблицы ниже:
Обычная функция ВПР не будет работать по такому сценарию, поскольку она возвратит первое найденное значение, соответствующее заданному искомому значению. Например, если Вы хотите узнать количество товара Sweets, заказанное покупателем Jeremy Hill, запишите вот такую формулу:
=VLOOKUP(B1,$A$5:$C$14,3,FALSE)
=ВПР(B1;$A$5:$C$14;3;ЛОЖЬ)
Есть простой обходной путь – создать дополнительный столбец, в котором объединить все нужные критерии. В нашем примере это столбцы Имя клиента (Customer) и Название продукта (Product). Не забывайте, что объединенный столбец должен быть всегда крайним левым в диапазоне поиска, поскольку именно левый столбец функция ВПР просматривает при поиске значения.
Итак, Вы добавляете вспомогательный столбец в таблицу и копируете по всем его ячейкам формулу вида: =B2&C2. Если хочется, чтобы строка была более читаемой, можно разделить объединенные значения пробелом: =B2&» «&C2. После этого можно использовать следующую формулу:
=VLOOKUP("Jeremy Hill Sweets",$A$7:$D$18,4,FALSE)
=ВПР("Jeremy Hill Sweets";$A$7:$D$18;4;ЛОЖЬ)
=VLOOKUP(B1,$A$7:$D$18,4,FALSE)
=ВПР(B1;$A$7:$D$18;4;ЛОЖЬ)
Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе
Если Вам необходимо обновить основную таблицу (Main table), добавив данные из второй таблицы (Lookup table), которая находится на другом листе или в другой рабочей книге Excel, то Вы можете собрать искомое значение непосредственно в формуле, которую вставляете в основную таблицу.
Как и в предыдущем примере, Вам понадобится в таблице поиска (Lookup table) вспомогательный столбец с объединенными значениями. Этот столбец должен быть крайним левым в заданном для поиска диапазоне.
Итак, формула с ВПР может быть такой:
=VLOOKUP(B2&" "&C2,Orders!$A&$2:$D$2,4,FALSE)
=ВПР(B2&" "&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ)
Чтобы сделать формулу более читаемой, Вы можете задать имя для просматриваемого диапазона, и тогда формула станет выглядеть гораздо проще:
Чтобы формула работала, значения в крайнем левом столбце просматриваемой таблицы должны быть объединены точно так же, как и в критерии поиска. На рисунке выше мы объединили значения и поставили между ними пробел, точно так же необходимо сделать в первом аргументе функции (B2&» «&C2).
Соглашусь, добавление вспомогательного столбца – не самое изящное и не всегда приемлемое решение. Вы можете сделать то же самое без вспомогательного столбца, но в таком случае потребуется гораздо более сложная формула с комбинацией функций INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ).
Извлекаем 2-е, 3-е и т.д. значения, используя ВПР
Вы уже знаете, что ВПР может возвратить только одно совпадающее значение, точнее – первое найденное. Но как быть, если в просматриваемом массиве это значение повторяется несколько раз, и Вы хотите извлечь 2-е или 3-е из них? А что если все значения? Задачка кажется замысловатой, но решение существует!
Предположим, в одном столбце таблицы записаны имена клиентов (Customer Name), а в другом – товары (Product), которые они купили. Попробуем найти 2-й, 3-й и 4-й товары, купленные заданным клиентом.
Простейший способ – добавить вспомогательный столбец перед столбцом Customer Name и заполнить его именами клиентов с номером повторения каждого имени, например, John Doe1, John Doe2 и т.д. Фокус с нумерацией сделаем при помощи функции COUNTIF (СЧЁТЕСЛИ), учитывая, что имена клиентов находятся в столбце B:
=B2&COUNTIF($B$2:B2,B2)
=B2&СЧЁТЕСЛИ($B$2:B2;B2)
После этого Вы можете использовать обычную функцию ВПР, чтобы найти нужный заказ. Например:
- Находим 2-й товар, заказанный покупателем Dan Brown:
=VLOOKUP("Dan Brown2",$A$2:$C$16,3,FALSE)
=ВПР("Dan Brown2";$A$2:$C$16;3;ЛОЖЬ)
- Находим 3-й товар, заказанный покупателем Dan Brown:
=VLOOKUP("Dan Brown3",$A$2:$C$16,3,FALSE)
=ВПР("Dan Brown3";$A$2:$C$16;3;ЛОЖЬ)
На самом деле, Вы можете ввести ссылку на ячейку в качестве искомого значения вместо текста, как представлено на следующем рисунке:
Если Вы ищите только 2-е повторение, то можете сделать это без вспомогательного столбца, создав более сложную формулу:
=IFERROR(VLOOKUP($F$2,INDIRECT("$B$"&(MATCH($F$2,Table4[Customer Name],0)+2)&":$C16"),2,FALSE),"")
=ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ("$B$"&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&":$C16");2;ИСТИНА);"")
- $F$2 – ячейка, содержащая имя покупателя (она неизменна, обратите внимание – ссылка абсолютная);
- $B$ – столбец Customer Name;
- Table4 – Ваша таблица (на этом месте также может быть обычный диапазон);
- $C16 – конечная ячейка Вашей таблицы или диапазона.
Эта формула находит только второе совпадающее значение. Если же Вам необходимо извлечь остальные повторения, воспользуйтесь предыдущим решением.
Если Вам нужен список всех совпадений – функция ВПР тут не помощник, поскольку она возвращает только одно значение за раз – и точка. Но в Excel есть функция INDEX (ИНДЕКС), которая с легкостью справится с этой задачей. Как будет выглядеть такая формула, Вы узнаете в следующем примере.
Извлекаем все повторения искомого значения
Как упоминалось выше, ВПР не может извлечь все повторяющиеся значения из просматриваемого диапазона. Чтобы сделать это, Вам потребуется чуть более сложная формула, составленная из нескольких функций Excel, таких как INDEX (ИНДЕКС), SMALL (НАИМЕНЬШИЙ) и ROW (СТРОКА)
Например, формула, представленная ниже, находит все повторения значения из ячейки F2 в диапазоне B2:B16 и возвращает результат из тех же строк в столбце C.
{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3)),"")}
{=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3));"")}
Если Вам интересно понять, как она работает, давайте немного погрузимся в детали формулы:
Часть 1:
IF($F$2=B2:B16,ROW(C2:C16)-1,"")
ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"")
Результатом функции IF (ЕСЛИ) окажется вот такой горизонтальный массив: {1,"",3,"",5,"","","","","","",12,"","",""}
Часть 2:
ROW()-3
СТРОКА()-3
Часть 3:
SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3))
НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3))
Часть 4:
INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3))
ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3))
Часть 5:
IFERROR()
ЕСЛИОШИБКА()
Двумерный поиск по известным строке и столбцу
Выполнение двумерного поиска в Excel подразумевает поиск значения по известному номеру строки и столбца. Другими словами, Вы извлекаете значение ячейки на пересечении конкретной строки и столбца.
Итак, давайте обратимся к нашей таблице и запишем формулу с функцией ВПР, которая найдет информацию о стоимости проданных в марте лимонов.
Существует несколько способов выполнить двумерный поиск. Познакомьтесь с возможными вариантами и выберите наиболее подходящий.
Функции ВПР и ПОИСКПОЗ
Вы можете использовать связку из функций ВПР (VLOOKUP) и ПОИСКПОЗ (MATCH), чтобы найти значение на пересечении полей Название продукта (строка) и Месяц (столбец) рассматриваемого массива:
=VLOOKUP("Lemons",$A$2:$I$9,MATCH("Mar",$A$1:$I$1,0),FALSE)
=ВПР("Lemons";$A$2:$I$9;ПОИСКПОЗ("Mar";$A$1:$I$1;0);ЛОЖЬ)
MATCH("Mar",$A$1:$I$1,0)
ПОИСКПОЗ("Mar";$A$1:$I$1;0)
- Ищем символы «Mar» – аргумент lookup_value (искомое_значение);
- Ищем в ячейках от A1 до I1 – аргумент lookup_array (просматриваемый_массив);
- Возвращаем точное совпадение – аргумент match_type (тип_сопоставления).
Использовав 0 в третьем аргументе, Вы говорите функции ПОИСКПОЗ искать первое значение, в точности совпадающее с искомым значением. Это равносильно значению FALSE (ЛОЖЬ) для четвёртого аргумента ВПР.
Вот так Вы можете создать формулу для поиска по двум критериям в Excel, что также известно, как двумерный поиск или поиск в двух направлениях.
Функция СУММПРОИЗВ
Функция СУММПРОИЗВ (SUMPRODUCT) возвращает сумму произведений выбранных массивов:
=SUMPRODUCT(($A$2:$A$9="Lemons")*($A$1:$I$1="Mar"),$A$2:$I$9)
=СУММПРОИЗВ(($A$2:$A$9="Lemons")*($A$1:$I$1="Mar");$A$2:$I$9)
В следующей статье я буду объяснять эти функции во всех деталях, так что сейчас можете просто скопировать эту формулу:
=INDEX($A$2:$I$9,MATCH("Lemons",$A$2:$A$9,0),MATCH("Mar",$A$1:$I$1,0))
=ИНДЕКС($A$2:$I$9;ПОИСКПОЗ("Lemons";$A$2:$A$9;0);ПОИСКПОЗ("Mar";$A$1:$I$1;0))
Если Вы не в восторге от всех этих сложных формул Excel, Вам может понравиться вот такой наглядный и запоминающийся способ:
- Выделите таблицу, откройте вкладку Formulas (Формулы) и нажмите Create from Selection (Создать из выделенного).
- Отметьте галочками Top row (в строке выше) и Left column (в столбце слева). Microsoft Excel назначит имена диапазонам из значений в верхней строке и левом столбце Вашей таблицы. Теперь Вы можете осуществлять поиск, используя эти имена, напрямую, без создания формул.
- В любой пустой ячейке запишите =имя_строки имя_столбца, например, так:
=Lemons Mar … или наоборот: =Mar Lemons
Помните, что имена строки и столбца нужно разделить пробелом, который в данном случае работает как оператор пересечения.
При вводе имени, Microsoft Excel будет показывать подсказку со списком подходящих имен, так же, как при вводе формулы.
- Нажмите Enter и проверьте результат
В целом, какой бы из представленных выше методов Вы ни выбрали, результат двумерного поиска будет одним и тем же:
Используем несколько ВПР в одной формуле
Бывает так, что основная таблица и таблица поиска не имеют ни одного общего столбца, и это мешает использовать обычную функцию ВПР. Однако, существует ещё одна таблица, которая не содержит интересующую нас информацию, но имеет общий столбец с основной таблицей и таблицей поиска.
Давайте разберем следующий пример. У нас есть основная таблица (Main table) со столбцом SKU (new), куда необходимо добавить столбец с соответствующими ценами из другой таблицы. Кроме этого, у нас есть 2 таблицы поиска. Первая (Lookup table 1) содержит обновленные номера SKU (new) и названия товаров, а вторая (Lookup table 2) – названия товаров и старые номера SKU (old).
Чтобы добавить цены из второй таблицы поиска в основную таблицу, необходимо выполнить действие, известное как двойной ВПР или вложенный ВПР.
- Запишите функцию ВПР, которая находит имя товара в таблице Lookup table 1, используя SKU, как искомое значение:
=VLOOKUP(A2,New_SKU,2,FALSE)
=ВПР(A2;New_SKU;2;ЛОЖЬ)
Здесь New_SKU – именованный диапазон $A:$B в таблице Lookup table 1, а 2 – это столбец B, который содержит названия товаров (смотрите на рисунке выше)
- Запишите формулу для вставки цен из таблицы Lookup table 2 на основе известных названий товаров. Для этого вставьте созданную ранее формулу в качестве искомого значения для новой функции ВПР:
=VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE)
=ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ)
Здесь Price – именованный диапазон $A:$C в таблице Lookup table 2, а 3 – это столбец C, содержащий цены.
На рисунке ниже виден результат, возвращаемый созданной нами формулой:
Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ
В начале разъясним, что мы подразумеваем под выражением «Динамическая подстановка данных из разных таблиц», чтобы убедиться правильно ли мы понимает друг друга.
Бывают ситуации, когда есть несколько листов с данными одного формата, и необходимо извлечь нужную информацию с определенного листа в зависимости от значения, которое введено в заданную ячейку. Думаю, проще это объяснить на примере.
Представьте, что имеются отчеты по продажам для нескольких регионов с одинаковыми товарами и в одинаковом формате. Требуется найти показатели продаж для определенного региона:
Если у Вас всего два таких отчета, то можно использовать до безобразия простую формулу с функциями ВПР и ЕСЛИ (IF), чтобы выбрать нужный отчет для поиска:
=VLOOKUP($D$2,IF($D3="FL",FL_Sales,CA_Sales),2,FALSE)
=ВПР($D$2;ЕСЛИ($D3="FL";FL_Sales;CA_Sales);2;ЛОЖЬ)
- $D$2 – это ячейка, содержащая название товара. Обратите внимание, здесь мы используем абсолютные ссылки, чтобы избежать изменения искомого значения при копировании формулы в другие ячейки.
- $D3 – это ячейка с названием региона. Используем абсолютную ссылку для столбца и относительную ссылку для строки, поскольку планируем копировать формулу в другие ячейки того же столбца.
- FL_Sales и CA_Sales – названия таблиц (или именованных диапазонов), в которых содержаться соответствующие отчеты о продажах. Вы, конечно же, можете использовать обычные названия листов и ссылки на диапазоны ячеек, например ‘FL Sheet’!$A$3:$B$10, но именованные диапазоны гораздо удобнее.
Однако, когда таких таблиц много, функция ЕСЛИ – это не лучшее решение. Вместо нее можно использовать функцию ДВССЫЛ (INDIRECT), чтобы возвратить нужный диапазон поиска.
Как Вы, вероятно, знаете, функция ДВССЫЛ используется для того, чтобы вернуть ссылку, заданную текстовой строкой, а это как раз то, что нам сейчас нужно. Итак, смело заменяем в представленной выше формуле выражение с функцией ЕСЛИ на ссылку с функцией ДВССЫЛ. Вот такая комбинация ВПР и ДВССЫЛ отлично работает в паре:
=VLOOKUP($D$2,INDIRECT($D3&"_Sales"),2,FALSE)
=ВПР($D$2;ДВССЫЛ($D3&"_Sales");2;ЛОЖЬ)
- $D$2 – это ячейка с названием товара, она неизменна благодаря абсолютной ссылке.
- $D3 – это ячейка, содержащая первую часть названия региона. В нашем примере это FL.
- _Sales – общая часть названия всех именованных диапазонов или таблиц. Соединенная со значением в ячейке D3, она образует полное имя требуемого диапазона. Ниже приведены некоторые подробности для тех, кто не имеет опыта работы с функцией ДВССЫЛ.
Как работают ДВССЫЛ и ВПР
Во-первых, позвольте напомнить синтаксис функции ДВССЫЛ (INDIRECT):
INDIRECT(ref_text,[a1])
ДВССЫЛ(ссылка_на_текст;[a1])
- A1, если аргумент равен TRUE (ИСТИНА) или не указан;
- R1C1, если FALSE (ЛОЖЬ).
В нашем случае ссылка имеет стиль A1, поэтому можно не указывать второй аргумент и сосредоточиться на первом.
Итак, давайте вернемся к нашим отчетам по продажам. Если Вы помните, то каждый отчёт – это отдельная таблица, расположенная на отдельном листе. Чтобы формула работала верно, Вы должны дать названия своим таблицам (или диапазонам), причем все названия должны иметь общую часть. Например, так: CA_Sales, FL_Sales, TX_Sales и так далее. Как видите, во всех именах присутствует «_Sales».
Функция ДВССЫЛ соединяет значение в столбце D и текстовую строку «_Sales», тем самым сообщая ВПР в какой таблице искать. Если в ячейке D3 находится значение «FL», формула выполнит поиск в таблице FL_Sales, если «CA» – в таблице CA_Sales и так далее.
Результат работы функций ВПР и ДВССЫЛ будет следующий:
Если данные расположены в разных книгах Excel, то необходимо добавить имя книги перед именованным диапазоном, например:
=VLOOKUP($D$2,INDIRECT($D3&"Workbook1!_Sales"),2,FALSE)
=ВПР($D$2;ДВССЫЛ($D3&"Workbook1!_Sales");2;ЛОЖЬ)
Урок подготовлен для Вас командой сайта office-guru.ru Источник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/ Перевел: Андрей Антонов Правила перепечатки Еще больше уроков по Microsoft Excel
Если вы знакомы с функцией ВПР (VLOOKUP) или ее горизонтальным аналогом ГПР (HLOOKUP), то должны помнить, что эта замечательные функции ищут информацию только по одному параметру, т.е. в одномерном массиве — по строке или по столбцу. А если нам необходимо выбирать данные из двумерной таблицы по совпадению сразу двух параметров — и по строке и по столбцу одновременно? Давайте рассмотрим несколько жизненных примеров таких задач и их решения.
Пример 1. Найти значение по товару и городу
Предположим, что у нас имеется вот такой двумерный массив данных по городам и товарам:
Пользователь вводит (или выбирает из выпадающих списков) в желтых ячейках нужный товар и город. В зеленой ячейке нам нужно формулой найти и вывести число из таблицы, соответствующее выбранным параметрам. Фактически, мы хотим найти значение ячейки с пересечения определенной строки и столбца в таблице. Для наглядности, разобъем задачу на три этапа.
- Во-первых, нам нужно определить номер строки, соответствующей выбранному пользователем в желтой ячейке товару. Это поможет сделать функция ПОИСКПОЗ (MATCH) из категории Ссылки и массивы (Lookup and Reference). В частности, формула ПОИСКПОЗ(J2; A2:A10; 0) даст нам нужный результат (для Яблока это будет число 6). Первый аргумент этой функции — искомое значение (Яблоко из желтой ячейки J2), второй — диапазон ячеек, где мы ищем товар (столбец с товарами в таблице — A2:A10), третий аргумент задает тип поиска (0 — точное совпадение наименования, приблизительный поиск запрещен).
- Во-вторых, совершенно аналогичным способом мы должны определить порядковый номер столбца в таблице с нужным нам городом. Функция ПОИСКПОЗ(J3; B1:F1; 0) сделает это и выдаст, например, для Киева, выбранного пользователем в желтой ячейке J3 значение 4.
- И, наконец, в-третьих, нам нужна функция, которая умеет выдавать содержимое ячейки из таблицы по номеру строки и столбца — функция ИНДЕКС (INDEX) из той же категории Ссылки и массивы (Lookup and Reference). Первый аргумент этой функции — диапазон ячеек (в нашем случае это вся таблица, т.е. B2:F10), второй — номер строки, третий — номер столбца (а их мы определим с помощью функций ПОИСКПОЗ).
Итого, соединяя все вышеперечисленное в одну формулу, получаем для зеленой ячейки решение:
=ИНДЕКС(B2:F10; ПОИСКПОЗ(J2;A2:A10;0); ПОИСКПОЗ(J3;B1:F1;0))
или в английском варианте
=INDEX(B2:F10;MATCH(J2;A2:A10;0);MATCH(J3;B1:F1;0))
Пример 2. Приблизительный двумерный поиск
Слегка модифицируем предыдущий пример. Предположим, что у нас имеется вот такая ситуация:
Идея в том, что пользователь должен ввести в желтые ячейки высоту и ширину двери для, например, шкафа, которую он хочеть заказать у компании-производителя, а в серой ячейке должна появиться ее стоимость из таблицы. Важный нюанс в том, что если пользователь вводит нестандартные значения размеров, то они должны автоматически округлиться до ближайших имеющихся в таблице и в серой ячейке должна появиться стоимость изготовления двери для этих округленных стандарных размеров.
Решение для серой ячейки будет практически полностью аналогично предыдущему примеру:
=ИНДЕКС(C7:K16; ПОИСКПОЗ(D3;B7:B16;1); ПОИСКПОЗ(G3;C6:K6;1))
=INDEX(C7:K16; MATCH(D3;B7:B16;1); MATCH(G3;C6:K6;1))
Разница только в последнем аргументе обеих функций ПОИСКПОЗ (MATCH) — Типу сопоставления (здесь он равен минус 1). Это некий аналог четвертого аргумента функции ВПР (VLOOKUP) — Интервального просмотра (Range Lookup). Вообще говоря, возможных значений для него три:
- 1 — поиск ближайшего наименьшего числа, т.е. введенные пользователем размеры двери округлялись бы до ближайших наименьших подходящих размеров из таблицы. В нашем случае высота 500 округлилась бы до 450, а ширина 480 до 300, и стоимость двери была бы 135.
- -1 — поиск ближайшего наибольшего числа, т.е. нестандартная высота 500 округлялась бы до 700, а ширина 480 — до 600 и стоимость составила бы уже 462. Для бизнеса так гораздо интереснее!
- 0 — поиск точного соответствия без каких либо округлений. Используется для 100%-го совпадения искомого значения с одним из значений в таблице. Естественно, применяется при поиске текстовых параметров (как в прошлом примере), т.к. для них округление невозможно.
Важно отметить, что при использовании приблизительного поиска с округлением диапазон поиска — а значит и вся таблица — должна быть отсортирована по возрастанию (для Типа сопоставления = 1) или по убыванию (для Типа сопоставления = -1) по строчкам и по столбцам. Иначе приблизительный поиск корректно работать не будет!
Для точного поиска (Тип сопоставления = 0) сортировка не нужна и никакой роли не играет.
P.S. Обратная задача
В комментах неоднократно интересуются — а как сделать обратную операцию, т.е. определить в первом примере город и товар если мы знаем значение из таблицы? Тут потребуются две небольшие формулы массива (не забудьте ввести их с помощью сочетания клавиш Ctrl+Shift+Enter, а не обычного Enter):
Принцип их работы следующий:
- перебираем все ячейки в диапазоне B2:F10 и ищем совпадение с искомым значением (13) из ячейки J4 с помощью функции ЕСЛИ (IF)
- когда нашли совпадение, то определяем номер строки (столбца) первого элемента в таблице в этой строке (столбце) с помощью функций СТОЛБЕЦ (COLUMN) и СТРОКА (ROW)
- выдергиваем значение города или товара из таблицы с помощью функции ИНДЕКС (INDEX)
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для подстановки значений
- Динамическая выборка из списка функциями ИНДЕКС и ПОИСКПОЗ
- Улучшаем функцию ВПР (VLOOKUP2)
- ВПР (VLOOKUP) с учетом регистра
- Многоразовый ВПР для вывода сразу всех значений
Поиск значений в списке данных
Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Предположим, что вы хотите найти расширение телефона сотрудника, используя его номер эмблемы или правильную ставку комиссионных за объем продаж. Вы можете искать данные для быстрого и эффективного поиска определенных данных в списке, а также для автоматической проверки правильности данных. После поиска данных можно выполнить вычисления или отобразить результаты с возвращаемой величиной. Существует несколько способов поиска значений в списке данных и отображения результатов.
Что необходимо сделать
-
Точное совпадение значений по вертикали в списке
-
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
-
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
-
Точное совпадение значений по горизонтали в списке
-
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
-
Создание формулы подступа с помощью мастера подметок (только в Excel 2007)
Точное совпадение значений по вертикали в списке
Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.
Примеры ВРОТ
Дополнительные сведения см. в этой информации.
Примеры индексов и совпадений
Что означает:
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» (в B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».
Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.
К началу страницы
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
Для этого используйте функцию ВЛВП.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.
Дополнительные сведения см. в этой информации.
К началу страницы
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.
Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.
C1 — это левые верхние ячейки диапазона (также называемые начальной).
MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.
1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.
К началу страницы
Точное совпадение значений по горизонтали в списке
Для этого используйте функцию ГГПУ. См. пример ниже.
Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
Для этого используйте функцию ГГПУ.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )
Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).
В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.
-
Щелкните ячейку в диапазоне.
-
На вкладке Формулы в группе Решения нажмите кнопку Под поиск.
-
Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.
Загрузка надстройки «Мастер подстройок»
-
Нажмите кнопку Microsoft Office , выберите Параметры Excel и щелкните категорию Надстройки.
-
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
Skip to content
В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке.
При использовании Microsoft Excel для анализа данных вы часто можете оказаться в ситуации, когда вам нужно получить все совпадающие значения для определенного имени, наименования, артикула или какого-либо другого уникального идентификатора. Первое решение, которое приходит на ум, — это использование функции Excel ВПР (VLOOKUP). Но проблема в том, что она может возвращать только одно значение.
Поиск нескольких значений в Excel может быть выполнен с помощью совместного использования ряда функций. Если вы не являетесь экспертом в Excel, не спешите покидать эту страницу. Я постараюсь объяснить логику поиска, чтобы даже новичок мог понять формулы и настроить их для решения подобных задач.
Поиск нескольких позиций в Excel с помощью формулы
Как было сказано ранее, невозможно заставить функцию ВПР Excel возвращать несколько значений. Проблему можно решить, используя следующие функции в формуле массива:
- ЕСЛИ – оценивает условие и возвращает одно значение, если условие выполняется, и другое значение, если условие не выполняется.
- НАИМЕНЬШИЙ– получает N-е наименьшее значение в массиве.
- ИНДЕКС — возвращает элемент массива на основе указанных вами номеров строк и столбцов.
- СТРОКА — возвращает номер строки.
- СТОЛБЕЦ — возвращает номер столбца.
- ЕСЛИОШИБКА – перехватывает ошибки.
Ниже вы найдете несколько примеров таких формул. Их часто называют формулами ВПР нескольких значений, хотя сама функция ВПР здесь не используется. Дело в том, что часто под термином ВПР подразумевают любой поиск в Excel, какими бы формулами и функциями он ни осуществлялся.
Поиск нескольких значений и возврат результатов в столбец
Допустим, у вас есть имена продавцов в столбце А и товары, которые они продали, в столбце В. Таблица содержит несколько записей для каждого продавца. Ваша цель — получить список всех товаров, относящихся к данному человеку. Чтобы это сделать, выполните следующие действия:
- Введите список имен продавцов в какую-нибудь пустую строку того же или другого рабочего листа. В этом примере имена вводятся в ячейки D2:H2:
Совет. Чтобы быстро записать все имеющиеся в списке имена, вы можете использовать эту инструкцию — как получить список уникальных значений в Excel.
- Под именем выберите количество пустых ячеек, равное или превышающее максимально возможное количество совпадений, введите одно из следующих выражений и нажмите
Ctrl + Shift + Enter
для ввода его как формулы массива (в этом случае вы сможете редактировать формулу только сразу во всем диапазоне, где она введена). Или же вы можете записать это в левую верхнюю ячейку, также использовавCtrl + Shift + Enter
, а затем перетащить вниз еще на несколько ячеек (в этом случае вы сможете редактировать формулу в каждой ячейке отдельно).
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13; СТРОКА($B$3:$B$13)-2;»»); СТРОКА()-2));»»)
или
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13;СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1;»»); СТРОКА()-2));»»)
Как видите, первая формула немного компактнее, а вторая более универсальна и требует меньше модификаций (подробнее о синтаксисе и логике мы поговорим чуть дальше).
- Скопируйте формулу в соседние столбцы справа. Для этого перетащите маркер заполнения (небольшой квадрат в правом нижнем углу выбранного диапазона) вправо.
Результат ВПР нескольких значений в столбце будет выглядеть примерно так:
Здесь мы использовали первую формулу:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13; СТРОКА($B$3:$B$13)-2;»»); СТРОКА()-2));»»)
Как это работает.
Это пример использования Excel от среднего до продвинутого уровня, который подразумевает базовые знания формул массива и функций Excel. Итак, разберём пошагово:
- Функция ЕСЛИ
В основе поиска – функция ЕСЛИ, чтобы получить позиции всех вхождений искомого значения в диапазоне поиска: ЕСЛИ(D$2=$A$3:$A$13; СТРОКА($B$3:$B$13) )-2;»»)
ЕСЛИ сравнивает искомое значение (D2) с каждым значением в диапазоне поиска (A3:A13) и, если совпадение найдено, возвращает относительную позицию строки; пустое значение («») в противном случае.
Относительная позиция вычисляется путем вычитания 2 из СТРОКА($B$3:$B$13), чтобы первая позиция с формулой имела порядковый номер 1 (то есть, 3-2=1). Если ваш диапазон вывода начинается со строки 2, тогда вычтите 1 и так далее. Результатом этой операции является массив {1;2;3;4;5;6;7;8;9;10;11}, который поступает в аргумент значение_если_истина функции ЕСЛИ.
Вместо приведенного выше вычисления вы можете использовать следующее выражение:
СТРОКА(столбец_просмотра) — МИН(СТРОКА(столбец_просмотра))+1
Оно возвращает тот же результат, но не требует каких-либо изменений независимо от местоположения возвращаемого столбца. В этом примере это будет СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1.
Итак, на данный момент у вас есть массив, состоящий из чисел (позиций совпадений) и пустых строк (несовпадений). Для ячейки D3 в этом примере у нас есть следующий массив:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ({1:»»:»»:»»:5:»»:»»:8:»»:»»:»»}; СТРОКА()-2));»»)
Если вы сверитесь с исходными данными, вы увидите, что «Сергей» (значение поиска в D2) появляется на 1- й , 5 -й и 8 -й позициях в диапазоне поиска (A3: A13).
- Функция НАИМЕНЬШИЙ
Затем вступает в действие функция НАИМЕНЬШИЙ(массив; k), чтобы определить, какие совпадения должны быть возвращены в конкретной ячейке.
С уже установленным в предыдущем шаге массивом давайте определим аргумент k , т. е. k-е наименьшее возвращаемое значение. Для этого вы делаете своего рода «инкрементный счетчик» СТРОКА()-n, где «n» — это номер строки первой ячейки формулы минус 1. В этом примере мы ввели формулу в ячейки D3:D7, поэтому СТРОКА()-2 возвращает «1» для ячейки D3 (строка 3 минус 2), «2» для ячейки D4 (строка 4 минус 2) и т. д.
В результате функция НАИМЕНЬШИЙ извлекает первый наименьший элемент массива в ячейку D3, второй наименьший элемент в ячейку D4 и так далее. И это превращает первоначальную длинную и сложную формулу в очень простую, например:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;{1});»»)
Совет. Чтобы увидеть значение, вычисленное определенной частью формулы, выделите эту часть в самой формуле и нажмите F9.
- Функция ИНДЕКС
Здесь все просто. Вы используете функцию ИНДЕКС, чтобы вернуть значение элемента массива на основе его номера.
- Функция ЕСЛИОШИБКА
И, наконец, вы оборачиваете формулу в функцию ЕСЛИОШИБКА для обработки возможных ошибок, которые неизбежны, потому что вы не можете знать, сколько совпадений будет возвращено для того или иного искомого значения. Ведь вы копируете формулу в число ячеек явно большее, чем количество возможных совпадений, то есть «с запасом». Чтобы не пугать пользователей кучей ошибок, просто замените их пустой строкой (пустой ячейкой).
Примечание. Обратите внимание на правильное использование абсолютных и относительных ссылок на ячейки в формуле. Все ссылки фиксированы, за исключением ссылки на относительный столбец в искомом значении (D$2), которая должна изменяться в зависимости от относительного положения столбцов, в которые копируется формула, чтобы возвращать совпадения для других имён.
На скриншоте ниже вы можете видеть, как работает вторая формула
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13;СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1;»»); СТРОКА()-2));»»)
Обобщив эти два решения, мы получим следующие общие формулы для ВПР нескольких значений в Excel, которые будут выведены в столбец:
Вариант 1 :
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТРОКА()-n));»»)
Вариант 2:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений;НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений;СТРОКА(диапазон_искомых_значений)-МИН(СТРОКА(диапазон_искомых_значений))+1;»»); СТРОКА()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне минус 1.
- n — номер строки первой ячейки с формулой минус 1.
Примечание. В приведенном выше примере и n, и m равны 2, потому что наш диапазон возвращаемых значений начинается, да и сама формула расположена, в строке 3. В ваших таблицах Эксель это вполне могут быть и другие числа.
Поиск нескольких совпадений и возврат результатов в строке
Если вы хотите вернуть несколько найденных значений в строках, а не в столбцах, измените приведенные выше формулы Excel следующим образом:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ(ЕСЛИ($D3=$A$3:$A$13;СТРОКА($B$3:$B$13)-2;»»); СТОЛБЕЦ()-4));»»)
или
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;НАИМЕНЬШИЙ(ЕСЛИ($D3=$A$3:$A$13;СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1;»»);СТОЛБЕЦ()-4)); «»)
Как и в предыдущем примере, обе они являются формулами массива, поэтому не забудьте нажать комбинацию Ctrl + Shift + Enter, чтобы записать их правильно.
Формулы работают с той же логикой, что и в предыдущем примере, за исключением того, что вы используете функцию СТОЛБЕЦ вместо СТРОКА. Чтобы определить, какое совпадающее значение должно быть возвращено в конкретной ячейке, используем: СТОЛБЕЦ()-n где n — номер столбца первой ячейки, в которую вводится формула, минус 1. В этом примере результаты выводятся в диапазон E2:H2. Поскольку E является пятым столбцом, n равно 4 (5-1=4).
Примечание. Чтобы формула правильно копировалась вправо и вниз, обратите внимание на ссылки на значения поиска, где используется абсолютный адрес столбца и относительный адрес строки, например $D3.
И вот общие формулы для ВПР в Excel нескольких значений, возвращаемых по строке:
Формула 1 :
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТОЛБЕЦ()-n));»»)
Формула 2:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений;НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений;СТРОКА(диапазон_искомых_значений)-МИН(СТРОКА(диапазон_искомых_значений))+1;»»); СТОЛБЕЦ()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне, минус 1.
- n — номер столбца первой ячейки, в которой записана формула, минус 1.
Поиск нескольких значений на основе нескольких условий
Вы уже знаете, как выполнять поиск нескольких значений в Excel на основе одного условия. Но что, если вы хотите вернуть несколько совпадений сразу на основе двух или более критериев? Продолжая предыдущие примеры – что, если у вас в таблице есть дополнительный столбец «Месяц» и вы хотите получить список всех товаров, проданных конкретным продавцом в определенном месяце?
Если вы знакомы с формулами массивов, то, возможно, помните, что они позволяют использовать знак умножения (*) в качестве логического оператора И. Таким образом, вы можете просто взять выражения, рассмотренные в двух предыдущих примерах, и заставить их проверять несколько условий, как показано ниже.
Как вернуть несколько значений в столбце.
Выведем искомые значения, соответствующие одновременно нескольким условиям, в привычном нам виде – вертикально в одном столбце.
В общем виде это выглядит так:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(1=((—(искомое_значение1 = диапазон_искомых_значений1)) * (—(искомое_значение2 = диапазон_искомых_значений2))) ; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТРОКА()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне, минус 1.
- n — номер строки первой слева ячейки с формулой, минус 1.
Предположим, что список продавцов (диапазон_искомых_значений1) находится в A3:A30, список месяцев (диапазон_искомых_значений2) находится в B3: B30, интересующий продавец (искомое_значение1) указан в ячейке E3, а нужный месяц (искомое_значение2) – в ячейке F3. Тогда формула поиска принимает следующий вид:
=ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E$3=$A$3:$A$30))*(—($F$3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТРОКА()-2));»»)
Таким образом, мы вводим имя в E3, месяц в F3, и получаем список товаров в столбце G:
Как вернуть несколько результатов в строке.
Если вы хотите получить по горизонтали несколько искомых значений на основе нескольких критериев, то есть когда результаты размещаются в одной строке, то используйте следующий общий шаблон:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(1=((—(искомое_значение1 = диапазон_искомых_значений1)) * (—(искомое_значение2 = диапазон_искомых_значений2))) ; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТОЛБЕЦ()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне, минус 1.
- n — номер столбца первой слева ячейки, в которой записана формула, минус 1.
Для нашего примера набора данных формула выглядит следующим образом:
=ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E3=$A$3:$A$30))*(—($F3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТОЛБЕЦ()-6));»»)
И результат ВПР нескольких значений по нескольким условиям может выглядеть так:
Аналогичным образом вы можете выполнять ВПР с тремя, четырьмя и более условиями.
Как это работает?
По сути, формулы для ВПР нескольких значений с несколькими условиями работают с уже знакомой логикой, объясненной в самом первом нашем примере. Единственное отличие состоит в том, что функция ЕСЛИ теперь проверяет несколько условий:
1=((—(искомое_значение1 = диапазон_искомых_значений1)) * (—(искомое_значение2 = диапазон_искомых_значений2)) * …..)
Результатом каждого сравнения (искомое_значение = диапазон_искомых_значений) является массив логических значений ИСТИНА (условие выполнено) и ЛОЖЬ (условие не выполнено). Двойное отрицание (—) переводит логические значения в единицы и нули. А поскольку умножение на ноль всегда дает ноль, в правой части этого равенства у вас будет получаться 1 только для тех элементов, которые удовлетворяют всем указанным вами условиям.
Вы просто сравниваете окончательный массив нулей и единиц с числом 1, чтобы функция СТРОКА вернула порядковые номера строк, удовлетворяющих всем условиям, в противном случае — пустоту.
Напоминание. Все формулы поиска, обсуждаемые в этой статье, являются формулами массива. Таким образом, каждая из них перебирает все элементы массива каждый раз, когда исходные данные изменяются или рабочий лист пересчитывается. На больших листах, содержащих сотни или тысячи позиций, это может значительно замедлить работу Excel.
Как вернуть несколько значений ВПР в одну ячейку
Мы продолжаем работать с набором данных, который использовали в предыдущем примере. Но на этот раз мы хотим добиться другого результата — вместо того, чтобы извлекать несколько совпадений в отдельные ячейки, мы хотим, чтобы они отображались в одной текстовой ячейке, разделенные запятой, пробелом или другим разделителем по вашему выбору.
Используем выражение, которое мы рассматривали чуть выше и которая позволяет получить несколько результатов ВПР с условиями в одной строке:
=ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E3=$A$3:$A$30))*(—($F3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТОЛБЕЦ()-6));»»)
Внесем в нее небольшие изменения.
Чтобы обработать сразу несколько результатов, в функцию СТОЛБЕЦ добавим аргумент – диапазон ячеек, в который мы ранее копировали формулу. То есть, вместо СТОЛБЕЦ() у нас теперь будет СТОЛБЕЦ(G3:K3). Это позволит формуле массива получить сразу несколько номеров столбцов.
Затем применим крайне полезную при работе с текстовыми значениями функцию ОБЪЕДИНИТЬ (доступна в Excel 2019 и более поздних версиях). Она позволит нам объединить несколько текстовых значений, отделив их друг от друга выбранным нами разделителем. К примеру, запятой с пробелом после нее.
Вот что у нас получится:
=ОБЪЕДИНИТЬ(«, «; ИСТИНА; ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E3=$A$3:$A$30))*(—($F3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТОЛБЕЦ(G3:K3)-6));»»))
И видим результат ВПР нескольких значений в одной ячейке на этом скриншоте:
Еще один, более простой вариант, чтобы подтянуть несколько значений и вывести результат в одной ячейке:
=ОБЪЕДИНИТЬ(«, «;ИСТИНА;ЕСЛИ(($A$3:$A$30=E3)*($B$3:$B$30=F3)=1;$C$3:$C$30;»»))
Ее также нужно вводить как формулу массива:
Как найти несколько значений без дубликатов
А если так случится, что в результатах поиска будет несколько одинаковых значений? Пример таких данных вы можете видеть на скриншоте ниже. Естественно, выводить в ячейке несколько дубликатов было бы не совсем хорошо.
Если вы хотите получить в одной ячейке результаты поиска нескольких значений без повторов, попробуйте так:
=ОБЪЕДИНИТЬ(«, «; ИСТИНА; ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ($C$3:$C$13; ЕСЛИ(E3=$A$3:$A$13; $C$3:$C$13; «»); 0);»»)=ПОИСКПОЗ(СТРОКА($C$3:$C$13); СТРОКА($C$3:$C$13)); $C$3:$C$13; «»))
Вставьте это выражение в нужную ячейку, не забыв завершить ввод комбинацией Ctrl+Shift+Enter
, так как это формула массива. Затем можете скопировать вниз по столбцу, чтобы получить данные по другим критериям выбора.
Как видите, мы получили в одной ячейке несколько значений, среди которых нет одинаковых, хотя в исходных данных таковые имеются.
Надеюсь, эти примеры будут вам полезны для поиска сразу нескольких значений в Excel. Благодарю вас за чтение.