Поиск значений в списке данных
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 и чем они лучше ВПР.
В нескольких недавних статьях мы приложили немало усилий, чтобы объяснить основы функции ВПР новичкам и предоставить более сложные примеры формул ВПР опытным пользователям. А теперь я постараюсь если не отговорить вас от использования ВПР, то хотя бы показать вам альтернативный способ поиска нужных значений в Excel.
- Краткий обзор функций ИНДЕКС и ПОИСКПОЗ
- Как использовать формулу ИНДЕКС ПОИСКПОЗ
- ИНДЕКС+ПОИСКПОЗ вместо ВПР?
- Поиск справа налево
- Двусторонний поиск в строках и столбцах
- ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям
- Как найти среднее, максимальное и минимальное значение
- Что делать с ошибками поиска?
Для чего это нужно? Потому что функция ВПР имеет множество ограничений, которые могут помешать вам получить желаемый результат во многих ситуациях. С другой стороны, комбинация ПОИСКПОЗ ИНДЕКС более гибкая и имеет много замечательных возможностей, которые во многих отношениях превосходят ВПР.
Функции Excel ИНДЕКС и ПОИСКПОЗ — основы
Поскольку целью этого руководства является демонстрация альтернативного способа выполнения поиска в Excel с использованием комбинации функций ИНДЕКС и ПОИСКПОЗ, мы не будем подробно останавливаться на их синтаксисе и использовании. Тем более, что это подробно рассмотрено в других статьях, ссылки на которые вы можете найти в конце этого руководства. Мы рассмотрим лишь минимум, необходимый для понимания общей идеи, а затем подробно рассмотрим примеры формул, раскрывающие все преимущества использования ПОИСКПОЗ и ИНДЕКС вместо ВПР.
Функция ИНДЕКС
Функция ИНДЕКС (в английском варианте – INDEX) возвращает значение в массиве на основе указанных вами номеров строк и столбцов. Синтаксис функции ИНДЕКС прост:
ИНДЕКС(массив,номер_строки,[номер_столбца])
Вот простое объяснение каждого параметра:
- массив — это диапазон ячеек, именованный диапазон или таблица.
- номер_строки — это номер строки в массиве, из которого нужно вернуть значение. Если этот аргумент опущен, требуется следующий – номер_столбца.
- номер_столбца — это номер столбца, из которого нужно вернуть значение. Если он опущен, требуется номер_строки.
Дополнительные сведения см. в статье Функция ИНДЕКС в Excel .
А вот пример формулы ИНДЕКС в самом простом виде:
=ИНДЕКС(A1:C10;2;3)
Формула выполняет поиск в ячейках с A1 по C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, т. е. в ячейке C2.
Очень легко, правда? Однако при работе с реальными данными вы вряд ли когда-нибудь будете заранее знать, какие строки и столбцы вам нужны. Здесь вам пригодится ПОИСКПОЗ.
Функция ПОИСКПОЗ
Она ищет нужное значение в диапазоне ячеек и возвращает относительное положение этого значения в диапазоне.
Синтаксис функции ПОИСКПОЗ следующий:
ПОИСКПОЗ(искомое_значение, искомый_массив, [тип_совпадения])
- искомое_значение — числовое или текстовое значение, которое вы ищете.
- диапазон_поиска — диапазон ячеек, в которых будем искать.
- тип_совпадения — указывает, следует ли искать точное соответствие или наиболее близкое совпадение:
- 1 или опущено — находит наибольшее значение, которое меньше или равно искомому значению. Требуется сортировка массива поиска в порядке возрастания.
- 0 — находит первое значение, точно равное искомому значению. В комбинации ИНДЕКС/ПОИСКПОЗ вам почти всегда нужно точное совпадение, поэтому вы чаще всего устанавливаете третий аргумент вашей функции в 0.
- -1 — находит наименьшее значение, которое больше или равно искомому значению. Требуется сортировка массива поиска в порядке убывания.
Например, если диапазон B1:B3 содержит значения «яблоки», «апельсины», «лимоны», приведенная ниже формула возвращает число 3, поскольку «лимоны» — это третья по счету запись в этом диапазоне:
=ПОИСКПОЗ(«лимоны»;B1:B3;0)
Дополнительные сведения см . в статье Функция ПОИСКПОЗ в Excel .
На первый взгляд полезность функции ПОИСКПОЗ может показаться сомнительной. Кого волнует положение значения в диапазоне? Что мы действительно хотим определить, так это само значение.
Однако, относительная позиция искомого значения (т. е. номера строки и столбца, в которых оно находится) — это именно то, что нам нужно указать для аргументов номер_строки и номер_столбца функции ИНДЕКС. Как вы помните, ИНДЕКС может найти значение на пересечении заданной строки и столбца, но сама не может определить, какую именно строку и столбец ей нужно выбрать.
Вот поэтому совместное использование ИНДЕКС и ПОИСКПОЗ открывает перед нами массу возможностей для поиска в Excel.
Как использовать формулу ИНДЕКС ПОИСКПОЗ в Excel
Теперь, когда вы знаете основы, я считаю, что вы уже начали понимать, как ПОИСКПОЗ и ИНДЕКС работают вместе. Короче говоря, ИНДЕКС извлекает нужное значение по номерам столбцов и строк, а ПОИСКПОЗ предоставляет ей эти номера. Вот и все!
Для вертикального поиска вы используете функцию ПОИСКПОЗ только для определения номера строки, указывая диапазон столбцов непосредственно в самой формуле:
ИНДЕКС ( столбец для возврата значения ; ПОИСКПОЗ ( искомое значение ; столбец для поиска ; 0))
Все еще не совсем понимаете эту логику? Возможно, будет проще разобрать на примере. Предположим, у вас есть список национальных столиц и их население:
Чтобы найти население определенной столицы, скажем, Индии, используйте следующую формулу ПОИСКПОЗ ИНДЕКС:
=ИНДЕКС(C2:C10; ПОИСКПОЗ(“Индия”;A2:A10;0))
Теперь давайте проанализируем, что на самом деле делает каждый компонент этой формулы:
- Функция ПОИСКПОЗ ищет искомое значение «Индия» в диапазоне A2:A10 и возвращает число 2, поскольку это слово занимает второе место в массиве поиска.
- Этот номер поступает непосредственно в аргумент номер_строки функции ИНДЕКС, предписывая вернуть значение из этой строки.
Таким образом, приведенная выше формула превращается в ИНДЕКС(C2:C10;2), которая означает, что нужно искать в ячейках от C2 до C10 и извлекать значение из второй ячейки в этом диапазоне, то есть из C3, потому что мы начинаем отсчет со второй строки.
Но указывать название города в формуле не совсем правильно, так как для каждого нового поиска придется корректировать эту формулу. Введите его в какую-нибудь отдельную ячейку, скажем, F1, укажите ссылку на ячейку для ПОИСКПОЗ, и вы получите формулу динамического поиска:
=ИНДЕКС(C2:C10;ПОИСКПОЗ(F1;A2:A10;0))
Важное замечание! Количество строк в аргументе массив функции ИНДЕКС должно совпадать с количеством строк в аргументе просматриваемый_массив в ПОИСКПОЗ, иначе формула выдаст неверный результат.
Вы спросите: «А почему бы нам просто не использовать обычную формулу ВПР? Какой смысл тратить время на то, чтобы разобраться в хитросплетениях ИНДЕКС ПОИСКПОЗ в Excel?»
Вот как это будет выглядеть:
=ВПР(F1; A2:C10; 3; 0)
Конечно, так проще. Но этот наш элементарный пример предназначен только для демонстрационных целей, чтобы вы поняли, как именно функции ИНДЕКС и ПОИСКПОЗ работают вместе. Действительно, ВПР была бы здесь более уместна. Другие примеры, которые вы найдёте ниже, покажут вам реальную силу этой комбинации, которая легко справляется со многими сложными задачами, когда ВПР будет бессильна.
ИНДЕКС+ПОИСКПОЗ вместо ВПР?
Решая, какую функцию использовать для вертикального поиска, большинство знатоков Excel сходятся во мнении, что ПОИСКПОЗ+ИНДЕКС намного лучше, чем ВПР. Однако многие до сих пор остаются с ВПР, во-первых, потому что это проще, а, во-вторых, потому что они не до конца понимают все преимущества использования формулы ПОИСКПОЗ ИНДЕКС в Excel. Без такого понимания никто не захочет тратить свое время на изучение более сложного синтаксиса.
Ниже я укажу на ключевые преимущества ИНДЕКС ПОИСКПОЗ перед ВПР, а уж вам решать, является ли это достойным дополнением к вашему арсеналу знаний в Excel.
4 основные причины использовать ИНДЕКС ПОИСКПОЗ вместо ВПР
- Поиск справа налево. Как известно любому образованному пользователю, ВПР не может искать влево. Это означает, что искомое значение всегда должно находиться в крайнем левом столбце таблицы. А извлекать нужное значение мы будем из столбца, который находится правее. ИНДЕКС+ПОИСКПОЗ может легко выполнять поиск влево! Здесь это показано в действии: Как выполнить поиск значения слева в Excel .
- Можно безопасно вставлять или удалять столбцы. Формулы ВПР не работают или выдают неверные результаты, когда новый столбец удаляется из таблицы поиска или добавляется в нее, поскольку синтаксис ВПР требует указания порядкового номера столбца, из которого вы хотите извлечь данные. Естественно, когда вы добавляете или удаляете столбцы, этот номер в формуле автоматически не меняется, а нужный столбец уже оказывается на новом месте.
С функциями ИНДЕКС и ПОИСКПОЗ вы указываете диапазон возвращаемых столбцов, а не номер одного из них. В результате вы можете вставлять и удалять столько столбцов, сколько хотите, не беспокоясь об обновлении каждой связанной с ними формулы.
- Нет ограничений на размер искомого значения. При использовании функции ВПР общая длина ваших критериев поиска не может превышать 255 символов, иначе вы получите ошибку #ЗНАЧ!. Таким образом, если ваш набор данных содержит длинные строки, ИНДЕКС ПОИСКПОЗ — единственное работающее решение.
- Более высокая скорость обработки. Если ваши таблицы относительно небольшие, вряд ли будет какая-то существенная разница в производительности Excel. Но если ваши рабочие листы содержат сотни или тысячи строк и, следовательно, сотни или тысячи формул, ИНДЕКС ПОИСКПОЗ будет работать намного быстрее, чем ВПР. Причина в том, что Excel будет обрабатывать только столбцы поиска и возврата, а не весь массив таблицы.
Влияние ВПР на производительность Excel может быть особенно заметным, если ваша книга содержит сложные формулы массива. Чем больше значений содержит ваш массив и чем больше формул массива содержится в книге, тем медленнее работает Excel.
ИНДЕКС ПОИСКПОЗ в Excel – примеры формул
Уяснив, почему все же стоит изучать ИНДЕКС ПОИСКПОЗ, давайте перейдем к самому интересному и посмотрим, как можно применить теоретические знания на практике.
Формула для поиска справа налево
Как уже упоминалось, ВПР не может получать значения слева от столбца поиска. Таким образом, если ваши значения поиска не находятся в самом левом столбце, нет никаких шансов, что формула ВПР принесет вам желаемый результат. Функция ПОИСКПОЗ ИНДЕКС в Excel более универсальна и не имеет особого значения, где расположены столбцы поиска и возврата.
Для этого примера мы добавим столбец «Ранг» слева от нашей основной таблицы и попытаемся выяснить, какое место занимает столица России по численности населения среди других перечисленных столиц.
Записав искомое значение в G1, используйте следующую формулу для поиска в C2:C10 и возврата соответствующего значения из A2:A10:
=ИНДЕКС(A2:A10; ПОИСКПОЗ(G1;C2:C10;0))
Совет. Если вы планируете использовать формулу ПОИСКПОЗ ИНДЕКС более чем для одной ячейки, обязательно зафиксируйте оба диапазона абсолютными ссылками (например, $A$2:$A$10 и $C$2:$C$10), чтобы они не изменялись при копировании формулы.
Двусторонний поиск в строках и столбцах
В приведенных выше примерах мы использовали ИНДЕКС ПОИСКПОЗ вместо классической функции ВПР, чтобы вернуть значение из точно указанного столбца. Но что, если вам нужно искать в нескольких строках и столбцах? То есть, сначала нужно найти подходящий столбец, а уж потом извлечь из него значение? Другими словами, что, если вы хотите выполнить так называемый матричный или двусторонний поиск?
Это может показаться сложным, но формула очень похожа на базовую функцию ПОИСКПОЗ ИНДЕКС в Excel, но с одним отличием.
Просто используйте две функции ПОИСКПОЗ, вложенных друг в друга: одну – для получения номера строки, а другую – для получения номера столбца.
ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))
А теперь, пожалуйста, взгляните на приведенную ниже таблицу и давайте составим формулу двумерного поиска, чтобы найти население (в миллионах) в данной стране за данный год.
С целевой страной в G1 (значение_поиска1) и целевым годом в G2 (значение_поиска2) формула принимает следующий вид:
=ИНДЕКС(B2:D11; ПОИСКПОЗ(G1;A2:A11;0); ПОИСКПОЗ(G2;B1:D1;0))
Как работает эта формула?
Всякий раз, когда вам нужно понять сложную формулу Excel, разделите ее на более мелкие части и посмотрите, что делает каждая отдельная функция:
ПОИСКПОЗ(G1;A2:A11;0); – ищет в A2:A11 значение из ячейки G1 («США») и возвращает его позицию, которая равна 3.
ПОИСКПОЗ(G2;B1:D1;0) – просматривает диапазон B1:D1, чтобы получить позицию значения из ячейки G2 («2015»), которая равна 3.
Найденные выше номера строк и столбцов становятся соответствующими аргументами функции ИНДЕКС:
ИНДЕКС(B2:D11, 3, 3)
В результате вы получите значение на пересечении 3-й строки и 3-го столбца в диапазоне B2:D11, то есть из D4. Несложно?
ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям
Если у вас была возможность прочитать наши материалы по ВПР в Excel, вы, вероятно, уже протестировали формулу для ВПР с несколькими условиями . Однако существенным недостатком этого подхода является необходимость добавления вспомогательного столбца. Хорошей новостью является то, что функция ПОИСКПОЗ ИНДЕКС в Excel также может выполнять поиск по нескольким условиям без изменения или реструктуризации исходных данных!
Вот общая формула ИНДЕКС ПОИСКПОЗ с несколькими критериями:
{=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}
Примечание. Это формула массива , которую необходимо вводить с помощью сочетания клавиш Ctrl + Shift + Enter
.
Предположим, что в таблице ниже вы хотите найти значение на основе двух критериев: Покупатель и Товар.
Следующая формула ИНДЕКС ПОИСКПОЗ отлично работает:
=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; (F1=A2:A10) * (F2=B2:B10); 0))
Где C2:C10 — это диапазон, из которого возвращается значение, F1 — это критерий1, A2:A10 — это диапазон для сравнения с критерием 1, F2 — это критерий 2, а B2:B10 — это диапазон для сравнения с критерием 2.
Не забудьте правильно ввести формулу, нажав Ctrl + Shift + Enter, и Excel автоматически заключит ее в фигурные скобки, как показано на скриншоте ниже:
Рис5
Если вы не хотите использовать формулы массива, добавьте в формулу в F4 еще одну функцию ИНДЕКС и завершите ее ввод обычным нажатием Enter:
=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; ИНДЕКС((F1=A2:A10) * (F2=B2:B10); 0; 1); 0))
Разберем пошагово, как это работает.
Здесь используется тот же подход, что и в обычном сочетании ИНДЕКС ПОИСКПОЗ, где просматривается один столбец. Чтобы оценить несколько критериев, вы создаете два или более массива значений ИСТИНА и ЛОЖЬ, которые представляют совпадения и несовпадения для каждого отдельного критерия, а затем перемножаете соответствующие элементы этих массивов. Операция умножения преобразует ИСТИНА и ЛОЖЬ в 1 и 0 соответственно и создает массив, в котором единицы соответствуют строкам, которые удовлетворяют всем условиям. Функция ПОИСКПОЗ со значением поиска 1 находит первую «1» в массиве и передает ее позицию в ИНДЕКС, которая возвращает значение в этой позиции из указанного столбца.
Вторая формула без массива основана на способности функции ИНДЕКС работать с массивами. Второй вложенный ИНДЕКС имеет 0 в номер_строки , так что он будет передавать весь массив столбцов в ПОИСКПОЗ.
Среднее, максимальное и минимальное значение при помощи ИНДЕКС ПОИСКПОЗ
Microsoft Excel имеет специальные функции для поиска минимального, максимального и среднего значения в диапазоне. Но что, если вам нужно получить значение из другой ячейки, связанной с этими значениями? Например, получить название города с максимальным населением или узнать товар с минимальными продажами? В этом случае используйте функцию МАКС , МИН или СРЗНАЧ вместе с ИНДЕКС ПОИСКПОЗ.
Максимальное значение.
Предположим, нам нужно в списке городов найти столицу с самым большим населением. Чтобы найти наибольшее значение в столбце С и вернуть соответствующее ему значение из столбца В, находящееся в той же строке, используйте эту формулу:
=ИНДЕКС(B2:B10; ПОИСКПОЗ(МАКС(C2:C10); C2:C10; 0))
Скриншот с примером находится чуть ниже.
Минимальное значение
Теперь найдём город с самым маленьким населением в списке. Чтобы найти наименьшее число в столбце С и получить соответствующее ему значение из столбца В:
=ИНДЕКС(B2:B10; ПОИСКПОЗ(МИН(C2:C10); C2:C10; 0))
Ближайшее к среднему
Теперь мы находим город, население которого наиболее близко к среднему значению. Чтобы вычислить позицию, наиболее близкую к среднему значению показателя, рассчитанному из D2:D10, и получить соответствующее значение из столбца C, используйте следующую формулу:
=ИНДЕКС(B2:B10; ПОИСКПОЗ(СРЗНАЧ(C2:C10); C2:C10; -1 ))
В зависимости от того, как организованы ваши данные, укажите 1 или -1 для третьего аргумента (тип_совпадения) функции ПОИСКПОЗ:
- Если ваш столбец поиска (столбец D в нашем случае) отсортирован по возрастанию , поставьте 1. Формула вычислит наибольшее значение, которое меньше или равно среднему значению.
- Если ваш столбец поиска отсортирован по убыванию , введите -1. Формула вычислит наименьшее значение, которое больше или равно среднему значению.
- Если ваш массив поиска содержит значение , точно равное среднему, вы можете ввести 0 для точного совпадения. Никакой сортировки не требуется.
В нашем примере данные в столбце D отсортированы в порядке убывания, поэтому мы используем -1 для типа соответствия. В результате мы получаем «Токио», так как его население (13 189 000) является ближайшим, превышающим среднее значение (12 269 006).
Что делать с ошибками поиска?
Как вы, наверное, заметили, если формула ИНДЕКС ПОИСКПОЗ в Excel не может найти искомое значение, она выдает ошибку #Н/Д. Если вы хотите заменить это стандартное сообщение чем-то более информативным, оберните формулу ПОИСКПОЗ ИНДЕКС в функцию ЕСНД . Например:
=ЕСНД(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Не найдено»)
И теперь, если кто-то вводит значение, которое не существует в диапазоне поиска, формула явно сообщит пользователю, что совпадений не найдено:
Если вы хотите перехватывать все ошибки, а не только #Н/Д, используйте функцию ЕСЛИОШИБКА вместо ЕСНД:
=ЕСЛИОШИБКА(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Что-то пошло не так!»)
Пожалуйста, имейте в виду, что во многих ситуациях было бы не совсем правильно скрывать все такие ошибки, потому что они предупреждают вас о возможных проблемах в вашей формуле.
Итак, еще раз об основных преимуществах формулы ИНДЕКС ПОИСКПОЗ.
-
Возможен ли «левый» поиск?
-
Повлияет ли на результат вставка и удаление столбцов?
Вы можете вставлять и удалять столько столбцов, сколько хотите. На результат ИНДЕКС ПОИСКПОЗ это не повлияет.
-
Возможен ли поиск по строкам и столбцам?
Можно сначала найти подходящий столбец, а уж потом извлечь из него значение. Общий вид формулы:
ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))
Подробную инструкцию смотрите здесь. -
Как сделать поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям?
Можно выполнять поиск по двум или более условиям без добавления дополнительных столбцов. Вот формула массива, которая решит проблему:
{=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}
Вот как можно использовать ИНДЕКС и ПОИСКПОЗ в Excel. Я надеюсь, что наши примеры формул окажутся полезными для вас.
Вот еще несколько статей по этой теме:
Поиск нужных данных в диапазоне
Как использовать функцию ВПР (VLOOKUP) для поиска и выборки нужных значений из списка мы недавно разбирали. Если вы еще с ней не знакомы — загляните сюда, не пожалейте пяти минут, чтобы сэкономить себе потом несколько часов.
Если же вы знакомы с ВПР, то — вдогон — стоит разобраться с похожими функциями: ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH), владение которыми весьма облегчит жизнь любому опытному пользователю Excel. Гляньте на следующий пример:
Необходимо определить регион поставки по артикулу товара, набранному в ячейку C16.
Задача решается при помощи двух функций:
=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)
Функция ПОИСКПОЗ ищет в столбце D1:D13 значение артикула из ячейки C16. Последний аргумент функции 0 — означает поиск точного (а не приблизительного) соответствия. Функция выдает порядковый номер найденного значения в диапазоне, т.е. фактически номер строки, где найден требуемыый артикул.
Функция ИНДЕКС выбирает из диапазона A1:G13 значение, находящееся на пересечении заданной строки (номер строки с артикулом выдает функция ПОИСКПОЗ) и столбца (нам нужен регион, т.е. второй столбец).
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для поиска и подстановки значений.
- Улучшенная версия функции ВПР (VLOOKUP)
- Многоразовый ВПР
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
Смотрите также изменения результирующей таблицы: выборки — столбец работы указанных формул«Товар» листе» числовыми выражениями. его, жмем на применении в комплексе ячейку в массиве,E4Эта формула эквивалентна двумерному с пониманием, как решение – этоВПРПОИСКПОЗВот простейший пример функцииЭтот учебник рассказывает о
Как видите, зеленые ячейки с ценами. вы получаете список..Ставится задача найти товар кнопку с другими операторами эта формула должна. Просто? Да! поиску работает эта формула: использовать, т.к. эта функцияиINDEX главных преимуществах функций
с результатами транспонированыДля будущего удобства, конвертируем всех имен, которыеУрок:Отсортировываем элементы в столбце на сумму реализации«OK» сообщает им номер быть формулой массива.В учебнике поВПРВо-первых, задействуем функциюИНДЕКС гораздо проще. ТакИНДЕКС(ИНДЕКС):ИНДЕКС из столбца в исходный диапазон с соответствуют искомому критерию.Функция ИНДЕКС в Excel«Сумма выручки» 400 рублей или
- в нижней части позиции конкретного элемента
- Вы можете видетьВПР
- и позволяет найтиMATCH
- / происходит, потому что
- могут работать вместе.=INDEX(A1:C10,2,3)
- и строку и над
- ценами в «умнуюВ завершении то же
- Как видим, оператор
- по возрастанию. Для самый ближайший к
Базовая информация об ИНДЕКС и ПОИСКПОЗ
окна. для последующей обработки это по фигурныммы показывали пример значение на пересечении(ПОИСКПОЗ), которая находитПОИСКПОЗ очень немногие людиПОИСКПОЗ=ИНДЕКС(A1:C10;2;3)ПОИСКПОЗ
ними добавлена мини-таблица таблицу». Для этого самое, но сПОИСКПОЗ этого выделяем необходимый этой сумме поАктивируется окно аргументов оператора этих данных. скобкам, в которые формулы с функцией определённой строки и положение «Russia» в
ИНДЕКС – синтаксис и применение функции
. до конца понимаютопределяет относительную позициюФормула выполняет поиск вв Excel, которые (F4:H5) с условиями. выделите его и использованием формул массива
является очень удобной
столбец и, находясь
возрастанию.ПОИСКПОЗ
- Синтаксис оператора она заключена. Поэтому,ВПР столбца. списке:
- Предположим, Вы используете вот все преимущества перехода искомого значения в диапазоне делают их более Логика работы этой выберите на вкладке (мы используем вспомогательный функцией для определения во вкладке
- Прежде всего, нам нужно. Как видим, вПОИСКПОЗ когда закончите вводитьдля поиска поВ этом примере формула=MATCH(«Russia»,$B$2:$B$10,0)) такую формулу с с заданном диапазоне ячеек,
A1:C10 привлекательными по сравнению функции следующая:Главная — Форматировать как столбец, описанный ранее). порядкового номера указанного«Главная»
отсортировать элементы в данном окне повыглядит так:
формулу, не забудьте
нескольким критериям. Однако,
ИНДЕКС=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))ВПРВПР аи возвращает значение сБаза_данных таблицу (Home -Выбираем диапазон ячеек, в элемента в массиве, кликаем по значку
столбце числу количества аргументов=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) нажать существенным ограничением такого/Далее, задаём диапазон для, которая ищет вна связку
ПОИСКПОЗ – синтаксис и применение функции
ИНДЕКС ячейки воВПР- вся наша Format as Table) которых мы хотим данных. Но польза«Сортировка и фильтр»
«Сумма» имеется три поля.Теперь рассмотрим каждый изCtrl+Shift+Enter решения была необходимостьПОИСКПОЗ функции ячейках отИНДЕКСиспользует это число
2-й
. Вы увидите несколько
таблица вместе сили нажмите иметь список имен от него значительно
, а затем в
по убыванию. Выделяем
- Нам предстоит их трех этих аргументов. добавлять вспомогательный столбец.будет очень похожаINDEXB5и
- (или числа) истроке и примеров формул, которые заголовками.
- Ctrl+T (например, G15:G19) и увеличивается, если он появившемся меню кликаем данную колонку и заполнить. в отдельности.
- Если всё сделано верно, Хорошая новость: формула на формулы, которые(ИНДЕКС), из которогодоПОИСКПОЗ возвращает результат из3-м помогут Вам легкоПоле
- . Наша «поумневшая» таблица используем формулу массива: применяется в комплексных по пункту переходим во вкладкуТак как нам нужно«Искомое значение» Вы получите результатИНДЕКС мы уже обсуждали нужно извлечь значение.D10, а тратить время соответствующей ячейки.
- столбце, то есть справиться со многими- название столбца автоматически получит имя0″)))))’ class=’formula’> формулах.«Сортировка от минимального к«Главная» найти позицию слова
– это тот как на рисунке/ в этом уроке, В нашем случаезначение, указанное в на изучение болееЕщё не совсем понятно?
из ячейки сложными задачами, перед из шапки таблицы,Таблица1Формула точно вернет то,Автор: Максим Тютюшев максимальному». Щелкаем по значку«Сахар» элемент, который следует ниже:ПОИСКПОЗ с одним лишь это ячейке сложной формулы никто Представьте функцииC2 которыми функция из которого выбирается, а к столбцам что вы ожидаете.В данном примере Excel.
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
«Сортировка и фильтр»в диапазоне, то отыскать. Он можетКак Вы, вероятно, ужеможет искать по отличием. Угадайте каким?A2:A10A2 не хочет.ИНДЕКС.ВПР минимальное значение. можно будет, соответственно, Во всех «не будем искать ячейкиВыделяем ячейку в поле, который расположен на вбиваем это наименование иметь текстовую, числовую
заметили (и не значениям в двухКак Вы помните, синтаксис.:Далее я попробую изложить
иОчень просто, правда? Однако,бессильна.
Критерий обращаться по их соответствующих результатам» ячейках
с наиболее близкими«Товар» ленте в блоке в поле форму, а также
раз), если вводить столбцах, без необходимости функцииЗатем соединяем обе части
=VLOOKUP(A2,B5:D10,3,FALSE)
главные преимущества использования
ПОИСКПОЗ на практике ВыВ нескольких недавних статьях
- - таблица с именам, используя выражения формула вернет код значениями к какому-тои вызываем«Редактирование»«Искомое значение» принимать логическое значение. некорректное значение, например, создания вспомогательного столбца!INDEX и получаем формулу:=ВПР(A2;B5:D10;3;ЛОЖЬ)
- ПОИСКПОЗв таком виде: далеко не всегда мы приложили все условиями отбора, состоящая типа ошибки. При необходимости числу, выбранному пользователемМастер функций. В появившемся списке.
В качестве данного
которого нет в
Предположим, у нас есть(ИНДЕКС) позволяет использовать=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))Формула не будет работать,и=INDEX(столбец из которого извлекаем,(MATCH знаете, какие строка усилия, чтобы разъяснить (минимально) из двухТаблица1[Товар] их легко удалить (меньшими, большими, равнымиобычным способом через выбираем пункт
В поле аргумента может выступать
просматриваемом массиве, формула список заказов, и три аргумента:=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) если значение вИНДЕКС (искомое значение,столбец в и столбец Вам начинающим пользователям основы ячеек: названия столбца,или или поместить в — без разницы.
кнопку«Сортировка от максимального к«Просматриваемый массив» также ссылка наИНДЕКС мы хотим найтиINDEX(array,row_num,[column_num])Подсказка: ячейкев Excel, а котором ищем,0)) нужны, и поэтому
функции
по которому идет
Таблица1[Цена] аргументы функции ЕСЛИОШИБКА. Важно, чтобы они«Вставить функцию» минимальному»нужно указать координаты ячейку, которая содержит/ сумму по двумИНДЕКС(массив;номер_строки;[номер_столбца])Правильным решением будетA2 Вы решите –=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое требуется помощь функцииВПР проверка (. При желании, стандартноеКак использовать функцию были как можно.
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
. самого диапазона. Его любое из вышеперечисленныхПОИСКПОЗ критериям –И я поздравляю тех всегда использовать абсолютныедлиннее 255 символов. остаться с значение;столбец в которомПОИСКПОЗи показать примерыТовар имяВПР (VLOOKUP) ближе к искомомуВ открывшемся окнеПосле того, как была можно вбить вручную, значений.сообщает об ошибкеимя покупателя из Вас, кто ссылки для Вместо неё ВамВПР ищем;0)). более сложных формул
) и критерия (Таблица1для поиска и значению).Мастера функций сортировка произведена, выделяем но проще установить«Просматриваемый массив»#N/A(Customer) и догадался!ИНДЕКС нужно использовать аналогичнуюили переключиться на
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
Думаю, ещё проще будетФункция для продвинутых пользователей.Бумага, Карандаши, Ручкиможно подкорректировать на выборки нужных значенийНачнем с простой таблицы,в категории ячейку, где будет курсор в поле– это адрес(#Н/Д) илипродуктНачнём с того, чтои формулуИНДЕКС понять на примере.MATCH Теперь мы попытаемся,). вкладке из списка мы в которой имеется
«Ссылки и массивы» выводиться результат, и и выделить этот диапазона, в котором#VALUE!(Product). Дело усложняется запишем шаблон формулы.ПОИСКПОЗИНДЕКС/ Предположим, у Вас(ПОИСКПОЗ) в Excel если не отговоритьЭто обычная формула (неКонструктор (Design) недавно разбирали. Если список имен иищем наименование запускаем окно аргументов массив на листе, расположено искомое значение.
(#ЗНАЧ!). Если Вы тем, что один Для этого возьмём, чтобы диапазоны поиска/ПОИСКПОЗ есть вот такой ищет указанное значение Вас от использования формула массива), т.е., которая появляется, если вы еще с соответствующие им баллы.«ИНДЕКС»
тем же путем,
зажимая при этом
Именно позицию данного хотите заменить такое покупатель может купить уже знакомую нам не сбились приПОИСКПОЗ. список столиц государств: в диапазоне ячеекВПР можно вводить и щелкнуть в любую ней не знакомыСразу стоит отметить что
, выделяем его и о котором шла левую кнопку мыши. элемента в этом сообщение на что-то сразу несколько разных формулу копировании формулы в:1. Поиск справа налево.Давайте найдём население одной и возвращает относительную, то хотя бы использовать ее привычным ячейку нашей «умной» — загляните сюда, для некоторых имен жмем на кнопку речь в первом После этого его массиве и должен более понятное, то продуктов, и имена
ИНДЕКС другие ячейки.=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))Как известно любому из столиц, например, позицию этого значения показать альтернативные способы образом. Кроме того, таблицы. Подробнее о не пожалейте пяти число баллов повторяются.«OK» способе. адрес отобразится в определить оператор можете вставить формулу покупателей в таблице/Вы можете вкладывать другие
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0)) грамотному пользователю Excel, Японии, используя следующую в диапазоне. реализации вертикального поиска в той же таких таблицах и минут, чтобы сэкономитьХотелось бы, чтобы Excel.В поле окне аргументов.
ПОИСКПОЗ
с
на листеПОИСКПОЗ функции Excel в4. Более высокая скоростьВПР формулу:Например, если в диапазоне в Excel. категории можно найти их скрытых возможностях себе потом несколько вернул значения баллов,
Далее открывается окошко, которое
«Искомое значение»
В третьем поле.ИНДЕКСLookup tableи добавим вИНДЕКС работы.не может смотреть=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))B1:B3Зачем нам это? – функции можно почитать здесь. часов. которые являются наиболее предлагает выбор вариантавбиваем число«Тип сопоставления»«Тип сопоставления»ирасположены в произвольном неё ещё однуиЕсли Вы работаете влево, а это=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0))
содержатся значения New-York, спросите Вы. Да,БДСУММ (DSUM)Начиная с версии ExcelЕсли же вы знакомы близкими к числу, оператора«400»ставим числоуказывает точное совпадениеПОИСКПОЗ порядке. функциюПОИСКПОЗ с небольшими таблицами, значит, что искомоеТеперь давайте разберем, что Paris, London, тогда потому что,
2016 в наборе с ВПР, то введенному в исходнойИНДЕКС. В поле«0» нужно искать илив функциюВот такая формула
ИНДЕКС и ПОИСКПОЗ – примеры формул
ПОИСКПОЗ, например, чтобы найти то разница в значение должно обязательно делает каждый элемент следующая формула возвратитВПРДМАКС (DMAX) функции Microsoft Excel — вдогон - ячейке G2 рабочего
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
: для массива или«Просматриваемый массив», так как будем неточное. Этот аргументЕСЛИОШИБКАИНДЕКС, которая будет возвращать минимальное, максимальное или быстродействии Excel будет, находиться в крайнем этой формулы: цифру
– это не, наконец появились функции, стоит разобраться с листа, а также для ссылки. Намуказываем координаты столбца работать с текстовыми может иметь три./ номер столбца. ближайшее к среднему скорее всего, не левом столбце исследуемогоФункция3 единственная функция поискаБСЧЁТ (DCOUNT) которые легко решают похожими функциями: и имена, соответствующие
нужен первый вариант.«Сумма» данными, и поэтому значения:
Синтаксис функции
ПОИСКПОЗ
=INDEX(Ваша таблица,(MATCH(значение для вертикального значение. Вот несколько заметная, особенно в диапазона. В случае
- MATCH, поскольку «London» – в Excel, и, которые используются совершенно нашу задачу -
ИНДЕКС (INDEX)
тем значениям.
- Поэтому оставляем в. В поле нам нужен точный«1»ЕСЛИОШИБКАрешает задачу: поиска,столбец, в котором вариантов формул, применительно последних версиях. Если
- с(ПОИСКПОЗ) ищет значение
это третий элемент
её многочисленные ограничения
аналогично, но умеют это функциииПо одному запросу нужно этом окне все«Тип сопоставления» результат.,очень прост:{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)* искать,0)),(MATCH(значение для горизонтального
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
к таблице из же Вы работаетеПОИСКПОЗ «Japan» в столбце в списке. могут помешать Вам находить не толькоМИНЕСЛИ (MINIFS)ПОИСКПОЗ (MATCH) получить ближайшее значение настройки по умолчаниюустанавливаем значение
После того, как все«0»IFERROR(value,value_if_error)(B2=’Lookup table’!$B$2:$B$13),0),3)} поиска,строка в которой предыдущего примера: с большими таблицами,/B
=MATCH("London",B1:B3,0)
получить желаемый результат
минимум, но и
и, владение которыми весьма числа баллов и и жмем на«-1» данные установлены, жмемиЕСЛИОШИБКА(значение;значение_если_ошибка){=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*
искать,0))
1.
которые содержат тысячи
ИНДЕКС, а конкретно –=ПОИСКПОЗ(«London»;B1:B3;0) во многих ситуациях. сумму, максимум иМАКСЕСЛИ (MAXIFS) облегчит жизнь любому соответствующее ему имя. кнопку, так как мы на кнопку
«-1»
Где аргумент
(B2=’Lookup table’!$B$2:$B$13);0);3)}
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикальногоMAX строк и сотни, столбец поиска может в ячейкахФункция С другой стороны, количество значений по. Синтаксис этих функции опытному пользователю Excel.«OK» производим поиск равного«OK». При значенииvalueЭта формула сложнее других, поиска,столбец, в котором(МАКС). Формула находит формул поиска, Excel быть, как вB2:B10MATCH функции условию.
- очень похож на Гляньте на следующийОдним из простых способов. или большего значения.«0»(значение) – это
- которые мы обсуждали искать,0)),(MATCH(значение для горизонтального максимум в столбце будет работать значительно левой, так и, и возвращает число(ПОИСКПОЗ) имеет вотИНДЕКС
Если в исходной таблицеСУММЕСЛИМН (SUMIFS) пример: решения проблемы являетсяОткрывается окно аргументов функции от искомого. ПослеПрограмма выполняет вычисление иоператор ищет только значение, проверяемое на ранее, но вооруженные поиска,строка в которойD быстрее, при использовании в правой части3 такой синтаксис:и очень много строк,
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
:Необходимо определить регион поставки использование вспомогательного столбца.ИНДЕКС выполнения всех настроек выводит порядковый номер точное совпадение. Если
предмет наличия ошибки знанием функций искать,0))и возвращает значениеПОИСКПОЗ диапазона поиска. Пример:, поскольку «Japan» вMATCH(lookup_value,lookup_array,[match_type])ПОИСКПОЗ но данные меняются
=МИНЕСЛИ(Диапазон_чисел; Диапазон_проверки1; Условие1; Диапазон_проверки2; по артикулу товара, В ячейках этого. В поле жмем на кнопку
позиции
указано значение
(в нашем случаеИНДЕКСОбратите внимание, что для
из столбцаи Как находить значения, списке на третьемПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])– более гибкие не часто, то Условие2 … ) набранному в ячейку столбца будут находиться«Массив»«OK»«Сахар»«1»
– результат формулыи двумерного поиска нужноCИНДЕКС
которые находятся слева месте.lookup_value и имеют ряд удобнее будет использовать
где C16. абсолютные значения разностиуказываем адрес того.в выделенном массиве, то в случаеИНДЕКС
ПОИСКПОЗ указать всю таблицутой же строки:вместо покажет эту возможностьФункция(искомое_значение) – это особенностей, которые делают
сводную таблицу, т.к.Диапазон_чиселЗадача решается при помощи исходного числа и диапазона, где операторРезультат обработки выводится в в той ячейке,
отсутствия точного совпадения/Вы одолеете ее. в аргументе=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))ВПР в действии.INDEX
- число или текст, их более привлекательными, формула массива и- диапазон с двух функций: баллов из списка.ИНДЕКС предварительно указанную ячейку. которую мы задалиПОИСКПОЗПОИСКПОЗ Самая сложная часть
array
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))
. В целом, такая2. Безопасное добавление или(ИНДЕКС) использует который Вы ищите. по сравнению с функция ДМИН могут числами, из которых
- =ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)Разумеется, решение нашей проблемыбудет искать название Это позиция ещё на первомвыдает самый близкий); а аргумент – это функция(массив) функцииРезультат: Beijing
замена увеличивает скорость
удаление столбцов.
3 Аргумент может бытьВПР сильно тормозить Excel.
выбирается минимальное илиФункция будет найдено в продукции. В нашем
«3»
шаге данной инструкции.
к нему элементvalue_if_errorПОИСКПОЗINDEX2. работы Excel на
Формулы с функцией
для аргумента
значением, в том.Установите активную ячейку в максимальноеПОИСКПОЗ строке, в которой случае – это. Ей соответствует Номер позиции будет по убыванию. Если(значение_если_ошибка) – это
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
, думаю, её нужно(ИНДЕКС).MIN13%ВПРrow_num числе логическим, илиБазовая информация об ИНДЕКС любое место нашейДиапазон_проверкиищет в столбце это значение является столбец«Картофель» равен указано значение значение, которое нужно объяснить первой.
А теперь давайте испытаем(МИН). Формула находит.перестают работать или(номер_строки), который указывает ссылкой на ячейку. и ПОИСКПОЗ умной таблицы и- диапазон, которыйD1:D13 наименьшим.«Наименование товара». Действительно, сумма выручки«4»«-1» возвратить, если формулаMATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13) этот шаблон на
минимум в столбцеВлияние возвращают ошибочные значения, из какой строкиlookup_array
Используем функции ИНДЕКС и
выберите на вкладке
проверяется на выполнение
значение артикула из
Чтобы выбрать соответствующее значение. от реализации этого., то в случае, выдаст ошибку.ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13) практике. Ниже ВыDВПР если удалить или нужно возвратить значение.(просматриваемый_массив) – диапазон
ПОИСКПОЗ в Excel
Вставка - Сводная таблица
условия ячейки и соответствующее емуВ поле продукта самая близкаяУрок: если не обнаруженоНапример, Вы можете вставитьВ формуле, показанной выше, видите список самыхи возвращает значение
- на производительность Excel добавить столбец в Т.е. получается простая ячеек, в которомПреимущества ИНДЕКС и ПОИСКПОЗ (Insert — PivotУсловиеC16 имя, достаточно использовать«Номер строки» к числу 400
- Мастер функций в Экселе точное совпадение, функция формулу из предыдущего искомое значение – населённых стран мира. из столбца особенно заметно, если
- таблицу поиска. Для формула: происходит поиск. перед ВПР Table)
- - критерий отбора. Последний аргумент функции следующие формулы сбудет располагаться вложенная по возрастанию иВыше мы рассмотрели самый выдает самый близкий примера в функцию это Предположим, наша задачаC рабочая книга содержит функции=INDEX($D$2:$D$10,3)match_type
ИНДЕКС и ПОИСКПОЗ –. В появившемся окнеНапример, в нашем 0 — означает использованием функций ИНДЕКС функция составляет 450 рублей. примитивный случай применения к нему элемент
ЕСЛИОШИБКА1 узнать население СШАтой же строки: сотни сложных формулВПР=ИНДЕКС($D$2:$D$10;3)(тип_сопоставления) – этот примеры формул нажмите случае: поиск точного (а и ПОИСКПОЗ. ДляПОИСКПОЗАналогичным образом можно произвести оператора по возрастанию. Важно,вот таким образом:, а массив поиска в 2015 году.
=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0)) массива, таких каклюбой вставленный илиФормула говорит примерно следующее: аргумент сообщает функцииКак находить значения, которыеОКПросто, красиво, изящно. Одна не приблизительного) соответствия. ближайшего значения:. Её придется вбить поиск и самойПОИСКПОЗ если ведется поиск
=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)), – это результатХорошо, давайте запишем формулу.=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
ВПР+СУММ удалённый столбец изменит ищи в ячейкахПОИСКПОЗ находятся слева: проблема — функции Функция выдает порядковыйДля имени соответствующему ближайшему вручную, используя синтаксис, близкой позиции к, но даже его не точного значения,»Совпадений не найдено. умножения. Хорошо, что Когда мне нужноРезультат: Lima. Дело в том, результат формулы, поскольку от, хотите ли ВыВычисления при помощи ИНДЕКСВ конструкторе сводной таблицыМИНЕСЛИ номер найденного значения
значению: о котором говорится«400»
можно автоматизировать.
а приблизительного, чтобы
Попробуйте еще раз!») же мы должны создать сложную формулу3. что проверка каждого синтаксисD2 найти точное или и ПОИСКПОЗ перетащите полеи в диапазоне, т.е.Где столбец «D» - в самом началепо убыванию. ТолькоДля удобства на листе
просматриваемый массив был=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0)); перемножить и почему? в Excel сAVERAGE
значения в массиве
ВПРдо приблизительное совпадение:
Поиск по известным строкеТовар
МАКСЕСЛИ фактически номер строки, наш вспомогательный столбец, статьи. Сразу записываем
для этого нужно добавляем ещё два упорядочен по возрастанию»Совпадений не найдено. Давайте разберем все вложенными функциями, то(СРЗНАЧ). Формула вычисляет требует отдельного вызова
требует указывать весь
D10
1 и столбцув область строк,появились только начиная где найден требуемыый а столбец «B» название функции – произвести фильтрацию данных дополнительных поля: (тип сопоставления Попробуйте еще раз!») по порядку: я сначала каждую среднее в диапазоне функции
диапазон и конкретныйи извлеки значение
или
Поиск по нескольким критериям
а
office-guru.ru
Функция ПОИСКПОЗ в программе Microsoft Excel
с 2016 версии артикул. — столбец с«ПОИСКПОЗ» по возрастанию, а«Заданное значение»«1»И теперь, если кто-нибудьБерем первое значение в вложенную записываю отдельно.D2:D10ВПР номер столбца, из из третьей строки,не указанИНДЕКС и ПОИСКПОЗ вЦену Excel. Если у
Функция именами. Сразу же
Применение оператора ПОИСКПОЗ
без кавычек. Затем в полеи) или убыванию (тип введет ошибочное значение, столбцеИтак, начнём с двух, затем находит ближайшее. Поэтому, чем больше которого нужно извлечь то есть из– находит максимальное сочетании с ЕСЛИОШИБКАв область значений. вас (или тех,ИНДЕКС добавлю (для ясности), открываем скобку. Первым«Тип сопоставления»«Номер» сопоставления
формула выдаст вотA функций
к нему и
значений содержит массив данные. ячейки
значение, меньшее илиТак как задача этого Чтобы заставить сводную кто будет потомвыбирает из диапазона что столбец «C» аргументом данного операторааргументов функции установить. В поле«-1» такой результат:(Customer) на листеПОИСКПОЗ
возвращает значение из и чем большеНапример, если у ВасD4 равное искомому. Просматриваемый учебника – показать вычислять не сумму работать с вашимA1:G13 является столбцом со
является значение«Заданное значение»).Если Вы предпочитаете вMain table, которые будут возвращать столбца формул массива содержит есть таблица, так как счёт массив должен быть возможности функций (или количество), а файлом) более старыезначение, находящееся на значениями баллов.«Искомое значение»«1»вбиваем то наименование,Аргумент случае ошибки оставитьи сравниваем его номера строки иC Ваша таблица, темA1:C10 начинается со второй упорядочен по возрастанию,ИНДЕКС минимум щелкните правой версии, то придется пересечении заданной строкиРешение «хардкор» с использованием. Оно располагается на. которое нужно найти.«Тип сопоставления» ячейку пустой, то со всеми именами столбца для функциитой же строки:
медленнее работает Excel., и требуется извлечь строки. то есть оти кнопкой мыши по шаманить другими способами. (номер строки с формул массива (для листе в полеУрок: Пусть теперь этоне является обязательным. можете использовать кавычки покупателей в таблицеИНДЕКС=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))
С другой стороны, формула данные из столбцаВот такой результат получится меньшего к большему.ПОИСКПОЗ любому числу иВ английской версии это артикулом выдает функция любителей и тех,
«Приблизительная сумма выручки»Сортировка и фильтрация данных будет Он может быть («»), как значение на листе:=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1)) с функциями
Способ 1: отображение места элемента в диапазоне текстовых данных
B в Excel:0для реализации вертикального выберите в контекстном будет, соответственно =MIN(IF(Table1[Товар]=F4;Table1[Цена]))ПОИСКПОЗ кто просто хочет. Указываем координаты ячейки, в Excel«Мясо» пропущенным, если в второго аргумента функции
- Lookup tableПОИСКПОЗ для столбцаРезультат: MoscowПОИСКПОЗ, то нужно задатьВажно! Количество строк и
- – находит первое поиска в Excel, меню командуНе забудьте после ввода) и столбца (нам потренироваться в создании содержащей числоЭффективнее всего эту функцию. В поле нем нет надобности.ЕСЛИОШИБКА(A2:A13).– мы ищемИспользуя функциюи
- значение столбцов в массиве, значение, равное искомому. мы не будемИтоги по — Минимум этой формулы в нужен регион, т.е. формул массива).
350 использовать с другими«Номер» В этом случае. Вот так:Если совпадение найдено, уравнение в столбцеСРЗНАЧ
ИНДЕКС2 который использует функция Для комбинации задерживаться на их: первую зеленую ячейку второй столбец).Поиск ближайшего значения в. Ставим точку с операторами в составеустанавливаем курсор и его значение поIFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)
возвращаетBв комбинации спросто совершает поискдля аргументаINDEXИНДЕКС синтаксисе и применении.Вытаскивать данные из сводной
G4 нажать неДмитрий массиве (CTRL+SHIFT+ENTER): запятой. Вторым аргументом комплексной формулы. Наиболее
- переходим к окну умолчанию равноЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)1, а точнее вИНДЕКС и возвращает результат,col_index_num(ИНДЕКС), должно соответствовать/Приведём здесь необходимый минимум в дальнейшие расчеты Enter, а Ctrl+Shift+Enter,
: Доброе утро, уважаемыеПоиск соответствующего ему имени
Способ 2: автоматизация применения оператора ПОИСКПОЗ
является часто её применяют аргументов оператора тем«1»Надеюсь, что хотя бы(ИСТИНА), а если
- диапазонеи выполняя аналогичную работу(номер_столбца) функции значениям аргументовПОИСКПОЗ для понимания сути, теперь можно с чтобы ввести ее форумчане! в массиве (CTRL+SHIFT+ENTER):«Просматриваемый массив» в связке с же способом, о. Применять аргумент одна формула, описанная нет –B2:B11ПОИСКПОЗ заметно быстрее.ВПР
- row_numвсегда нужно точное а затем разберём помощью функции как формулу массива.Возник вопрос сДва способа, которые показаны. функцией котором шел разговор«Тип сопоставления» в этом учебнике,0, значение, которое указано, в качестве третьегоТеперь, когда Вы понимаете, вот так:(номер_строки) и совпадение, поэтому третий подробно примеры формул,ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (GET.PIVOT.DATA)
- Затем формулу можно поиском значения в выше, возвращают толькоПОИСКПОЗИНДЕКС выше., прежде всего, имеет показалась Вам полезной.(ЛОЖЬ). в ячейке аргумента функции
- причины, из-за которых=VLOOKUP(«lookup value»,A1:C10,2)column_num аргумент функции которые показывают преимущества, которую мы подробно скопировать на остальные столбце с данными одно значение. Поэтому,будет просматривать тот. Данный аргумент выводитВ окне аргументов функции смысл только тогда, Если Вы сталкивалисьДалее, мы делаем то
Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
H2ПОИСКПОЗ стоит изучать функции=ВПР(«lookup value»;A1:C10;2)(номер_столбца) функции
ПОИСКПОЗ использования разбирали ранее: товары в ячейки удовлетворяющим требованием +200( когда нескольким именам
- диапазон, в котором в указанную ячейку в поле когда обрабатываются числовые с другими задачами же самое для(USA). Функция будетчаще всего нужноПОИСКПОЗЕсли позднее Вы вставитеMATCHдолжен быть равенИНДЕКСoleg60 G5:G6. или больше) или соответствуют равные значения находится сумма выручки
- содержимое диапазона заданное«Искомое значение» значения, а не поиска, для которых значений столбца выглядеть так: будет указыватьи новый столбец между
(ПОИСКПОЗ). Иначе результат0и: Здравствуйте.Давайте разберем логику работы -200 (или меньше). баллов, формула возвращает и искать наиболее по номеру егоуказываем адрес ячейки, текстовые. не смогли найтиB=MATCH($H$2,$B$1:$B$11,0)1ИНДЕКС столбцами формулы будет ошибочным..ПОИСКПОЗ
- В массиве A2:A6 этой формулы поподробнее. Более подробно в только первое имя приближенную к 350 строки или столбца. в которой вписаноВ случае, если подходящее решение среди(Product).=ПОИСКПОЗ($H$2;$B$1:$B$11;0)или
, давайте перейдём кAСтоп, стоп… почему мы-1вместо набрана информация в Функция ЕСЛИ проверяет файле из списка. рублям. Поэтому в Причем нумерация, как словоПОИСКПОЗ информации в этом
Затем перемножаем полученные результатыРезультатом этой формулы будет-1
Способ 4: использование в сочетании с другими операторами
самому интересному ии не можем просто– находит наименьшееВПР виде 26/тп-16, 27/тп-16 каждую ячейку массиваAlexMИтак, каким же образом данном случае указываем и в отношении«Мясо»при заданных настройках уроке, смело опишите (1 и 0).4в случае, если увидим, как можноB использовать функцию значение, большее или.
и т.д. Необходимо
из столбца: В ячейке С3 можно заставить Excel координаты столбца оператора. В полях не может найти свою проблему в
Только если совпадения, поскольку «USA» – Вы не уверены, применить теоретические знания, то значение аргументаVLOOKUP равное искомому значению.Функция найти наибольшее значениеТовар формула массива, ввод
вернуть список всех«Сумма выручки»ПОИСКПОЗ«Просматриваемый массив» нужный элемент, то комментариях, и мы найдены в обоих это 4-ый элемент что просматриваемый диапазон на практике. придется изменить с(ВПР)? Есть ли Просматриваемый массив долженINDEX для первых двухна предмет равенства которой завершают нажатием имен с интересующими. Опять ставим точку
- , выполняется не относительнои оператор показывает в все вместе постараемся столбцах (т.е. оба списка в столбце содержит значение, равноеЛюбой учебник по2 смысл тратить время, быть упорядочен по(ИНДЕКС) в Excel символов текста («26, текущему товару ( Ctrl+Shift+Enter
- нас значениями баллов с запятой. Третьим всего листа, а«Тип сопоставления» ячейке ошибку решить её. критерия истинны), ВыB
- среднему. Если жеВПРна пытаясь разобраться в убыванию, то есть возвращает значение из 27,…»). Во вложенномБумага200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(A2:A11;МИН(ПОИСКПОЗ(1;—(A2:A11>=A2+200);0);ПОИСКПОЗ(1;—(A2:A11 при наличии дубликатов
- аргументом является только внутри диапазона.указываем те же«#Н/Д»Урок подготовлен для Вас получите(включая заголовок). Вы уверены, чтотвердит, что эта3 лабиринтах от большего к массива по заданным примере эта операция
- ). Если это так,Pelena ближайших значений?«Тип сопоставления» Синтаксис этой функции самые данные, что. командой сайта office-guru.ru1ПОИСКПОЗ для строки такое значение есть, функция не может, иначе формула возвратит
ПОИСКПОЗ меньшему. номерам строки и выполняется поэтапно: сначала то выдается соответствующее: Как вариант, тожеЕсть два решения с. Так как мы следующий: и в предыдущемПри проведении поиска операторИсточник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/. Если оба критерия– мы ищем – ставьте смотреть влево. Т.е. результат из толькоиНа первый взгляд, польза столбца. Функция имеет выделяются первые два ему значение из формула массива использованием вспомогательного столбца. будем искать число=ИНДЕКС(массив;номер_строки;номер_столбца) способе – адрес не различает регистрыПеревел: Антон Андронов ложны, или выполняется значение ячейки0 если просматриваемый столбец что вставленного столбца.ИНДЕКС от функции вот такой синтаксис: символа, затем переводятся столбца200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($A$2:$A$11;МИН(ЕСЛИ(ABS($A$2:$A$11-$A$2)>200;СТРОКА($A$1:$A$10)))) Первое без, а равное заданному илиПри этом, если массив диапазона и число символов. Если вАвтор: Антон Андронов только один изH3для поиска точного не является крайним
Используя? ПОИСКПОЗINDEX(array,row_num,[column_num]) в числовой формат,ЦенаДмитрий второе с использованием
- самое близкое меньшее, одномерный, то можно«0» массиве присутствует несколькоОдним из наиболее востребованных них – Вы(2015) в строке совпадения. левым в диапазонеПОИСКПОЗ=VLOOKUP(«Japan»,$B$2:$D$2,3)вызывает сомнение. КомуИНДЕКС(массив;номер_строки;[номер_столбца]) и уж потом. В противном случае
- : Спасибо всем большое! формул массива. то устанавливаем тут использовать только одинсоответственно. После этого точных совпадений, то операторов среди пользователей получите1
Если указываете поиска, то нет
/=ВПР(«Japan»;$B$2:$D$2;3) нужно знать положениеКаждый аргумент имеет очень находится наибольшее. – логическое значение всё работает отлично!Сначала подготовим для себя цифру из двух аргументов: жмем на кнопку
ПОИСКПОЗ
lumpics.ru
Поиск ближайшего значения в массиве и всех дубликатов в Excel
Excel является функция0, то есть в1 шансов получить отИНДЕКСВ данном случае – элемента в диапазоне? простое объяснение:Вопрос такой: как ЛОЖЬ (FALSE).
Как найти ближайшее большее значение по формуле в Excel
В Microsoft Excel давно вспомогательный столбец. Первая«1»«Номер строки»
«OK»выводит в ячейкуПОИСКПОЗ
. ячейках, значения в столбцеВПР, Вы можете удалять смысла нет! Цель Мы хотим знатьarray можно выполнить это
Таким образом внешняя функция есть в стандартном ячейка будет содержать. Закрываем скобки.
или
Поиск ближайшего значения без массива в Excel
. позицию самого первого. В её задачиТеперь понимаете, почему мыA1:E1 поиска должны бытьжелаемый результат. или добавлять столбцы
этого примера – значение этого элемента!(массив) – это действие не вМИН (MIN)
наборе функции формулу:Третий аргумент функции«Номер столбца»После того, как мы из них. входит определение номера
задали:
упорядочены по возрастанию,Функции к исследуемому диапазону, исключительно демонстрационная, чтобыПозвольте напомнить, что относительное диапазон ячеек, из три формулы, авыбирает минимальное неСЧЁТЕСЛИ (COUNTIF)
Поиск ближайшего значения в массиве Excel
которую затем перетягиваем (копируем)ИНДЕКС. произвели вышеуказанные действия,Давайте рассмотрим на примере позиции элемента в
1=MATCH($H$3,$A$1:$E$1,0)
а формула вернётПОИСКПОЗ
Повторяющиеся ближайшие значения в Excel
не искажая результат, Вы могли понять, положение искомого значения которого необходимо извлечь в одну? из всех значений, в другие ячейки
«Номер столбца»Особенность связки функций в поле самый простой случай, заданном массиве данных., как искомое значение?=ПОИСКПОЗ($H$3;$A$1:$E$1;0)
максимальное значение, меньшееи так как определен как функции (т.е. номер строки
значение.Спасибо. цен, а толькоСУММЕСЛИ (SUMIF)
вспомогательного столбца.оставляем пустым. ПослеИНДЕКС
«Номер» когда с помощью Наибольшую пользу она Правильно, чтобы функцияРезультатом этой формулы будет или равное среднему.
Без использования формул массива
ИНДЕКС непосредственно столбец, содержащийПОИСКПОЗ
и/или столбца) –row_numKarataev из тех, гдеи
Формула должна возвращать номер этого жмем наиотобразится позиция слова
ПОИСКПОЗ
приносит, когда применяетсяПОИСКПОЗ5Если указываетев Excel гораздо нужное значение. Действительно,и это как раз(номер_строки) – это: Формула массива (вводится товар был
Поиск дублирующийся ближайших значений в массиве Excel
СРЗНАЧЕСЛИ (AVERAGEIF) строки, в которой кнопкуПОИСКПОЗ«Мясо»
можно определить место в комплексе свозвращала позицию только,, поскольку «2015» находится-1
более гибкие, и
это большое преимущество,ИНДЕКС то, что мы номер строки в Ctrl+Shift+Enter):Бумагаи их аналоги, находится значение, наиболее«OK»
exceltable.com
Поиск нужных данных в диапазоне
заключается в том,в выбранном диапазоне. указанного элемента в другими операторами. Давайте когда оба критерия в 5-ом столбце., значения в столбце им все-равно, где особенно когда работатьработают в паре. должны указать для массиве, из которой200?’200px’:»+(this.scrollHeight+5)+’px’);»>=НАИБОЛЬШИЙ(ЕСЛИ(ЕЧИСЛО(—ЛЕВСИМВ(A2:A6;2));—ЛЕВСИМВ(A2:A6;2);»»);1)
, т.к. ЛОЖЬ функцией позволяющие искать количество, близкое к искомому.. что последняя может В данном случае массиве текстовых данных. разберемся, что же выполняются.Теперь вставляем эти формулы поиска должны быть находится столбец со приходится с большими
Последующие примеры покажут аргументов нужно извлечь значение.Светлый
МИН сумму и среднее
В противном случае
Как видим, функция использоваться в качестве она равна Узнаем, какую позицию собой представляет функцияОбратите внимание: в функцию упорядочены по убыванию, значением, которое нужно объёмами данных. Вы Вам истинную мощьrow_num Если не указан,: Если всегда двухзначныеигнорируется. При желании, в таблице по возвращает пробел.
ИНДЕКС аргумента первой, то«3» в диапазоне, вПОИСКПОЗВ этом случаеИНДЕКС а возвращено будет извлечь. Для примера, можете добавлять и связки(номер_строки) и/или
planetaexcel.ru
поиск значения в массиве (поиск)
то обязательно требуется числа, пойдёт такая можно выделить мышью
одному или несколькимВспомогательный столбец уже готов,при помощи оператора есть, указывать на. котором находятся наименования, и как её необходимо использовать третий
и вуаля: минимальное значение, большее снова вернёмся к удалять столбцы, неИНДЕКС
column_num
аргумент формула массива: всю функцию ЕСЛИ(…)
условиям. Но что
мы можем вернутьсяПОИСКПОЗ позицию строки или
excelworld.ru
Поиск минимального или максимального значения по условию
Данный способ хорош тем, товаров, занимает слово можно использовать на не обязательный аргумент=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0)) или равное среднему. таблице со столицами беспокоясь о том,и(номер_столбца) функцииcolumn_num200?’200px’:»+(this.scrollHeight+5)+’px’);»>=МАКС(—ЛЕВБ(A2:A6;2)) в строке формул если нужно найти к нашему поиску.в заранее указанную столбца. что если мы«Сахар»
практике. функции=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))В нашем примере значения государств и населением.
что нужно будетПОИСКПОЗINDEX(номер_столбца).иначе:… и нажать на не сумму илиВ первой ячейке диапазона, ячейку выводит наименованиеДавайте взглянем, как это
захотим узнать позицию.Скачать последнюю версиюИНДЕКСЕсли заменить функции в столбце На этот раз исправлять каждую используемую, которая легко справляется(ИНДЕКС). Как Выcolumn_numКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=МАКС(—ЛЕВБ(A2:A6;ПОИСК(«/»;A2:A6)-1)) клавиатуре среднее, а минимум в котором вы«Чай» можно сделать на любого другого наименования,Выделяем ячейку, в которую Excel. Он необходим, т.к.ПОИСКПОЗD запишем формулу функцию с многими сложными помните, функция(номер_столбца) – этоAlexMF9 или максимум по хотите иметь список. Действительно, сумма от практике, используя всю то не нужно
Способ 1. Функции МИНЕСЛИ и МАКСЕСЛИ в Excel 2016
будет выводиться обрабатываемыйОператор в первом аргументена значения, которыеупорядочены по возрастанию,ПОИСКПОЗВПР ситуациями, когдаИНДЕКС номер столбца в:, чтобы наглядно увидеть условию(ям)? всех имен, введите
реализации чая (300 ту же таблицу.
будет каждый раз
- результат. Щелкаем поПОИСКПОЗ мы задаем всю они возвращают, формула поэтому мы используем
- /.ВПРможет возвратить значение,
- массиве, из которого200?’200px’:»+(this.scrollHeight+5)+’px’);»>=-МИН(-ЛЕВБ(A2:A6;2))
тот самый результирующийПредположим, нам нужно найти
следующую формулу: рублей) ближе всего У нас стоит заново набирать или значкупринадлежит к категории таблицу и должны станет легкой и тип сопоставленияИНДЕКС3. Нет ограничения наоказывается в тупике. находящееся на пересечении нужно извлечь значение.
Способ 2. Формула массива
Формула массива массив, из которого
минимальную цену дляа в ячейку ниже, по убыванию к задача вывести в изменять формулу. Достаточно«Вставить функцию» функций указать функции, из понятной:1, которая покажет, какое
размер искомого значения.Решая, какую формулу использовать заданных строки и Если не указан,Если первые два потом функция каждого товара в которая будет возвращать сумме 350 рублей дополнительное поле листа просто в полеоколо строки формул.«Ссылки и массивы» какого столбца нужно=INDEX($A$1:$E$11,4,5)). Формула место по населению
Используя для вертикального поиска, столбца, но она то обязательно требуется символа не числоКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=-МИН(ЕСЛИ(ЕЧИСЛО(-ЛЕВБ(A2:A6;2));-ЛЕВБ(A2:A6;2)))МИН базе данных по следующее имя, введите из всех имеющихся«Товар»«Заданное значение»Производится запуск. Он производит поиск извлечь значение. В
=ИНДЕКС($A$1:$E$11;4;5))ИНДЕКС занимает столица РоссииВПР большинство гуру Excel не может определить, аргументjakimи выбирает минимальное поставщикам:
Способ 3. Функция баз данных ДМИН
формулу: в обрабатываемой таблиценаименование товара, общаявписать новое искомоеМастера функций заданного элемента в нашем случае этоЭта формула возвращает значение/
(Москва)., помните об ограничении считают, что какие именно строкаrow_num: Можно воспользоваться и значение:Таким образом, условием будет
- =»&» «))))’ class=’formula’> значений. сумма выручки от слово вместо предыдущего.
- . Открываем категорию указанном массиве и столбец на пересеченииПОИСКПО
- Как видно на рисунке на длину искомогоИНДЕКС и столбец нас(номер_строки) такой формулой безЭтот вариант использует малоизвестную наименование товара (которую затем скопируйте ещеЕсли мы изменим число которого равна 350
Обработка и выдача«Полный алфавитный перечень» выдает в отдельнуюC4-ойЗ ниже, формула отлично значения в 255/ интересуют.Если указаны оба аргумента, массивного ввода. (и многими, кбумага ниже. В результате в поле рублям или самому результата после этогоили ячейку номер его
Способ 4. Сводная таблица
(Sum), и поэтомустроки ивозвращает «Moscow», поскольку справляется с этой символов, иначе рискуетеПОИСКПОЗТеперь, когда Вам известна то функция200?’200px’:»+(this.scrollHeight+5)+’px’);»>=AGGREGATE(14;6;—LEFT(A2:A6;2);1)
сожалению, недооцененную) функцию, все выглядит более«Приблизительная сумма выручки» близкому к этому произойдет автоматически.«Ссылки и массивы» позиции в этом мы ввели5-го величина населения города
задачей: получить ошибкунамного лучше, чем базовая информация обИНДЕКСили такойДМИН (DMIN)карандаши или менее так,на другое, то значению по убыванию.Теперь давайте рассмотрим, как. В списке операторов диапазоне. Собственно на3столбца в диапазоне Москва – ближайшее
=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))#VALUE!ВПР этих двух функциях,возвращает значение изКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=MAX(INDEX(—LEFT(A2:A6;2);0))из категории
planetaexcel.ru
Поиск наибольшего значения в массиве (Формулы/Formulas)
, как показано на
соответственно автоматически будет Данный аргумент указан можно использовать ищем наименование это указывает даже.A1:E11 меньшее к среднему=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))(#ЗНАЧ!). Итак, если. Однако, многие пользователи полагаю, что уже ячейки, находящейся наoleg60Работа с базой данных
ручки рисунке ниже. Как пересчитано и содержимое в полеПОИСКПОЗ
«ПОИСКПОЗ»
его название. ТакжеИ, наконец, т.к. нам, то есть значение
значению (12 269
Теперь у Вас не таблица содержит длинные Excel по-прежнему прибегают становится понятно, как
пересечении указанных строки
: Всем большое спасибо
(Database)
), а диапазоном для видите, в результате поля
«Приблизительная сумма выручки на
для работы с. Найдя и выделив
эта функция при нужно проверить каждую ячейки 006).
должно возникать проблем
строки, единственное действующее
к использованию
функции и столбца. за квалифицированную помощь!
excelworld.ru
и требует небольшого
Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в Excel, которые делают их более привлекательными по сравнению с ВПР. Вы увидите несколько примеров формул, которые помогут Вам легко справиться со многими сложными задачами, перед которыми функция ВПР бессильна.
В нескольких недавних статьях мы приложили все усилия, чтобы разъяснить начинающим пользователям основы функции ВПР и показать примеры более сложных формул для продвинутых пользователей. Теперь мы попытаемся, если не отговорить Вас от использования ВПР, то хотя бы показать альтернативные способы реализации вертикального поиска в Excel.
Зачем нам это? – спросите Вы. Да, потому что ВПР – это не единственная функция поиска в Excel, и её многочисленные ограничения могут помешать Вам получить желаемый результат во многих ситуациях. С другой стороны, функции ИНДЕКС и ПОИСКПОЗ – более гибкие и имеют ряд особенностей, которые делают их более привлекательными, по сравнению с ВПР.
- Базовая информация об ИНДЕКС и ПОИСКПОЗ
- Используем функции ИНДЕКС и ПОИСКПОЗ в Excel
- Преимущества ИНДЕКС и ПОИСКПОЗ перед ВПР
- ИНДЕКС и ПОИСКПОЗ – примеры формул
- Как находить значения, которые находятся слева
- Вычисления при помощи ИНДЕКС и ПОИСКПОЗ
- Поиск по известным строке и столбцу
- Поиск по нескольким критериям
- ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА
Содержание
- Базовая информация об ИНДЕКС и ПОИСКПОЗ
- ИНДЕКС – синтаксис и применение функции
- ПОИСКПОЗ – синтаксис и применение функции
- Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
- Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
- 4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
- ИНДЕКС и ПОИСКПОЗ – примеры формул
- Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
- Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
- О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
- Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
- Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
- ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
Базовая информация об ИНДЕКС и ПОИСКПОЗ
Так как задача этого учебника – показать возможности функций ИНДЕКС и ПОИСКПОЗ для реализации вертикального поиска в Excel, мы не будем задерживаться на их синтаксисе и применении.
Приведём здесь необходимый минимум для понимания сути, а затем разберём подробно примеры формул, которые показывают преимущества использования ИНДЕКС и ПОИСКПОЗ вместо ВПР.
ИНДЕКС – синтаксис и применение функции
Функция INDEX (ИНДЕКС) в Excel возвращает значение из массива по заданным номерам строки и столбца. Функция имеет вот такой синтаксис:
INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])
Каждый аргумент имеет очень простое объяснение:
- array (массив) – это диапазон ячеек, из которого необходимо извлечь значение.
- row_num (номер_строки) – это номер строки в массиве, из которой нужно извлечь значение. Если не указан, то обязательно требуется аргумент column_num (номер_столбца).
- column_num (номер_столбца) – это номер столбца в массиве, из которого нужно извлечь значение. Если не указан, то обязательно требуется аргумент row_num (номер_строки)
Если указаны оба аргумента, то функция ИНДЕКС возвращает значение из ячейки, находящейся на пересечении указанных строки и столбца.
Вот простейший пример функции INDEX (ИНДЕКС):
=INDEX(A1:C10,2,3)
=ИНДЕКС(A1:C10;2;3)
Формула выполняет поиск в диапазоне A1:C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, то есть из ячейки C2.
Очень просто, правда? Однако, на практике Вы далеко не всегда знаете, какие строка и столбец Вам нужны, и поэтому требуется помощь функции ПОИСКПОЗ.
ПОИСКПОЗ – синтаксис и применение функции
Функция MATCH (ПОИСКПОЗ) в Excel ищет указанное значение в диапазоне ячеек и возвращает относительную позицию этого значения в диапазоне.
Например, если в диапазоне B1:B3 содержатся значения New-York, Paris, London, тогда следующая формула возвратит цифру 3, поскольку «London» – это третий элемент в списке.
=MATCH("London",B1:B3,0)
=ПОИСКПОЗ("London";B1:B3;0)
Функция MATCH (ПОИСКПОЗ) имеет вот такой синтаксис:
MATCH(lookup_value,lookup_array,[match_type])
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
- lookup_value (искомое_значение) – это число или текст, который Вы ищите. Аргумент может быть значением, в том числе логическим, или ссылкой на ячейку.
- lookup_array (просматриваемый_массив) – диапазон ячеек, в котором происходит поиск.
- match_type (тип_сопоставления) – этот аргумент сообщает функции ПОИСКПОЗ, хотите ли Вы найти точное или приблизительное совпадение:
- 1 или не указан – находит максимальное значение, меньшее или равное искомому. Просматриваемый массив должен быть упорядочен по возрастанию, то есть от меньшего к большему.
- 0 – находит первое значение, равное искомому. Для комбинации ИНДЕКС/ПОИСКПОЗ всегда нужно точное совпадение, поэтому третий аргумент функции ПОИСКПОЗ должен быть равен 0.
- -1 – находит наименьшее значение, большее или равное искомому значению. Просматриваемый массив должен быть упорядочен по убыванию, то есть от большего к меньшему.
На первый взгляд, польза от функции ПОИСКПОЗ вызывает сомнение. Кому нужно знать положение элемента в диапазоне? Мы хотим знать значение этого элемента!
Позвольте напомнить, что относительное положение искомого значения (т.е. номер строки и/или столбца) – это как раз то, что мы должны указать для аргументов row_num (номер_строки) и/или column_num (номер_столбца) функции INDEX (ИНДЕКС). Как Вы помните, функция ИНДЕКС может возвратить значение, находящееся на пересечении заданных строки и столбца, но она не может определить, какие именно строка и столбец нас интересуют.
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
Теперь, когда Вам известна базовая информация об этих двух функциях, полагаю, что уже становится понятно, как функции ПОИСКПОЗ и ИНДЕКС могут работать вместе. ПОИСКПОЗ определяет относительную позицию искомого значения в заданном диапазоне ячеек, а ИНДЕКС использует это число (или числа) и возвращает результат из соответствующей ячейки.
Ещё не совсем понятно? Представьте функции ИНДЕКС и ПОИСКПОЗ в таком виде:
=INDEX(столбец из которого извлекаем,(MATCH (искомое значение,столбец в котором ищем,0))
=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое значение;столбец в котором ищем;0))
Думаю, ещё проще будет понять на примере. Предположим, у Вас есть вот такой список столиц государств:
Давайте найдём население одной из столиц, например, Японии, используя следующую формулу:
=INDEX($D$2:$D$10,MATCH("Japan",$B$2:$B$10,0))
=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ("Japan";$B$2:$B$10;0))
Теперь давайте разберем, что делает каждый элемент этой формулы:
- Функция MATCH (ПОИСКПОЗ) ищет значение «Japan» в столбце B, а конкретно – в ячейках B2:B10, и возвращает число 3, поскольку «Japan» в списке на третьем месте.
- Функция INDEX (ИНДЕКС) использует 3 для аргумента row_num (номер_строки), который указывает из какой строки нужно возвратить значение. Т.е. получается простая формула:
=INDEX($D$2:$D$10,3)
=ИНДЕКС($D$2:$D$10;3)
Формула говорит примерно следующее: ищи в ячейках от D2 до D10 и извлеки значение из третьей строки, то есть из ячейки D4, так как счёт начинается со второй строки.
Вот такой результат получится в Excel:
Важно! Количество строк и столбцов в массиве, который использует функция INDEX (ИНДЕКС), должно соответствовать значениям аргументов row_num (номер_строки) и column_num (номер_столбца) функции MATCH (ПОИСКПОЗ). Иначе результат формулы будет ошибочным.
Стоп, стоп… почему мы не можем просто использовать функцию VLOOKUP (ВПР)? Есть ли смысл тратить время, пытаясь разобраться в лабиринтах ПОИСКПОЗ и ИНДЕКС?
=VLOOKUP("Japan",$B$2:$D$2,3)
=ВПР("Japan";$B$2:$D$2;3)
В данном случае – смысла нет! Цель этого примера – исключительно демонстрационная, чтобы Вы могли понять, как функции ПОИСКПОЗ и ИНДЕКС работают в паре. Последующие примеры покажут Вам истинную мощь связки ИНДЕКС и ПОИСКПОЗ, которая легко справляется с многими сложными ситуациями, когда ВПР оказывается в тупике.
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
Решая, какую формулу использовать для вертикального поиска, большинство гуру Excel считают, что ИНДЕКС/ПОИСКПОЗ намного лучше, чем ВПР. Однако, многие пользователи Excel по-прежнему прибегают к использованию ВПР, т.к. эта функция гораздо проще. Так происходит, потому что очень немногие люди до конца понимают все преимущества перехода с ВПР на связку ИНДЕКС и ПОИСКПОЗ, а тратить время на изучение более сложной формулы никто не хочет.
Далее я попробую изложить главные преимущества использования ПОИСКПОЗ и ИНДЕКС в Excel, а Вы решите – остаться с ВПР или переключиться на ИНДЕКС/ПОИСКПОЗ.
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
1. Поиск справа налево. Как известно любому грамотному пользователю Excel, ВПР не может смотреть влево, а это значит, что искомое значение должно обязательно находиться в крайнем левом столбце исследуемого диапазона. В случае с ПОИСКПОЗ/ИНДЕКС, столбец поиска может быть, как в левой, так и в правой части диапазона поиска. Пример: Как находить значения, которые находятся слева покажет эту возможность в действии.
2. Безопасное добавление или удаление столбцов. Формулы с функцией ВПР перестают работать или возвращают ошибочные значения, если удалить или добавить столбец в таблицу поиска. Для функции ВПР любой вставленный или удалённый столбец изменит результат формулы, поскольку синтаксис ВПР требует указывать весь диапазон и конкретный номер столбца, из которого нужно извлечь данные.
Например, если у Вас есть таблица A1:C10, и требуется извлечь данные из столбца B, то нужно задать значение 2 для аргумента col_index_num (номер_столбца) функции ВПР, вот так:
=VLOOKUP("lookup value",A1:C10,2)
=ВПР("lookup value";A1:C10;2)
Если позднее Вы вставите новый столбец между столбцами A и B, то значение аргумента придется изменить с 2 на 3, иначе формула возвратит результат из только что вставленного столбца.
Используя ПОИСКПОЗ/ИНДЕКС, Вы можете удалять или добавлять столбцы к исследуемому диапазону, не искажая результат, так как определен непосредственно столбец, содержащий нужное значение. Действительно, это большое преимущество, особенно когда работать приходится с большими объёмами данных. Вы можете добавлять и удалять столбцы, не беспокоясь о том, что нужно будет исправлять каждую используемую функцию ВПР.
3. Нет ограничения на размер искомого значения. Используя ВПР, помните об ограничении на длину искомого значения в 255 символов, иначе рискуете получить ошибку #VALUE! (#ЗНАЧ!). Итак, если таблица содержит длинные строки, единственное действующее решение – это использовать ИНДЕКС/ПОИСКПОЗ.
Предположим, Вы используете вот такую формулу с ВПР, которая ищет в ячейках от B5 до D10 значение, указанное в ячейке A2:
=VLOOKUP(A2,B5:D10,3,FALSE)
=ВПР(A2;B5:D10;3;ЛОЖЬ)
Формула не будет работать, если значение в ячейке A2 длиннее 255 символов. Вместо неё Вам нужно использовать аналогичную формулу ИНДЕКС/ПОИСКПОЗ:
=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))
4. Более высокая скорость работы. Если Вы работаете с небольшими таблицами, то разница в быстродействии Excel будет, скорее всего, не заметная, особенно в последних версиях. Если же Вы работаете с большими таблицами, которые содержат тысячи строк и сотни формул поиска, Excel будет работать значительно быстрее, при использовании ПОИСКПОЗ и ИНДЕКС вместо ВПР. В целом, такая замена увеличивает скорость работы Excel на 13%.
Влияние ВПР на производительность Excel особенно заметно, если рабочая книга содержит сотни сложных формул массива, таких как ВПР+СУММ. Дело в том, что проверка каждого значения в массиве требует отдельного вызова функции ВПР. Поэтому, чем больше значений содержит массив и чем больше формул массива содержит Ваша таблица, тем медленнее работает Excel.
С другой стороны, формула с функциями ПОИСКПОЗ и ИНДЕКС просто совершает поиск и возвращает результат, выполняя аналогичную работу заметно быстрее.
ИНДЕКС и ПОИСКПОЗ – примеры формул
Теперь, когда Вы понимаете причины, из-за которых стоит изучать функции ПОИСКПОЗ и ИНДЕКС, давайте перейдём к самому интересному и увидим, как можно применить теоретические знания на практике.
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
Любой учебник по ВПР твердит, что эта функция не может смотреть влево. Т.е. если просматриваемый столбец не является крайним левым в диапазоне поиска, то нет шансов получить от ВПР желаемый результат.
Функции ПОИСКПОЗ и ИНДЕКС в Excel гораздо более гибкие, и им все-равно, где находится столбец со значением, которое нужно извлечь. Для примера, снова вернёмся к таблице со столицами государств и населением. На этот раз запишем формулу ПОИСКПОЗ/ИНДЕКС, которая покажет, какое место по населению занимает столица России (Москва).
Как видно на рисунке ниже, формула отлично справляется с этой задачей:
=INDEX($A$2:$A$10,MATCH("Russia",$B$2:$B$10,0))
=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0))
Теперь у Вас не должно возникать проблем с пониманием, как работает эта формула:
- Во-первых, задействуем функцию MATCH (ПОИСКПОЗ), которая находит положение «Russia» в списке:
=MATCH("Russia",$B$2:$B$10,0))
=ПОИСКПОЗ("Russia";$B$2:$B$10;0))
- Далее, задаём диапазон для функции INDEX (ИНДЕКС), из которого нужно извлечь значение. В нашем случае это A2:A10.
- Затем соединяем обе части и получаем формулу:
=INDEX($A$2:$A$10;MATCH("Russia";$B$2:$B$10;0))
=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0))
Подсказка: Правильным решением будет всегда использовать абсолютные ссылки для ИНДЕКС и ПОИСКПОЗ, чтобы диапазоны поиска не сбились при копировании формулы в другие ячейки.
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
Вы можете вкладывать другие функции Excel в ИНДЕКС и ПОИСКПОЗ, например, чтобы найти минимальное, максимальное или ближайшее к среднему значение. Вот несколько вариантов формул, применительно к таблице из предыдущего примера:
1. MAX (МАКС). Формула находит максимум в столбце D и возвращает значение из столбца C той же строки:
=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))
Результат: Beijing
2. MIN (МИН). Формула находит минимум в столбце D и возвращает значение из столбца C той же строки:
=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))
Результат: Lima
3. AVERAGE (СРЗНАЧ). Формула вычисляет среднее в диапазоне D2:D10, затем находит ближайшее к нему и возвращает значение из столбца C той же строки:
=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))
Результат: Moscow
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
Используя функцию СРЗНАЧ в комбинации с ИНДЕКС и ПОИСКПОЗ, в качестве третьего аргумента функции ПОИСКПОЗ чаще всего нужно будет указывать 1 или -1 в случае, если Вы не уверены, что просматриваемый диапазон содержит значение, равное среднему. Если же Вы уверены, что такое значение есть, – ставьте 0 для поиска точного совпадения.
- Если указываете 1, значения в столбце поиска должны быть упорядочены по возрастанию, а формула вернёт максимальное значение, меньшее или равное среднему.
- Если указываете -1, значения в столбце поиска должны быть упорядочены по убыванию, а возвращено будет минимальное значение, большее или равное среднему.
В нашем примере значения в столбце D упорядочены по возрастанию, поэтому мы используем тип сопоставления 1. Формула ИНДЕКС/ПОИСКПОЗ возвращает «Moscow», поскольку величина населения города Москва – ближайшее меньшее к среднему значению (12 269 006).
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
Эта формула эквивалентна двумерному поиску ВПР и позволяет найти значение на пересечении определённой строки и столбца.
В этом примере формула ИНДЕКС/ПОИСКПОЗ будет очень похожа на формулы, которые мы уже обсуждали в этом уроке, с одним лишь отличием. Угадайте каким?
Как Вы помните, синтаксис функции INDEX (ИНДЕКС) позволяет использовать три аргумента:
INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])
И я поздравляю тех из Вас, кто догадался!
Начнём с того, что запишем шаблон формулы. Для этого возьмём уже знакомую нам формулу ИНДЕКС/ПОИСКПОЗ и добавим в неё ещё одну функцию ПОИСКПОЗ, которая будет возвращать номер столбца.
=INDEX(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
Обратите внимание, что для двумерного поиска нужно указать всю таблицу в аргументе array (массив) функции INDEX (ИНДЕКС).
А теперь давайте испытаем этот шаблон на практике. Ниже Вы видите список самых населённых стран мира. Предположим, наша задача узнать население США в 2015 году.
Хорошо, давайте запишем формулу. Когда мне нужно создать сложную формулу в Excel с вложенными функциями, то я сначала каждую вложенную записываю отдельно.
Итак, начнём с двух функций ПОИСКПОЗ, которые будут возвращать номера строки и столбца для функции ИНДЕКС:
- ПОИСКПОЗ для столбца – мы ищем в столбце B, а точнее в диапазоне B2:B11, значение, которое указано в ячейке H2 (USA). Функция будет выглядеть так:
=MATCH($H$2,$B$1:$B$11,0)
=ПОИСКПОЗ($H$2;$B$1:$B$11;0)
Результатом этой формулы будет 4, поскольку «USA» – это 4-ый элемент списка в столбце B (включая заголовок).
- ПОИСКПОЗ для строки – мы ищем значение ячейки H3 (2015) в строке 1, то есть в ячейках A1:E1:
=MATCH($H$3,$A$1:$E$1,0)
=ПОИСКПОЗ($H$3;$A$1:$E$1;0)
Результатом этой формулы будет 5, поскольку «2015» находится в 5-ом столбце.
Теперь вставляем эти формулы в функцию ИНДЕКС и вуаля:
=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))
=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))
Если заменить функции ПОИСКПОЗ на значения, которые они возвращают, формула станет легкой и понятной:
=INDEX($A$1:$E$11,4,5))
=ИНДЕКС($A$1:$E$11;4;5))
Эта формула возвращает значение на пересечении 4-ой строки и 5-го столбца в диапазоне A1:E11, то есть значение ячейки E4. Просто? Да!
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
В учебнике по ВПР мы показывали пример формулы с функцией ВПР для поиска по нескольким критериям. Однако, существенным ограничением такого решения была необходимость добавлять вспомогательный столбец. Хорошая новость: формула ИНДЕКС/ПОИСКПОЗ может искать по значениям в двух столбцах, без необходимости создания вспомогательного столбца!
Предположим, у нас есть список заказов, и мы хотим найти сумму по двум критериям – имя покупателя (Customer) и продукт (Product). Дело усложняется тем, что один покупатель может купить сразу несколько разных продуктов, и имена покупателей в таблице на листе Lookup table расположены в произвольном порядке.
Вот такая формула ИНДЕКС/ПОИСКПОЗ решает задачу:
{=INDEX('Lookup table'!$A$2:$C$13,MATCH(1,(A2='Lookup table'!$A$2:$A$13)*
(B2='Lookup table'!$B$2:$B$13),0),3)}
{=ИНДЕКС('Lookup table'!$A$2:$C$13;ПОИСКПОЗ(1;(A2='Lookup table'!$A$2:$A$13)*
(B2='Lookup table'!$B$2:$B$13);0);3)}
Эта формула сложнее других, которые мы обсуждали ранее, но вооруженные знанием функций ИНДЕКС и ПОИСКПОЗ Вы одолеете ее. Самая сложная часть – это функция ПОИСКПОЗ, думаю, её нужно объяснить первой.
MATCH(1,(A2='Lookup table'!$A$2:$A$13),0)*(B2='Lookup table'!$B$2:$B$13)
ПОИСКПОЗ(1;(A2='Lookup table'!$A$2:$A$13);0)*(B2='Lookup table'!$B$2:$B$13)
В формуле, показанной выше, искомое значение – это 1, а массив поиска – это результат умножения. Хорошо, что же мы должны перемножить и почему? Давайте разберем все по порядку:
- Берем первое значение в столбце A (Customer) на листе Main table и сравниваем его со всеми именами покупателей в таблице на листе Lookup table (A2:A13).
- Если совпадение найдено, уравнение возвращает 1 (ИСТИНА), а если нет – 0 (ЛОЖЬ).
- Далее, мы делаем то же самое для значений столбца B (Product).
- Затем перемножаем полученные результаты (1 и 0). Только если совпадения найдены в обоих столбцах (т.е. оба критерия истинны), Вы получите 1. Если оба критерия ложны, или выполняется только один из них – Вы получите 0.
Теперь понимаете, почему мы задали 1, как искомое значение? Правильно, чтобы функция ПОИСКПОЗ возвращала позицию только, когда оба критерия выполняются.
Обратите внимание: В этом случае необходимо использовать третий не обязательный аргумент функции ИНДЕКС. Он необходим, т.к. в первом аргументе мы задаем всю таблицу и должны указать функции, из какого столбца нужно извлечь значение. В нашем случае это столбец C (Sum), и поэтому мы ввели 3.
И, наконец, т.к. нам нужно проверить каждую ячейку в массиве, эта формула должна быть формулой массива. Вы можете видеть это по фигурным скобкам, в которые она заключена. Поэтому, когда закончите вводить формулу, не забудьте нажать Ctrl+Shift+Enter.
Если всё сделано верно, Вы получите результат как на рисунке ниже:
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
Как Вы, вероятно, уже заметили (и не раз), если вводить некорректное значение, например, которого нет в просматриваемом массиве, формула ИНДЕКС/ПОИСКПОЗ сообщает об ошибке #N/A (#Н/Д) или #VALUE! (#ЗНАЧ!). Если Вы хотите заменить такое сообщение на что-то более понятное, то можете вставить формулу с ИНДЕКС и ПОИСКПОЗ в функцию ЕСЛИОШИБКА.
Синтаксис функции ЕСЛИОШИБКА очень прост:
IFERROR(value,value_if_error)
ЕСЛИОШИБКА(значение;значение_если_ошибка)
Где аргумент value (значение) – это значение, проверяемое на предмет наличия ошибки (в нашем случае – результат формулы ИНДЕКС/ПОИСКПОЗ); а аргумент value_if_error (значение_если_ошибка) – это значение, которое нужно возвратить, если формула выдаст ошибку.
Например, Вы можете вставить формулу из предыдущего примера в функцию ЕСЛИОШИБКА вот таким образом:
=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),
"Совпадений не найдено. Попробуйте еще раз!")=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));
"Совпадений не найдено. Попробуйте еще раз!")
И теперь, если кто-нибудь введет ошибочное значение, формула выдаст вот такой результат:
Если Вы предпочитаете в случае ошибки оставить ячейку пустой, то можете использовать кавычки («»), как значение второго аргумента функции ЕСЛИОШИБКА. Вот так:
IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),"")
ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);"")
Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.
Оцените качество статьи. Нам важно ваше мнение: