Содержание
- Исправление ошибки #Н/Д в функциях ИНДЕКС и ПОИСКПОЗ
- Проблема: Нет соответствий
- Вы использовали формулу массива, но не нажали клавиши CTRL+SHIFT+ВВОД
- Проблема: Несоответствие типа сопоставления и порядка сортировки данных
- Дополнительные сведения
- ИНДЕКС (функция ИНДЕКС)
- Форма массива
- Описание
- Синтаксис
- Замечания
- Примеры
- Пример 1
- Пример 2
- Справочная форма
- Описание
- Синтаксис
- Замечания
- Примеры
- 5 вариантов использования функции ИНДЕКС (INDEX)
- Вариант 1. Извлечение данных из столбца по номеру ячейки
- Вариант 2. Извлечение данных из двумерного диапазона
- Вариант 3. Несколько таблиц
- Вариант 4. Ссылка на столбец / строку
- Вариант 5. Ссылка на ячейку
Исправление ошибки #Н/Д в функциях ИНДЕКС и ПОИСКПОЗ
В этой статье описаны наиболее распространенные причины появления ошибки «#N/Д» в результате функций ИНДЕКСили MATCH.
Примечание: Если вы хотите, чтобы функция ИНДЕКС или НАЙТИВВЕРХ возвращала осмысленное значение, а не #N/Д, используйте функцию ЕСЛИERROR, а затем вложенные в нее функции ИНДЕКС и MATCH. Замена #N/A собственным значением только определяет ошибку, но не устраняет ее. Поэтому очень важно перед использованием ifERRORубедиться, что формула работает правильно.
Проблема: Нет соответствий
Если функция ПОИСКПОИСКОМ не находит искомого значения в массиве искомого массива, возвращается #N/Д.
Если вы считаете, что данные есть в электронных таблицах, но поиск поиску по поиску не удается найти, это может быть по причине:
Ячейка содержит непредвиденные символы или скрытые пробелы.
К ячейке применен неправильный формат данных. Например, ячейка содержит числовое значение, но отформатирована как текстовая.
РЕШЕНИЕ.Чтобы удалить непредвиденные символы или скрытые пробелы, используйте функции CLEAN и TRIM соответственно. Кроме того, убедитесь, что ячейки отформатированы как правильные типы данных.
Вы использовали формулу массива, но не нажали клавиши CTRL+SHIFT+ВВОД
При использовании массива в функции ИНДЕКС,НАЙТИВ ИЛИ сочетании этих двух функций необходимо нажать клавиши CTRL+SHIFT+ВВОД. Excel автоматически заключит формулу в фигурные скобки <>. Если вы попытаетесь ввести квадратные скобки самостоятельно, Excel отобразит формулу как текст.
Примечание: Если у вас есть текущая версия Microsoft 365 ,можно просто ввести формулу в выходную ячейку, а затем нажать ввод, чтобы подтвердить формулу как формулу динамического массива. В противном случае формула должна быть введена как формула массива устаревшей: сначала выберем диапазон вывода, введите формулу в ячейку вывода, а затем нажимая CTRL+SHIFT+ВВОД, чтобы подтвердить ее. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Проблема: Несоответствие типа сопоставления и порядка сортировки данных
При использовании функцииMATCH значение аргумента match_type должно совпадать с порядком сортировки значений в массиве подытого. Если синтаксис отклоняется от приведенных ниже правил, возникает ошибка #Н/Д.
Если match_type 1 или не указан, значения в lookup_array должны быть в порядке возрастания. Примеры: -2, -1, 0, 1, 2…; А, Б, В…; ЛОЖЬ, ИСТИНА и т. д.
Если match_type -1, значения в lookup_array должны быть упорядочены по убытию.
В следующем примере функция MATCH имеет следующий
Аргумент match_type в синтаксис имеет значение -1, то есть для формулы должен быть порядок значений в B2:B10 в порядке убытания. Но значения порядок в порядке возрастания, что приводит к #N/A.
Решение: Измените match_type на 1 или отсортирование таблицы в формате «нисходящее». Затем попробуйте еще раз.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Источник
ИНДЕКС (функция ИНДЕКС)
Функция ИНДЕКС возвращает значение или ссылку на значение из таблицы или диапазона.
Функцию ИНДЕКС можно использовать двумя способами:
Если вы хотите возвращать значение указанной ячейки или массива ячеек, см. раздел Форма массива.
Если требуется возвращать ссылку на указанные ячейки, см. раздел Ссылочная форма.
Форма массива
Описание
Возвращает значение элемента в таблице или массиве, выбранное по индексам номеров строк и столбцов.
Если первый аргумент функции ИНДЕКС является константной массива, используйте форму массива.
Синтаксис
ИНДЕКС(массив; номер_строки; [номер_столбца])
Форма массива функции INDEX имеет следующие аргументы:
массив. Обязательный аргумент. Диапазон ячеек или константа массива.
Если массив содержит только одну строку или столбец, соответствующий аргумент номер_строки или номер_столбца является необязательным.
Если массив содержит более одной строки и более одного столбца и используется только номер_строки или номер_столбца, ИНДЕКС возвращает массив всей строки или столбца в массиве.
Номер_строки Обязательный, если column_num отсутствует. Выбирает строку в массиве, из которой требуется возвратить значение. Если номер_строки опущен, требуется номер_столбца.
Номер_столбца — необязательный аргумент. Выбирает столбец в массиве, из которого требуется возвратить значение. Если номер_столбца опущен, требуется номер_строки.
Замечания
Если используются аргументы номер_строки и номер_столбца, функция ИНДЕКС возвращает значение в ячейке на пересечении номеров_строки и номера_столбца.
row_num и column_num должны указывать на ячейку в массиве; в противном случае ИНДЕКС возвращает #ССЫЛКА! ошибку «#ЗНАЧ!».
Если задать для row_num или column_num значение 0 (ноль), ИНДЕКС возвращает массив значений для всего столбца или строки соответственно. Чтобы использовать значения, возвращаемые в виде массива, введите функцию ИНДЕКС как формулу массива.
Примечание: Если у вас есть текущая версия Microsoft 365, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона, а затем нажать клавишу ВВОД, чтобы подтвердить формулу как формулу динамического массива. В противном случае формулу необходимо ввести как устаревшую формулу массива, сначала выбрав выходной диапазон, введите формулу в верхнюю левую ячейку выходного диапазона, а затем нажмите CTRL+SHIFT+ENTER для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Примеры
Пример 1
В этих примерах функция ИНДЕКС используется для поиска значения ячейки, находящейся на пересечении заданных строки и столбца.
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — ВВОД.
Значение ячейки на пересечении второй строки и второго столбца в диапазоне A2:B3.
Значение ячейки на пересечении второй строки и первого столбца в диапазоне A2:B3.
Пример 2
В этом примере функция ИНДЕКС используется в формуле массива для поиска значений двух заданных ячеек в массиве с диапазоном 2 x 2.
Примечание: Если у вас есть текущая версия Microsoft 365, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона, а затем нажать клавишу ВВОД, чтобы подтвердить формулу как формулу динамического массива. В противном случае формулу необходимо ввести как устаревшую формулу массива, сначала выбрав две пустые ячейки, введите формулу в верхнюю левую ячейку выходного диапазона, а затем нажмите CTRL+SHIFT+ENTER для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Значение ячейки на пересечении первой строки и второго столбца в массиве. Массив содержит значения 1 и 2 в первой строке и значения 3 и 4 во второй строке.
Значение ячейки на пересечении второй строки и второго столбца в массиве, указанном выше.
Справочная форма
Описание
Возвращает ссылку на ячейку, расположенную на пересечении указанной строки и указанного столбца. Если ссылка состоит из несмежных выборок, вы можете выбрать выборку для поиска.
Синтаксис
ИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области])
Справочная форма функции ИНДЕКС имеет следующие аргументы:
ссылка — обязательный аргумент. Ссылка на один или несколько диапазонов ячеек.
Если вы вводите несмежный диапазон для ссылки, заключите ссылку в круглые скобки.
Если каждая область в ссылке содержит только одну строку или столбец, аргумент номер_строки или номер_столбца соответственно является необязательным. Например, для ссылки на единственную строку нужно использовать формулу ИНДЕКС(ссылка,,номер_столбца).
Номер_строки Обязательный аргумент. Номер строки в диапазоне, заданном аргументом «ссылка», из которого требуется возвратить ссылку.
Номер_столбца — необязательный аргумент. Номер столбца в диапазоне, заданном аргументом «ссылка», из которого требуется возвратить ссылку.
area_num Необязательный. Выбирает диапазон в ссылке, из которого возвращается пересечение row_num и column_num. Первая выбранная или введенная область имеет номер 1, вторая — 2 и так далее. Если номер_области опущен, ИНДЕКС использует область 1. Перечисленные здесь области должны располагаться на одном листе. Если вы укажете области, которые не находятся на одном листе друг с другом, это вызовет ошибку #ЗНАЧ! ошибку «#ВЫЧИС!». Если вам нужно использовать диапазоны, расположенные на разных листах друг от друга, рекомендуется использовать форму массива функции ИНДЕКС, а для вычисления диапазона, из которого состоит массив, использовать другую функцию. Например, вы можете использовать функцию ВЫБОР, чтобы вычислить, какой диапазон будет использоваться.
Например, если ссылка описывает ячейки (A1:B4,D1:E4,G1:H4), номер_области 1 – это диапазон A1:B4, номер_области 2 – это диапазон D1:E4, а номер_области 3 – диапазон G1:H4.
Замечания
После того, как ссылка и area_num выбрали конкретный диапазон, row_num и column_num выбирают конкретную ячейку: row_num 1 — это первая строка в диапазоне, column_num 1 — это первый столбец и так далее. Ссылка, возвращаемая INDEX, представляет собой пересечение row_num и column_num.
Если вы установите номер_строки или номер_столбца равным 0 (ноль), ИНДЕКС возвращает ссылку для всего столбца или строки соответственно.
row_num, column_num и area_num должны указывать на ячейку в пределах ссылки; в противном случае ИНДЕКС возвращает #ССЫЛКА! ошибку «#ЗНАЧ!». Если номер_строки и номер_столбца опущены, ИНДЕКС возвращает область в ссылке, указанную номером_области.
Результатом вычисления функции ИНДЕКС является ссылка, которая интерпретируется в качестве таковой другими функциями. В зависимости от формулы значение, возвращаемое функцией ИНДЕКС, может использоваться как ссылка или как значение. Например, формула ЯЧЕЙКА(«ширина»;ИНДЕКС(A1:B2;1;2)) эквивалентна формуле ЯЧЕЙКА(«ширина»;B1). Функция ЯЧЕЙКА использует значение, возвращаемое функцией ИНДЕКС, как ссылку. С другой стороны, такая формула, как 2*ИНДЕКС(A1:B2;1;2), преобразует значение, возвращаемое функцией ИНДЕКС, в число в ячейке B1.
Примеры
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter.
Источник
5 вариантов использования функции ИНДЕКС (INDEX)
Бывает у вас такое: смотришь на человека и думаешь «что за @#$%)(*?» А потом при близком знакомстве оказывается, что он знает пять языков, прыгает с парашютом, имеет семеро детей и черный пояс в шахматах, да и, вообще, добрейшей души человек и умница?
Так и в Microsoft Excel: есть несколько похожих функций, про которых фраза «внешность обманчива» работает на 100%. Одна из наиболее многогранных и полезных — функция ИНДЕКС (INDEX) . Далеко не все пользователи Excel про нее знают, и еще меньше используют все её возможности. Давайте разберем варианты ее применения, ибо их аж целых пять.
Вариант 1. Извлечение данных из столбца по номеру ячейки
Самый простой случай использования функции ИНДЕКС – это ситуация, когда нам нужно извлечь данные из одномерного диапазона-столбца, если мы знаем порядковый номер ячейки. Синтаксис в этом случае будет:
=ИНДЕКС( Диапазон_столбец ; Порядковый_номер_ячейки )

Этот вариант известен большинству продвинутых пользователей Excel. В таком виде функция ИНДЕКС часто используется в связке с функцией ПОИСКПОЗ (MATCH) , которая выдает номер искомого значения в диапазоне. Таким образом, эта пара заменяет легендарную ВПР (VLOOKUP) :
. но, в отличие от ВПР, могут извлекать значения левее поискового столбца и номер столбца-результата высчитывать не нужно.
Вариант 2. Извлечение данных из двумерного диапазона
Если диапазон двумерный, т.е. состоит из нескольких строк и столбцов, то наша функция будет использоваться немного в другом формате:
=ИНДЕКС( Диапазон ; Номер_строки ; Номер_столбца )

Т.е. функция извлекает значение из ячейки диапазона с пересечения строки и столбца с заданными номерами.
Легко сообразить, что с помощью такой вариации ИНДЕКС и двух функций ПОИСКПОЗ можно легко реализовать двумерный поиск:

Вариант 3. Несколько таблиц
Если таблица не одна, а их несколько, то функция ИНДЕКС может извлечь данные из нужной строки и столбца именно заданной таблицы. В этом случае используется следующий синтаксис:
=ИНДЕКС( (Диапазон1;Диапазон2;Диапазон3) ; Номер_строки ; Номер_столбца ; Номер_диапазона )
Обратите особое внимание, что в этом случае первый аргумент – список диапазонов — заключается в скобки, а сами диапазоны перечисляются через точку с запятой.
Вариант 4. Ссылка на столбец / строку
Если во втором варианте использования функции ИНДЕКС номер строки или столбца задать равным нулю (или просто не указать), то функция будет выдавать уже не значение, а ссылку на диапазон-столбец или диапазон-строку соответственно:

Обратите внимание, что поскольку ИНДЕКС выдает в этом варианте не конкретное значение ячейки, а ссылку на диапазон, то для подсчета потребуется заключить ее в дополнительную функцию, например СУММ (SUM) , СРЗНАЧ (AVERAGE) и т.п.
Вариант 5. Ссылка на ячейку
Общеизвестно, что стандартная ссылка на любой диапазон ячеек в Excel выглядит как Начало-Двоеточие-Конец, например A2:B5. Хитрость в том, что если взять функцию ИНДЕКС в первом или втором варианте и подставить ее после двоеточия, то наша функция будет выдавать уже не значение, а адрес, и на выходе мы получим полноценную ссылку на диапазон от начальной ячейки до той, которую нашла ИНДЕКС:
Нечто похожее можно реализовать функцией СМЕЩ (OFFSET) , но она, в отличие от ИНДЕКС, является волатильной, т.е. пересчитывается каждый раз при изменении любой ячейки листа. ИНДЕКС же работает более тонко и запускает пересчет только при изменении своих аргументов, что ощутимо ускоряет расчет в тяжелых книгах по сравнению со СМЕЩ.
Один из весьма распространенных на практике сценариев применения ИНДЕКС в таком варианте — это сочетание с функцией СЧЁТЗ (COUNTA) , чтобы получить автоматически растягивающиеся диапазоны для выпадающих списков, сводных таблиц и т.д.
Источник
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. Я надеюсь, что наши примеры формул окажутся полезными для вас.
Вот еще несколько статей по этой теме:
|
Akari Пользователь Сообщений: 14 |
Есть таблица в которой из одной вкладки в другую импортируются строки по ИНДЕКС ПОИСКПОЗ первого столбца, по типу
При использовании ИНДЕКС ПОИСКПОЗ все замечательно работает, но пустые ячейки он почему-то возвращает со значением 0, как сделать, чтобы пустая ячейка была пустой ячейкой при использовании этой функции?
|
||||||||||||||||||||||||||||||||||||||||
|
vikttur Пользователь Сообщений: 47199 |
И где «есть таблица»? =ЕСЛИ(формула=0;»»;формула) |
|
Akari Пользователь Сообщений: 14 |
|
|
vikttur Пользователь Сообщений: 47199 |
Закладка Файл-Параметры-Дополнительно-Показать_параметры_для_листа..., снять галку |
|
Akari Пользователь Сообщений: 14 |
#5 09.05.2017 11:08:40
Спасибо |
||
|
АlехМ Пользователь Сообщений: 1100 |
#6 09.05.2017 11:47:26 Еще вариант только формула
Снимать галку «отображать нулевые значения» не нужно Прикрепленные файлы
Изменено: АlехМ — 09.05.2017 12:12:06 Алексей М. |
||
|
АlехМ, в вашем варианте в ячейке будет текст, что не всегда удобно. |
|
|
АlехМ Пользователь Сообщений: 1100 |
#8 09.05.2017 11:58:59
В примере текст, поэтому перевод в текст данным не помешает. Алексей М. |
||
Функция ИНДЕКС возвращает значение или ссылку на значение из таблицы или диапазона.
Функцию ИНДЕКС можно использовать двумя способами:
-
Если вы хотите возвращать значение указанной ячейки или массива ячеек, см. раздел Форма массива.
-
Если требуется возвращать ссылку на указанные ячейки, см. раздел Ссылочная форма.
Форма массива
Описание
Возвращает значение элемента в таблице или массиве, выбранное по индексам номеров строк и столбцов.
Если первый аргумент функции ИНДЕКС является константной массива, используйте форму массива.
Синтаксис
ИНДЕКС(массив; номер_строки; [номер_столбца])
Форма массива функции INDEX имеет следующие аргументы:
-
массив. Обязательный аргумент. Диапазон ячеек или константа массива.
-
Если массив содержит только одну строку или столбец, соответствующий аргумент номер_строки или номер_столбца является необязательным.
-
Если массив содержит более одной строки и более одного столбца и используется только номер_строки или номер_столбца, ИНДЕКС возвращает массив всей строки или столбца в массиве.
-
-
Номер_строки Обязательный, если column_num отсутствует. Выбирает строку в массиве, из которой требуется возвратить значение. Если номер_строки опущен, требуется номер_столбца.
-
Номер_столбца — необязательный аргумент. Выбирает столбец в массиве, из которого требуется возвратить значение. Если номер_столбца опущен, требуется номер_строки.
Замечания
-
Если используются аргументы номер_строки и номер_столбца, функция ИНДЕКС возвращает значение в ячейке на пересечении номеров_строки и номера_столбца.
-
row_num и column_num должны указывать на ячейку в массиве; в противном случае ИНДЕКС возвращает #ССЫЛКА! ошибку «#ЗНАЧ!».
-
Если задать для row_num или column_num значение 0 (ноль), ИНДЕКС возвращает массив значений для всего столбца или строки соответственно. Чтобы использовать значения, возвращаемые в виде массива, введите функцию ИНДЕКС как формулу массива.
Примечание: Если у вас есть текущая версия Microsoft 365, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона, а затем нажать клавишу ВВОД, чтобы подтвердить формулу как формулу динамического массива. В противном случае формулу необходимо ввести как устаревшую формулу массива, сначала выбрав выходной диапазон, введите формулу в верхнюю левую ячейку выходного диапазона, а затем нажмите CTRL+SHIFT+ENTER для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
Примеры
Пример 1
В этих примерах функция ИНДЕКС используется для поиска значения ячейки, находящейся на пересечении заданных строки и столбца.
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — ВВОД.
|
Данные |
Данные |
|
|---|---|---|
|
Яблоки |
Лимоны |
|
|
Бананы |
Груши |
|
|
Формула |
Описание |
Результат |
|
=ИНДЕКС(A2:B3;2;2) |
Значение ячейки на пересечении второй строки и второго столбца в диапазоне A2:B3. |
Груши |
|
=ИНДЕКС(A2:B3;2;1) |
Значение ячейки на пересечении второй строки и первого столбца в диапазоне A2:B3. |
Бананы |
Пример 2
В этом примере функция ИНДЕКС используется в формуле массива для поиска значений двух заданных ячеек в массиве с диапазоном 2 x 2.
Примечание: Если у вас есть текущая версия Microsoft 365, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона, а затем нажать клавишу ВВОД, чтобы подтвердить формулу как формулу динамического массива. В противном случае формулу необходимо ввести как устаревшую формулу массива, сначала выбрав две пустые ячейки, введите формулу в верхнюю левую ячейку выходного диапазона, а затем нажмите CTRL+SHIFT+ENTER для подтверждения. Excel автоматически вставляет фигурные скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
|
Формула |
Описание |
Результат |
|---|---|---|
|
=ИНДЕКС({1;2:3;4};0;2) |
Значение ячейки на пересечении первой строки и второго столбца в массиве. Массив содержит значения 1 и 2 в первой строке и значения 3 и 4 во второй строке. |
2 |
|
Значение ячейки на пересечении второй строки и второго столбца в массиве, указанном выше. |
4 |
|
К началу страницы
Справочная форма
Описание
Возвращает ссылку на ячейку, расположенную на пересечении указанной строки и указанного столбца. Если ссылка состоит из несмежных выборок, вы можете выбрать выборку для поиска.
Синтаксис
ИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области])
Справочная форма функции ИНДЕКС имеет следующие аргументы:
-
ссылка — обязательный аргумент. Ссылка на один или несколько диапазонов ячеек.
-
Если вы вводите несмежный диапазон для ссылки, заключите ссылку в круглые скобки.
-
Если каждая область в ссылке содержит только одну строку или столбец, аргумент номер_строки или номер_столбца соответственно является необязательным. Например, для ссылки на единственную строку нужно использовать формулу ИНДЕКС(ссылка,,номер_столбца).
-
-
Номер_строки Обязательный аргумент. Номер строки в диапазоне, заданном аргументом «ссылка», из которого требуется возвратить ссылку.
-
Номер_столбца — необязательный аргумент. Номер столбца в диапазоне, заданном аргументом «ссылка», из которого требуется возвратить ссылку.
-
area_num Необязательный. Выбирает диапазон в ссылке, из которого возвращается пересечение row_num и column_num. Первая выбранная или введенная область имеет номер 1, вторая — 2 и так далее. Если номер_области опущен, ИНДЕКС использует область 1. Перечисленные здесь области должны располагаться на одном листе. Если вы укажете области, которые не находятся на одном листе друг с другом, это вызовет ошибку #ЗНАЧ! ошибку «#ВЫЧИС!». Если вам нужно использовать диапазоны, расположенные на разных листах друг от друга, рекомендуется использовать форму массива функции ИНДЕКС, а для вычисления диапазона, из которого состоит массив, использовать другую функцию. Например, вы можете использовать функцию ВЫБОР, чтобы вычислить, какой диапазон будет использоваться.
Например, если ссылка описывает ячейки (A1:B4,D1:E4,G1:H4), номер_области 1 – это диапазон A1:B4, номер_области 2 – это диапазон D1:E4, а номер_области 3 – диапазон G1:H4.
Замечания
-
После того, как ссылка и area_num выбрали конкретный диапазон, row_num и column_num выбирают конкретную ячейку: row_num 1 — это первая строка в диапазоне, column_num 1 — это первый столбец и так далее. Ссылка, возвращаемая INDEX, представляет собой пересечение row_num и column_num.
-
Если вы установите номер_строки или номер_столбца равным 0 (ноль), ИНДЕКС возвращает ссылку для всего столбца или строки соответственно.
-
row_num, column_num и area_num должны указывать на ячейку в пределах ссылки; в противном случае ИНДЕКС возвращает #ССЫЛКА! ошибку «#ЗНАЧ!». Если номер_строки и номер_столбца опущены, ИНДЕКС возвращает область в ссылке, указанную номером_области.
-
Результатом вычисления функции ИНДЕКС является ссылка, которая интерпретируется в качестве таковой другими функциями. В зависимости от формулы значение, возвращаемое функцией ИНДЕКС, может использоваться как ссылка или как значение. Например, формула ЯЧЕЙКА(«ширина»;ИНДЕКС(A1:B2;1;2)) эквивалентна формуле ЯЧЕЙКА(«ширина»;B1). Функция ЯЧЕЙКА использует значение, возвращаемое функцией ИНДЕКС, как ссылку. С другой стороны, такая формула, как 2*ИНДЕКС(A1:B2;1;2), преобразует значение, возвращаемое функцией ИНДЕКС, в число в ячейке B1.
Примеры
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter.
|
Фрукты |
Цена |
Количество |
|---|---|---|
|
Яблоки |
0,69 ₽ |
40 |
|
Бананы |
0,34 ₽ |
38 |
|
Лимоны |
0,55 ₽ |
15 |
|
Апельсины |
0,25 ₽ |
25 |
|
Груши |
0,59 ₽ |
40 |
|
Миндаль |
2,80 ₽ |
10 |
|
Кешью |
3,55 ₽ |
16 |
|
Арахис |
1,25 ₽ |
20 |
|
Грецкие орехи |
1,75 ₽ |
12 |
|
Формула |
Описание |
Результат |
|
=ИНДЕКС(A2:C6;2;3) |
Пересечение второй строки и третьего столбца в диапазоне A2:C6, т. е. содержимое ячейки C3. |
38 |
|
=ИНДЕКС((A1:C6;A8:C11);2;2;2) |
Пересечение второй строки и второго столбца во второй области (A8:C11), т. е. содержимое ячейки B9. |
1,25 |
|
=СУММ(ИНДЕКС(A1:C11;0;3;1)) |
Сумма третьего столбца в первой области диапазона (A1:C11) является суммой диапазона C1:C11. |
216 |
|
=СУММ(B2:ИНДЕКС(A2:C6;5;2)) |
Сумма значений из диапазона, начинающегося с ячейки B2 и заканчивающегося пересечением пятой строки и второго столбца диапазона A2:A6, т. е. сумма значений из диапазона B2:B6. |
2,42 |
К началу страницы
См. также
Функция ВПР
ПОИСКПОЗ
Функция ДВССЫЛ
Использование формул массива: рекомендации и примеры
Функции ссылки и поиска (справка)
Функция ИНДЕКС помогает извлекать значение из массива данных. Массив может различаться своей структурой, количеством столбцов и строк и даже количество самих массивов может быть больше одного.
Пример работы функции ИНДЕКС в Excel от простого к сложному
Сначала рассмотрим самый простой пример применения. У нас есть несколько городов. Пусть нашей первой задачей будет извлечь пятый по счету город из нашей одномерной базы данных. Синтаксис нашей формулы будет следующий: ИНДЕКС(массив; номер_строки). Начинаем писать формулу (яч. B9). Первый аргумент – это все города B3:C7, а второй – необходимый нам номер ряда, в котором хранится информация, которую мы хотим получить – пятый город:
Функция возвратила значение с второго ряда нашей таблицы. Теперь дополним нашу таблицу информацией о туристах, посетивших город в 2017 году:
Для дальнейшего ознакомления работы функции расширим задачу до двухмерного массива исходных данных.
Функция ИНДЕКС двумерный и многомерный массив
Теперь наш массив двухмерный. Пусть теперешним заданием будет узнать количество туристов в Ливерпуле. В ячейке B19 пишем формулу. Синтаксис тоже видоизменится: ИНДЕКС(массив; номер_строки; номер_столбца), у нас добавится третий аргумент – номер столбца, в котором хранится нужные нам данные:
Аналогично функция работает с трёхмерными массивами, четырёхмерными и так далее. Теперь давайте рассмотрим, как решать задачи, когда таблиц несколько. Пусть у нас будут города трёх стран с количеством посетителей:
На этот раз у нас три двумерные таблицы – три страны с различными городами и их посетителями. Нам необходимо найти количество туристов в городе Ницца страны Франции или, если перефразировать под наш синтаксис, количество посетителей третьего ряда второй колонки второй таблицы. Первым делом, как и раньше, нам нужно выбрать диапазон. НО теперь их у нас три, а значит, все три мы и выбираем, предварительно взяв в скобки эту часть синтаксиса. После чего добавляем уже знакомые нам координаты искомой информации – строку и столбец, а также номер таблицы, которая содержит искомый нами диапазон:
И получаем готовую формулу с решением поставленной задачи:
Пример формулы комбинации функций ИНДЕКС и СУММ
Функцию ИНДЕКC так же можно комбинировать и с другими функциями. Например, наша база данных содержит дополнительно количество туристов Великобритании за 2018-2019 года, мы хотим узнать сумму туристов:
- за 2018 год.
- по городу Манчестер за весь период.
В этом нам поможет известная любому пользователю несложная функция СУММ. Она охватит результат поиска, сделанным ИНДЕКC и выполнит операцию сложения найденных значений. Чтобы выполнить первую задачу, для начала нам нужно выбрать диапазон с одними числами(без столбца с городами, поскольку будем суммировать численные значения C43:E47). Затем на месте, где мы прописывали номер строки, пишем 0. Благодаря этому ИНДЕКC не будет «искать» данные по строкам, а просто перейдет к следующей операции. А следующая операция – прописываем столбец 2 и получаем ответ на первый пункт:
Сумма туристов за 2018 год по пяти городам Великобритании составляет 40 987 людей.
Аналогично этой схеме мы ищем ответ на второй пункт. Только теперь нам нужно считать данные с ряда, поэтому ноль ставим на месте номера столбца:
И получаем ответ на второй пункт – всего посетителей за три года в Манчестере было 2 474 человека.
Для примера зачастую используются самые простые задачи и однотипные решения через функцию. Но в работе объем данных всегда больше и сложнее, поэтому для решения таких заданий используют несколько функций или их сочетание. Несколько таких примеров будем рассматривать дальше.
Формулировку функции можно видоизменять в зависимости от постановки задачи. Пусть нам нужно определить и показать сколько туристов вместе было в 2017-м году в первых трёх городах по списку – Кембридже, Манчестере и Лондоне. Тогда мы снова используем функцию СУММ, но в месте, где указывается конец диапазона значений, по которым мы проводим поиск, вставляем нашу ИНДЕКС. Проще говоря, диапазон для суммирования выглядит так: (начало:конец). Началом будет первая ячейка массива, как обычно, а конец мы заменим. Укажем количество городов, по которым будем считать людей (действие 1). Затем, когда будем составлять функцию ИНДЕКC, укажем, что первый аргумент – числовой диапазон всех пяти городов за 2017-й год, а второй – наше кол-во городов (ячейка D64):
Точно так же можно выполнить следующее задание: найти сумму посетителей Оксфорде за 2017-2018 года. В этом случае делаем всё точно так же, только выбираем горизонтальный диапазон C61:E61 :
В конце необязательно ссылаться на ячейку с написанным количеством искомых значений, можно сразу писать цифру 3 в первом примере и цифру 2 во втором примере, всё будет работать точно так же:
и
идентичны.
Комбинирование нескольких функций могут делать то же, что и одна отдельная функция, но при этом быть менее требовательными к расположению данных, к их размерам или количеству.
Формула ИНДЕКС и ПОИСКПОЗ лучшая замена функции ВПР
Существуют весьма весомые аргументы преимущества использования формулы ИНДЕКС и ПОИСКПОЗ в Excel лучше, чем функция ВПР. Если вы уже знакомы с функцией ВПР, то наверняка знаете, что для её корректной работы искомые данные всегда должны располагаться по правую сторону от критериев:
Получается, что для работы сначала нужно упорядочить столбцы в соответствии с требованиями, а только потом совершать действия. Но иногда сама структура отчета или сводки, с которой нам нужно иметь дело, не позволяет совершать перестановки. Тогда нам очень кстати пригодится ИНДЕКС в сочетании с функцией ПОИСКПОЗ. Синтаксис ИНДЕКСА: (массив; номер_строки; номер_столбца). На первой позиции у нас будет диапазон значений (туристы, 2017), вместо следующих двух пишем ПОИСКПОЗ (искомый критерий;диапазон критериев; 0 (для точного результата)):
Рассмотрим более наглядный и реальный пример, где можно заменить ВПР. У нас есть два отчета: один — о количестве продаж определенного товара, а второй – о цене на упаковку одного товара. И как раз вторая таблица имеет такое расположение столбцов, которое не позволяет использовать нам ВПР – первыми занимают место значения, а вторыми – критерии:
Для того чтобы выполнить заполнение первой таблицы, делаем точно также, как в предыдущем примере – в ячейке D88 пишем ИНДЕКС, первым делом указываем столбец, где находятся искомые значения (цена за упаковку). Затем нужно указать, где нам искать соответствующие критерию значения — подстраиваем ПОИСКПОЗ под наше решение: выбираем искомый критерий (Хепилор), затем массив искомых критериев со второй таблицы:
Теперь просто копируем формулу до конца столбца, но не забываем закрепить ссылки, иначе массив будет спускаться дальше и мы получим некорректные значения. Наша таблица готова:
Если у нас нет данных во второй таблице о цене и препаратах, у нас будет в ячейке ошибка #Н/Д. Теперь к нашим ранее использованным функциям добавим ЕСЛИОШИБКА, которая нам поможет изменить внешний вид отчета, сделать его более понятным для читателя. Опять же, поскольку у нас вторая таблица не соответствует требованиям ВПР, на помощь приходит ИНДЕКС+ПОИСКПОЗ. Усложняем уже имеющуюся формулу, добавляя ЕСЛИОШИБКА, указывая, что при отсутствии данных, мы хотим видеть прочерк:

Таким образом формула из комбинации функций ИНДЕКС и ПОИСПОЗ работают лучше популярной функции ВПР и не имеют никаких ограничений для выборки данных из таблицы даже по нескольким условиям.
Содержание
- Использование функции ИНДЕКС
- Способ 1: использование оператора ИНДЕКС для массивов
- Способ 2: применение в комплексе с оператором ПОИСКПОЗ
- Способ 3: обработка нескольких таблиц
- Способ 4: вычисление суммы
- Вопросы и ответы
Одной из самых полезных функций программы Эксель является оператор ИНДЕКС. Он производит поиск данных в диапазоне на пересечении указанных строки и столбца, возвращая результат в заранее обозначенную ячейку. Но полностью возможности этой функции раскрываются при использовании её в сложных формулах в комбинации с другими операторами. Давайте рассмотрим различные варианты её применения.
Использование функции ИНДЕКС
Оператор ИНДЕКС относится к группе функций из категории «Ссылки и массивы». Он имеет две разновидности: для массивов и для ссылок.
Вариант для массивов имеет следующий синтаксис:
=ИНДЕКС(массив;номер_строки;номер_столбца)
При этом два последних аргумента в формуле можно использовать, как вместе, так и любой один из них, если массив одномерный. При многомерном диапазоне следует применять оба значения. Нужно также учесть, что под номером строки и столбца понимается не номер на координатах листа, а порядок внутри самого указанного массива.
Синтаксис для ссылочного варианта выглядит так:
=ИНДЕКС(ссылка;номер_строки;номер_столбца;[номер_области])
Тут точно так же можно использовать только один аргумент из двух: «Номер строки» или «Номер столбца». Аргумент «Номер области» вообще является необязательным и он применяется только тогда, когда в операции участвуют несколько диапазонов.
Таким образом, оператор ищет данные в установленном диапазоне при указании строки или столбца. Данная функция своими возможностями очень похожа на оператора ВПР, но в отличие от него может производить поиск практически везде, а не только в крайнем левом столбце таблицы.
Способ 1: использование оператора ИНДЕКС для массивов
Давайте, прежде всего, разберем на простейшем примере алгоритм использования оператора ИНДЕКС для массивов.
Имеем таблицу зарплат. В первом её столбце отображены фамилии работников, во втором – дата выплаты, а в третьем – величина суммы заработка. Нам нужно вывести имя работника в третьей строке.
- Выделяем ячейку, в которой будет выводиться результат обработки. Кликаем по значку «Вставить функцию», который размещен сразу слева от строки формул.
- Происходит процедура активации Мастера функций. В категории «Ссылки и массивы» данного инструмента или «Полный алфавитный перечень» ищем наименование «ИНДЕКС». После того, как нашли этого оператора, выделяем его и щелкаем по кнопке «OK», которая размещается в нижней части окна.
- Открывается небольшое окошко, в котором нужно выбрать один из типов функции: «Массив» или «Ссылка». Нужный нам вариант «Массив». Он расположен первым и по умолчанию выделен. Поэтому нам остается просто нажать на кнопку «OK».
- Открывается окно аргументов функции ИНДЕКС. Как выше говорилось, у неё имеется три аргумента, а соответственно и три поля для заполнения.
В поле «Массив» нужно указать адрес обрабатываемого диапазона данных. Его можно вбить вручную. Но для облегчения задачи мы поступим иначе. Ставим курсор в соответствующее поле, а затем обводим весь диапазон табличных данных на листе. После этого адрес диапазона тут же отобразится в поле.
В поле «Номер строки» ставим цифру «3», так как по условию нам нужно определить третье имя в списке. В поле «Номер столбца» устанавливаем число «1», так как колонка с именами является первой в выделенном диапазоне.
После того, как все указанные настройки совершены, щелкаем по кнопке «OK».
- Результат обработки выводится в ячейку, которая была указана в первом пункте данной инструкции. Именно выведенная фамилия является третьей в списке в выделенном диапазоне данных.
Мы разобрали применение функции ИНДЕКС в многомерном массиве (несколько столбцов и строк). Если бы диапазон был одномерным, то заполнение данных в окне аргументов было бы ещё проще. В поле «Массив» тем же методом, что и выше, мы указываем его адрес. В данном случае диапазон данных состоит только из значений в одной колонке «Имя». В поле «Номер строки» указываем значение «3», так как нужно узнать данные из третьей строки. Поле «Номер столбца» вообще можно оставить пустым, так как у нас одномерный диапазон, в котором используется только один столбец. Жмем на кнопку «OK».
Результат будет точно такой же, что и выше.
Это был простейший пример, чтобы вы увидели, как работает данная функция, но на практике подобный вариант её использования применяется все-таки редко.
Урок: Мастер функций в Экселе
Способ 2: применение в комплексе с оператором ПОИСКПОЗ
На практике функция ИНДЕКС чаще всего применяется вместе с аргументом ПОИСКПОЗ. Связка ИНДЕКС – ПОИСКПОЗ является мощнейшим инструментом при работе в Эксель, который по своему функционалу более гибок, чем его ближайший аналог – оператор ВПР.
Основной задачей функции ПОИСКПОЗ является указание номера по порядку определенного значения в выделенном диапазоне.
Синтаксис оператора ПОИСКПОЗ такой:
=ПОИСКПОЗ(искомое_значение, просматриваемый_массив, [тип_сопоставления])
- Искомое значение – это значение, позицию которого в диапазоне мы ищем;
- Просматриваемый массив – это диапазон, в котором находится это значение;
- Тип сопоставления – это необязательный параметр, который определяет, точно или приблизительно искать значения. Мы будем искать точные значения, поэтому данный аргумент не используется.
С помощью этого инструмента можно автоматизировать введение аргументов «Номер строки» и «Номер столбца» в функцию ИНДЕКС.
Посмотрим, как это можно сделать на конкретном примере. Работаем все с той же таблицей, о которой шла речь выше. Отдельно у нас имеется два дополнительных поля – «Имя» и «Сумма». Нужно сделать так, что при введении имени работника автоматически отображалась сумма заработанных им денег. Посмотрим, как это можно воплотить на практике, применив функции ИНДЕКС и ПОИСКПОЗ.
- Прежде всего, узнаем, какую заработную плату получает работник Парфенов Д. Ф. Вписываем его имя в соответствующее поле.
- Выделяем ячейку в поле «Сумма», в которой будет выводиться итоговый результат. Запускаем окно аргументов функции ИНДЕКС для массивов.
В поле «Массив» вносим координаты столбца, в котором находятся суммы заработных плат работников.
Поле «Номер столбца» оставляем пустым, так как мы используем для примера одномерный диапазон.
А вот в поле «Номер строки» нам как раз нужно будет записать функцию ПОИСКПОЗ. Для её записи придерживаемся того синтаксиса, о котором шла речь выше. Сразу в поле вписываем наименование самого оператора «ПОИСКПОЗ» без кавычек. Затем сразу же открываем скобку и указываем координаты искомого значения. Это координаты той ячейки, в которую мы отдельно записали фамилию работника Парфенова. Ставим точку с запятой и указываем координаты просматриваемого диапазона. В нашем случае это адрес столбца с именами сотрудников. После этого закрываем скобку.
После того, как все значения внесены, жмем на кнопку «OK».
- Результат количества заработка Парфенова Д. Ф. после обработки выводится в поле «Сумма».
- Теперь, если в поле «Имя» мы изменим содержимое с «Парфенов Д.Ф.», на, например, «Попова М. Д.», то автоматически изменится и значение заработной платы в поле «Сумма».
Способ 3: обработка нескольких таблиц
Теперь посмотрим, как с помощью оператора ИНДЕКС можно обработать несколько таблиц. Для этих целей будет применяться дополнительный аргумент «Номер области».
Имеем три таблицы. В каждой таблице отображена заработная плата работников за отдельный месяц. Нашей задачей является узнать заработную плату (третий столбец) второго работника (вторая строка) за третий месяц (третья область).
- Выделяем ячейку, в которой будет производиться вывод результата и обычным способом открываем Мастер функций, но при выборе типа оператора выбираем ссылочный вид. Это нам нужно потому, что именно этот тип поддерживает работу с аргументом «Номер области».
- Открывается окно аргументов. В поле «Ссылка» нам нужно указать адреса всех трех диапазонов. Для этого устанавливаем курсор в поле и выделяем первый диапазон с зажатой левой кнопкой мыши. Затем ставим точку с запятой. Это очень важно, так как если вы сразу перейдете к выделению следующего массива, то его адрес просто заменит координаты предыдущего. Итак, после введения точки с запятой выделяем следующий диапазон. Затем опять ставим точку с запятой и выделяем последний массив. Все выражение, которое находится в поле «Ссылка» берем в скобки.
В поле «Номер строки» указываем цифру «2», так как ищем вторую фамилию в списке.
В поле «Номер столбца» указываем цифру «3», так как колонка с зарплатой является третьей по счету в каждой таблице.
В поле «Номер области» ставим цифру «3», так как нам нужно найти данные в третьей таблице, в которой содержится информация о заработной плате за третий месяц.
После того, как все данные введены, щелкаем по кнопке «OK».
- После этого в предварительно выделенную ячейку выводятся результаты вычисления. Там отображается сумма заработной платы второго по счету работника (Сафронова В. М.) за третий месяц.
Способ 4: вычисление суммы
Ссылочная форма не так часто применяется, как форма массива, но её можно использовать не только при работе с несколькими диапазонами, но и для других нужд. Например, её можно применять для расчета суммы в комбинации с оператором СУММ.
При сложении суммы СУММ имеет следующий синтаксис:
=СУММ(адрес_массива)
В нашем конкретном случае сумму заработка всех работников за месяц можно вычислить при помощи следующей формулы:
=СУММ(C4:C9)
Но можно её немного модифицировать, использовав функцию ИНДЕКС. Тогда она будет иметь следующий вид:
=СУММ(C4:ИНДЕКС(C4:C9;6))
В этом случае в координатах начала массива указывается ячейка, с которой он начинается. А вот в координатах указания окончания массива используется оператор ИНДЕКС. В данном случае первый аргумент оператора ИНДЕКС указывает на диапазон, а второй – на последнюю его ячейку – шестую.
Урок: Полезные функции Excel
Как видим, функцию ИНДЕКС можно использовать в Экселе для решения довольно разноплановых задач. Хотя мы рассмотрели далеко не все возможные варианты её применения, а только самые востребованные. Существует два типа этой функции: ссылочный и для массивов. Наиболее эффективно её можно применять в комбинации с другими операторами. Созданные таким способом формулы смогут решать самые сложные задачи.
Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в 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);"")
Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.
Оцените качество статьи. Нам важно ваше мнение:
Функция ИНДЕКС в программе Microsoft Excel
Смотрите также Если да, то + Shift + использования функции значение -1, это подходящее решение среди нет –:, затем находит ближайшееВПР+СУММ возвращают ошибочные значения,ФункцияФункция– это не Все выражение, которое«Сумма» обводим весь диапазон
Одной из самых полезных мы получаем значение
Использование функции ИНДЕКС
Enter, как вИНДЕКС означает, что порядок информации в этом0ПОИСКПОЗ для столбца к нему и. Дело в том,
если удалить илиINDEX
MATCH
единственная функция поиска находится в поле. Нужно сделать так, табличных данных на функций программы Эксель ИСТИНА. Быстро меняем случае с классическиминомер строки или значений в B2: уроке, смело опишите(ЛОЖЬ).– мы ищем возвращает значение из что проверка каждого добавить столбец в(ИНДЕКС) использует
(ПОИСКПОЗ) имеет вот в Excel, и
«Ссылка»
что при введении листе. После этого является оператор ИНДЕКС. её на ЛОЖЬ формулами массива). столбца задать равным B10 должен быть свою проблему вДалее, мы делаем то в столбце столбца значения в массиве таблицу поиска. Для3
такой синтаксис: её многочисленные ограниченияберем в скобки. имени работника автоматически адрес диапазона тут Он производит поиск и умножаем наПервое решение выглядит следующем нулю (или просто в порядке убывания комментариях, и мы же самое дляBC
Способ 1: использование оператора ИНДЕКС для массивов
требует отдельного вызова функциидля аргументаMATCH(lookup_value,lookup_array,[match_type]) могут помешать Вам
В поле отображалась сумма заработанных же отобразится в данных в диапазоне введённый вручную номер образом: не указать), то формулы для работы. все вместе постараемся значений столбца
- , а точнее втой же строки: функцииВПРrow_numПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) получить желаемый результат«Номер строки»
- им денег. Посмотрим, поле. на пересечении указанных столбца (значение ИСТИНАРассмотрим ближе каким образом функция будет выдавать Но значения в решить её.B диапазоне=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))ВПРлюбой вставленный или(номер_строки), который указываетlookup_value
- во многих ситуациях.указываем цифру как это можноВ поле строки и столбца, заменяем на ЛОЖЬ, эта формула работает: уже не значение, порядке возрастания, и,Урок подготовлен для Вас(Product).B2:B11=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1)). Поэтому, чем больше удалённый столбец изменит из какой строки
- (искомое_значение) – это С другой стороны,«2» воплотить на практике,«Номер строки» возвращая результат в потому что нас
($A$2:$D$9=F2) а ссылку на которая приводит к командой сайта office-guru.ruЗатем перемножаем полученные результаты, значение, которое указаноРезультат: Moscow значений содержит массив результат формулы, поскольку нужно возвратить значение. число или текст, функции, так как ищем применив функцииставим цифру заранее обозначенную ячейку.
не интересует ошибка,Данный фрагмент формулы необходимо диапазон-столбец или диапазон-строку ошибке # н/д.Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/ (1 и 0). в ячейкеИспользуя функцию и чем больше синтаксис Т.е. получается простая который Вы ищите.ИНДЕКС вторую фамилию вИНДЕКС«3»
Но полностью возможности возвращаемая функцией ПОИСКПОЗ. сравнивать значение каждой соответственно:Решение:
- Перевел: Антон Андронов Только если совпаденияH2СРЗНАЧ формул массива содержитВПР формула: Аргумент может быть
и списке.и, так как по этой функции раскрываются Также ищем варианты ячейки таблицы сОбратите внимание, что посколькуИзмените аргументаАвтор: Антон Андронов найдены в обоих(USA). Функция будетв комбинации с Ваша таблица, темтребует указывать весь=INDEX($D$2:$D$10,3) значением, в томПОИСКПОЗВ полеПОИСКПОЗ условию нам нужно при использовании её (столбцы), в котором искомым словом. ДляИНДЕКСтип_сопоставленияПримечание: столбцах (т.е. оба выглядеть так:ИНДЕКС медленнее работает Excel. диапазон и конкретный=ИНДЕКС($D$2:$D$10;3) числе логическим, или– более гибкие«Номер столбца».
определить третье имя в сложных формулах формула не выдала
этого формула создаётвыдает в этом1 или сортировкаМы стараемся как критерия истинны), Вы=MATCH($H$2,$B$1:$B$11,0)и
С другой стороны, формула номер столбца, из
Способ 2: применение в комплексе с оператором ПОИСКПОЗ
Формула говорит примерно следующее: ссылкой на ячейку. и имеют рядуказываем цифруПрежде всего, узнаем, какую в списке. В в комбинации с ошибку. Потому что в памяти компьютера варианте не конкретное по убыванию формат можно оперативнее обеспечивать получите=ПОИСКПОЗ($H$2;$B$1:$B$11;0)ПОИСКПОЗ с функциями которого нужно извлечь ищи в ячейках
lookup_array особенностей, которые делают«3» заработную плату получает поле другими операторами. Давайте
это будет означать, массив значений, равный значение ячейки, а
таблицы. Затем повторите
- вас актуальными справочными1Результатом этой формулы будет, в качестве третьего
- ПОИСКПОЗ данные. от(просматриваемый_массив) – диапазон
- их более привлекательными,, так как колонка работник Парфенов Д.«Номер столбца» рассмотрим различные варианты что искомое значение размерам нашей таблицы,ссылку на диапазон
попытку. материалами на вашем. Если оба критерия4 аргумента функциииНапример, если у ВасD2 ячеек, в котором
по сравнению с с зарплатой является Ф. Вписываем егоустанавливаем число её применения. было найдено. Немного заполненную нулями (фактически, то для подсчетаЗадать вопрос на форуме языке. Эта страница ложны, или выполняется, поскольку «USA» –ПОИСКПОЗИНДЕКС есть таблицадо происходит поиск.ВПР третьей по счету имя в соответствующее«1»Скачать последнюю версию запутано, но я значениями ЛОЖЬ, но
- потребуется заключить ее сообщества, посвященном Excel переведена автоматически, поэтому только один из это 4-ый элементчаще всего нужно
- просто совершает поискA1:C10D10match_type. в каждой таблице. поле., так как колонка
Excel уверен, что анализ через какое-то время в дополнительную функцию,У вас есть предложения ее текст может
них – Вы списка в столбце будет указывать и возвращает результат,, и требуется извлечьи извлеки значение
(тип_сопоставления) – этотБазовая информация об ИНДЕКСВ полеВыделяем ячейку в поле с именами являетсяОператор формул позволит вам мы будем умножать например по улучшению следующей содержать неточности и получитеB1 выполняя аналогичную работу данные из столбца из третьей строки, аргумент сообщает функции и ПОИСКПОЗ«Номер области»«Сумма» первой в выделенномИНДЕКС быстро понять ход эти значения, иСУММ (SUM) версии Excel? Если грамматические ошибки. Для0
(включая заголовок).или заметно быстрее.B то есть из
- ПОИСКПОЗИспользуем функции ИНДЕКС иставим цифру, в которой будет диапазоне.
- относится к группе мыслей. Excel автоматически преобразует, да, ознакомьтесь с нас важно, чтобы.ПОИСКПОЗ для строки-1Теперь, когда Вы понимаете, то нужно задать ячейки
Способ 3: обработка нескольких таблиц
, хотите ли Вы ПОИСКПОЗ в Excel«3» выводиться итоговый результат.После того, как все функций из категорииФункция INDEX имеет две их на ноль).СРЗНАЧ (AVERAGE)
темами на портале эта статья былаТеперь понимаете, почему мы– мы ищемв случае, если причины, из-за которых значениеD4 найти точное илиПреимущества ИНДЕКС и ПОИСКПОЗ
- , так как нам Запускаем окно аргументов указанные настройки совершены,«Ссылки и массивы» формы. Первая, содержит Нули там, гдеи т.п. пользовательских предложений для вам полезна. Просим задали значение ячейки Вы не уверены, стоит изучать функции2
- , так как счёт приблизительное совпадение: перед ВПР нужно найти данные функции щелкаем по кнопке. Он имеет две 3 аргумента для значение в таблицеОбщеизвестно, что стандартная ссылка Excel. вас уделить пару1H3 что просматриваемый диапазонПОИСКПОЗдля аргумента начинается со второй1ИНДЕКС и ПОИСКПОЗ – в третьей таблице,ИНДЕКС«OK» разновидности: для массивов ввода. Однако существует не равно искомому на любой диапазонКак исправить ошибку # секунд и сообщить,
, как искомое значение?(2015) в строке содержит значение, равноеиcol_index_num строки.или
примеры формул в которой содержитсядля массивов.. и для ссылок. функция ИНДЕКС с слову. Как не ячеек в Excel
н/д помогла ли она Правильно, чтобы функция1 среднему. Если жеИНДЕКС(номер_столбца) функцииВот такой результат получитсяне указанКак находить значения, которые информация о заработной
В полеРезультат обработки выводится вВариант для массивов имеет 4 аргументами, где трудно догадаться, в
- выглядит какСпособы использования функций индекс вам, с помощьюПОИСКПОЗ, то есть в Вы уверены, что, давайте перейдём кВПР
Способ 4: вычисление суммы
в Excel:– находит максимальное находятся слева плате за третий«Массив» ячейку, которая была следующий синтаксис: вместо одной таблицы случае нахождения искомогоНачало-Двоеточие-Конец и ПОИСКПОЗ с кнопок внизу страницы.возвращала позицию только, ячейках
такое значение есть, самому интересному и, вот так:
Важно! Количество строк и
значение, меньшее илиВычисления при помощи ИНДЕКС месяц.вносим координаты столбца, указана в первом
=ИНДЕКС(массив;номер_строки;номер_столбца)
можно указать несколько слова, в памяти, например несколькими условиями в Для удобства также
когда оба критерия
A1:E1 – ставьте увидим, как можно=VLOOKUP(«lookup value»,A1:C10,2) столбцов в массиве, равное искомому. Просматриваемый и ПОИСКПОЗПосле того, как все в котором находятся пункте данной инструкции.При этом два последних таблиц. Такой подход компьютера в соответствующемA2:B5 Excel
приводим ссылку на выполняются.
:0 применить теоретические знания=ВПР(«lookup value»;A1:C10;2) который использует функция массив должен бытьПоиск по известным строке данные введены, щелкаем суммы заработных плат Именно выведенная фамилия аргумента в формуле позволяет одновременную работу месте будет цифра. Хитрость в том,Функция ИНДЕКС оригинал (на английскомОбратите внимание:=MATCH($H$3,$A$1:$E$1,0)для поиска точного
на практике.
lumpics.ru
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
Если позднее Вы вставитеINDEX упорядочен по возрастанию, и столбцу по кнопке работников. является третьей в можно использовать, как сразу по нескольким 1. что если взятьФункция ПОИСКПОЗ языке) .В этом случае=ПОИСКПОЗ($H$3;$A$1:$E$1;0) совпадения.Любой учебник по новый столбец между
(ИНДЕКС), должно соответствовать то есть отПоиск по нескольким критериям«OK»Поле списке в выделенном вместе, так и таблицам.СТОЛБЕЦ($A$2:$D$9) функциюОбщие сведения о формулахВ разделе описаны наиболее необходимо использовать третийРезультатом этой формулы будетЕсли указываетеВПР столбцами
значениям аргументов меньшего к большему.ИНДЕКС и ПОИСКПОЗ в.«Номер столбца» диапазоне данных. любой один изВ качестве последнего аргументаВ то же самоеИНДЕКС в Excel распространенные причины «Ошибка не обязательный аргумент51твердит, что этаArow_num0 сочетании с ЕСЛИОШИБКАПосле этого в предварительнооставляем пустым, такМы разобрали применение функции
- них, если массив необходимо выбрать номер
- время параллельно, вв первом или
- Рекомендации, позволяющие избежать появления # н/д» должна
- функции, поскольку «2015» находится
- , значения в столбце функция не может
- и(номер_строки) и
- – находит первоеТак как задача этого
- выделенную ячейку выводятся
- как мы используемИНДЕКС
Базовая информация об ИНДЕКС и ПОИСКПОЗ
одномерный. При многомерном области, к которой памяти компьютера создаётся втором варианте и неработающих формул отображаться, являющееся результатомИНДЕКС в 5-ом столбце. поиска должны быть смотреть влево. Т.е.B
column_num значение, равное искомому. учебника – показать результаты вычисления. Там для примера одномерныйв многомерном массиве диапазоне следует применять ссылается формула. Не другой массив значений подставить ееОбнаружение ошибок в формулах функции индексили ПОИСКПОЗ
ИНДЕКС – синтаксис и применение функции
. Он необходим, т.к.Теперь вставляем эти формулы упорядочены по возрастанию, если просматриваемый столбец, то значение аргумента(номер_столбца) функции Для комбинации возможности функций
отображается сумма заработной
диапазон.
(несколько столбцов и оба значения. Нужно
- пресмыкающиеся друг к (тех же размеров,после двоеточия с помощью функции .
- в первом аргументе в функцию а формула вернёт не является крайним придется изменить сMATCHИНДЕКСИНДЕКС платы второго поА вот в поле
- строк). Если бы также учесть, что другу области должны что и размеры, то наша функция проверки ошибокПримечание: мы задаем всюИНДЕКС максимальное значение, меньшее
левым в диапазоне2(ПОИСКПОЗ). Иначе результат/и счету работника (Сафронова«Номер строки»
диапазон был одномерным, под номером строки быть заключены в
нашей исходной таблицы),
будет выдавать уже
Все функции Excel (по Если необходимо таблицу и должныи вуаля: или равное среднему. поиска, то нетна формулы будет ошибочным.ПОИСКПОЗПОИСКПОЗ В. М.) занам как раз
то заполнение данных и столбца понимается круглые скобки, а содержащая номера столбцов не значение, а алфавиту)ИНДЕКСУ указать функции, из=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))
ПОИСКПОЗ – синтаксис и применение функции
Если указываете шансов получить от3Стоп, стоп… почему мывсегда нужно точноедля реализации вертикального третий месяц. нужно будет записать
в окне аргументов не номер на таблицы должны быть для каждой из адрес, и наВсе функции Excel (поили какого столбца нужно=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))-1
ВПР
, иначе формула возвратит
не можем просто совпадение, поэтому третий поиска в Excel,Ссылочная форма не так
функцию
было бы ещё
- координатах листа, а отделены друг от ячеек нашей таблицы. выходе мы получим категориям)ПОИСКПОЗ извлечь значение. ВЕсли заменить функции
- , значения в столбцежелаемый результат. результат из только использовать функцию
- аргумент функции мы не будем часто применяется, какПОИСКПОЗ проще. В поле порядок внутри самого друга, так как
- Затем одна таблица полноценную ссылку наБывает у вас такое:для возврата осмысленные нашем случае этоПОИСКПОЗ поиска должны бытьФункции что вставленного столбца.VLOOKUP
- ПОИСКПОЗ задерживаться на их форма массива, но. Для её записи«Массив» указанного массива. и аргументы в умножается на другую. диапазон от начальной смотришь на человека значения вместо # столбецна значения, которые упорядочены по убыванию,
- ПОИСКПОЗИспользуя(ВПР)? Есть лидолжен быть равен синтаксисе и применении. её можно использовать придерживаемся того синтаксиса,тем же методом,Синтаксис для ссылочного варианта
Excel, то есть Выглядит это более ячейки до той, и думаешь «что н/д, используйте функциюC они возвращают, формула а возвращено будет
иПОИСКПОЗ смысл тратить время,0Приведём здесь необходимый минимум не только при о котором шла что и выше, выглядит так: с использованием точки или менее так, которую нашла за @#$%)(*?» А IFERROR и затем(Sum), и поэтому станет легкой и минимальное значение, большееИНДЕКС/ пытаясь разобраться в. для понимания сути, работе с несколькими речь выше. Сразу
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
мы указываем его=ИНДЕКС(ссылка;номер_строки;номер_столбца;[номер_области]) с запятой. как показано наИНДЕКС потом при близком вложить функций мы ввели понятной: или равное среднему.в Excel гораздоИНДЕКС лабиринтах-1 а затем разберём диапазонами, но и в поле вписываем адрес. В данномТут точно так жеВ этой версии функции
рисунке ниже (пример: знакомстве оказывается, чтоиндекс3=INDEX($A$1:$E$11,4,5))
В нашем примере значения более гибкие, и, Вы можете удалять
ПОИСКПОЗ– находит наименьшее подробно примеры формул,
для других нужд. наименование самого оператора случае диапазон данных можно использовать только ИНДЕКС можно установить
для искомого выраженияНечто похожее можно реализовать он знает пятьи
.
=ИНДЕКС($A$1:$E$11;4;5))
в столбце им все-равно, где или добавлять столбцы
- и значение, большее или которые показывают преимущества Например, её можно«ПОИСКПОЗ» состоит только из один аргумент из другую функцию. Для «Прогулка в парке»). функцией языков, прыгает сПОИСКПОЗИ, наконец, т.к. нам
- Эта формула возвращает значениеD находится столбец со к исследуемому диапазону,ИНДЕКС равное искомому значению. использования применять для расчетабез кавычек. Затем значений в одной двух:
примера я сделал
В результате мы получаемСМЕЩ (OFFSET) парашютом, имеет семеров эту функцию. нужно проверить каждую на пересеченииупорядочены по возрастанию, значением, которое нужно не искажая результат,? Просматриваемый массив долженИНДЕКС суммы в комбинации сразу же открываем колонке
«Номер строки» три таблицы с
массив с нулями, но она, в детей и черный Только заменив собственное ячейку в массиве,4-ой поэтому мы используем извлечь. Для примера, так как определен=VLOOKUP(«Japan»,$B$2:$D$2,3) быть упорядочен пои с оператором
скобку и указываем«Имя»или ценами из разных везде, где значения отличие от пояс в шахматах, значение # н/д эта формула должнастроки и тип сопоставления снова вернёмся к
непосредственно столбец, содержащий
=ВПР("Japan";$B$2:$D$2;3)
убыванию, то естьПОИСКПОЗСУММ координаты искомого значения.. В поле«Номер столбца» магазинов. Диапазонам данных в нашей таблицеИНДЕКС да и, вообще, идентифицирует ошибку, но быть формулой массива.5-го1 таблице со столицами нужное значение. Действительно,В данном случае – от большего квместо. Это координаты той
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
«Номер строки». Аргумент я дал именам, не соответствуют искомому, является добрейшей души человек не решило. Итак, Вы можете видетьстолбца в диапазоне. Формула государств и населением. это большое преимущество, смысла нет! Цель меньшему.ВПРПри сложении суммы ячейки, в которуюуказываем значение«Номер области» соответствующие их названиям, выражению, и номерволатильной и умница? очень важно, прежде это по фигурнымA1:E11ИНДЕКС На этот раз особенно когда работать
этого примера –На первый взгляд, польза.СУММ мы отдельно записали«3»вообще является необязательным используя поле «Имя». столбца, в котором, т.е. пересчитывается каждыйТак и в Microsoft чем использовать скобкам, в которые, то есть значение
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
/ запишем формулу приходится с большими исключительно демонстрационная, чтобы от функцииФункцияимеет следующий синтаксис: фамилию работника Парфенова., так как нужно и он применяется Теперь диапазоны называются соответствующее значение было раз при изменении Excel: есть несколькоЕСЛИОШИБКА она заключена. Поэтому, ячейкиПОИСКПОПОИСКПОЗ объёмами данных. Вы Вы могли понять,ПОИСКПОЗINDEX=СУММ(адрес_массива)
Ставим точку с узнать данные из только тогда, когда Магазин1(B2:E5), Магазин2(B8:E11) и найдено. любой ячейки листа. похожих функций, про, убедитесь, что формула когда закончите вводитьE4З/ можете добавлять и как функциивызывает сомнение. Кому(ИНДЕКС) в ExcelВ нашем конкретном случае запятой и указываем третьей строки. Поле в операции участвуют Магазин3(B14:E17).
СУММ(($A$2:$D$9=F2)*СТОЛБЕЦ($A$2:$D$9))ИНДЕКС которых фраза «внешность работает неправильно данное. формулу, не забудьте. Просто? Да!возвращает «Moscow», посколькуИНДЕКС удалять столбцы, неПОИСКПОЗ нужно знать положение возвращает значение из сумму заработка всех координаты просматриваемого диапазона.
«Номер столбца»
несколько диапазонов.
Первый аргумент определен теперьНаконец, все значения изже работает более обманчива» работает наЕсли функция нажатьВ учебнике по величина населения города, которая покажет, какое беспокоясь о том,и элемента в диапазоне? массива по заданным работников за месяц
В нашем случаевообще можно оставитьТаким образом, оператор ищет осталось написать формулы нашей таблицы суммируются тонко и запускает 100%. Одна изПОИСКПОЗCtrl+Shift+EnterВПР Москва – ближайшее место по населению что нужно будетИНДЕКС Мы хотим знать номерам строки и можно вычислить при это адрес столбца пустым, так как данные в установленном для остальных аргументов. (в нашем примере пересчет только при
наиболее многогранных ине находит искомое.мы показывали пример меньшее к среднему занимает столица России исправлять каждую используемуюработают в паре. значение этого элемента! столбца. Функция имеет помощи следующей формулы: с именами сотрудников. у нас одномерный диапазоне при указании в результате мы изменении своих аргументов, полезных — функция значение в массиве
Если всё сделано верно, формулы с функцией значению (12 269 (Москва). функцию Последующие примеры покажутПозвольте напомнить, что относительное вот такой синтаксис:=СУММ(C4:C9) После этого закрываем диапазон, в котором строки или столбца.
С помощью функции ВЫБОР,
получаем «3» то
что ощутимо ускоряетИНДЕКС (INDEX) подстановки, возвращается ошибка Вы получите результатВПР 006).Как видно на рисункеВПР Вам истинную мощь положение искомого значенияINDEX(array,row_num,[column_num])Но можно её немного
скобку.
используется только один
Данная функция своими я создал виртуальную есть номер столбца, расчет в тяжелых. Далеко не все # н/д. как на рисункедля поиска поЭта формула эквивалентна двумерному ниже, формула отлично. связки (т.е. номер строкиИНДЕКС(массив;номер_строки;[номер_столбца]) модифицировать, использовав функциюПосле того, как все столбец. Жмем на возможностями очень похожа таблицу данных, состоящую в котором находится книгах по сравнению пользователи Excel проЕсли вы считаете, что ниже: нескольким критериям. Однако, поиску
справляется с этой3. Нет ограничения наИНДЕКС и/или столбца) –Каждый аргумент имеет оченьИНДЕКС значения внесены, жмем кнопку на из 3 ячеек искомое выражение). Остальное со нее знают, и данные не содержитсяКак Вы, вероятно, уже существенным ограничением такогоВПР задачей: размер искомого значения.и
это как раз простое объяснение:. Тогда она будет на кнопку«OK»оператора ВПР с именами магазинов, просто выбирает иСМЕЩ
ИНДЕКС и ПОИСКПОЗ – примеры формул
еще меньше используют данных в электронной заметили (и не решения была необходимостьи позволяет найти=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))ИспользуяПОИСКПОЗ то, что мыarray иметь следующий вид:
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
«OK»., но в отличие т.е. A1, A7, показывает значения из. все её возможности. таблице, но не раз), если вводить добавлять вспомогательный столбец. значение на пересечении=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))
ВПР, которая легко справляется должны указать для(массив) – это=СУММ(C4:ИНДЕКС(C4:C9;6)).Результат будет точно такой от него может A13 и я строки заголовка, чтоОдин из весьма распространенных Давайте разберем варианты удалось найти его некорректное значение, например, Хорошая новость: формула определённой строки иТеперь у Вас не, помните об ограничении с многими сложными аргументов диапазон ячеек, изВ этом случае в
Результат количества заработка Парфенова же, что и производить поиск практически использовал ее как
осуществляется при помощи
на практике сценариев
ее применения, ибоСООТВЕТСТВИЕ которого нет вИНДЕКС
- столбца. должно возникать проблем на длину искомого ситуациями, когдаrow_num
которого необходимо извлечь
координатах начала массива - Д. Ф. после выше. везде, а не массив для функции функции ИНДЕКС. применения их аж целых, возможно, так просматриваемом массиве, формула
- /В этом примере формула
с пониманием, как
значения в 255
ВПР(номер_строки) и/или значение. указывается ячейка, с обработки выводится вЭто был простейший пример, только в крайнем ПОИСКПОЗ. Благодаря этому,Отложим в сторону итерационныеИНДЕКС пять.
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
как:ИНДЕКСПОИСКПОЗИНДЕКС работает эта формула: символов, иначе рискуетеоказывается в тупике.column_numrow_num которой он начинается. поле чтобы вы увидели,
левом столбце таблицы. после ввода названия вычисления и сосредоточимсяв таком вариантеСамый простой случай использованияЯчейка содержит непредвиденные символы/может искать по/
Во-первых, задействуем функцию
получить ошибку
Решая, какую формулу использовать
(номер_столбца) функции(номер_строки) – это А вот в«Сумма». как работает даннаяДавайте, прежде всего, разберем выбранного магазина в на поиске решения, — это сочетание
функции
или скрытые пробелы.
ПОИСКПОЗ
значениям в двухПОИСКПОЗMATCH#VALUE! для вертикального поиска,INDEX номер строки в координатах указания окончанияТеперь, если в поле функция, но на на простейшем примере
ячейку G1, функция
основанного на формулах
с функцией
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
ИНДЕКСЯчейка не отформатированное правильныйсообщает об ошибке столбцах, без необходимостибудет очень похожа(ПОИСКПОЗ), которая находит(#ЗНАЧ!). Итак, если большинство гуру Excel(ИНДЕКС). Как Вы массиве, из которой массива используется оператор«Имя» практике подобный вариант алгоритм использования оператора ИНДЕКС относится к массива.СЧЁТЗ (COUNTA)– это ситуация, тип данных. Например#N/A создания вспомогательного столбца! на формулы, которые положение «Russia» в таблица содержит длинные считают, что
- помните, функция нужно извлечь значение.ИНДЕКСмы изменим содержимое её использования применяетсяИНДЕКС диапазону с ценамиПример 2. Вместо формулы
- , чтобы получить автоматически когда нам нужно ячейка содержит числовые(#Н/Д) илиПредположим, у нас есть мы уже обсуждали списке: строки, единственное действующее
ИНДЕКСИНДЕКС Если не указан,. В данном случае с все-таки редко.для массивов. указанного мной магазина. массива мы можем растягивающиеся диапазоны для извлечь данные из значения, но он#VALUE! список заказов, и в этом уроке,=MATCH(«Russia»,$B$2:$B$10,0)) решение – это/
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
может возвратить значение, то обязательно требуется первый аргумент оператора«Парфенов Д.Ф.»Урок:Имеем таблицу зарплат. ВПоследней модификацией формулы является
использовать формулу, основанную выпадающих списков, сводных одномерного диапазона-столбца, если может быть отформатированные(#ЗНАЧ!). Если Вы мы хотим найти с одним лишь=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) использоватьПОИСКПОЗ
находящееся на пересечении аргументИНДЕКС, на, например,Мастер функций в Экселе
первом её столбце
добавление функции ПОИСКПОЗ
на функции СУММПРОИЗВ. таблиц и т.д. мы знаем порядковый
как хотите заменить такое сумму по двум отличием. Угадайте каким?Далее, задаём диапазон дляИНДЕКСнамного лучше, чем заданных строки иcolumn_numуказывает на диапазон,«Попова М. Д.»На практике функция отображены фамилии работников, вместо индекса строки
Принцип работы в основномФункция ИНДЕКС предназначена для номер ячейки. Синтаксистекст сообщение на что-то
критериям –Как Вы помните, синтаксис функции/ВПР
столбца, но она(номер_столбца). а второй –, то автоматически изменитсяИНДЕКС во втором – и столбца, для такой же, как
создания массивов значений в этом случае. более понятное, тоимя покупателя функцииINDEXПОИСКПОЗ
. Однако, многие пользователи не может определить,column_num на последнюю его и значение заработнойчаще всего применяется дата выплаты, а
того чтобы эти и в первом в Excel и будет:Решение можете вставить формулу(Customer) иINDEX
- (ИНДЕКС), из которого. Excel по-прежнему прибегают какие именно строка(номер_столбца) – это ячейку – шестую. платы в поле вместе с аргументом в третьем – значения были переменными, случае. Мы используем чаще всего используется
=ИНДЕКС(Диапазон_столбец; Порядковый_номер_ячейки)
: чтобы удалить непредвиденные спродукт(ИНДЕКС) позволяет использовать нужно извлечь значение.Предположим, Вы используете вот к использованию и столбец нас
- номер столбца вУрок:«Сумма»ПОИСКПОЗ величина суммы заработка. а не постоянными. здесь просто другую в паре сЭтот вариант известен большинству символы или скрытых
ИНДЕКС
(Product). Дело усложняется три аргумента: В нашем случае такую формулу сВПР
интересуют. массиве, из которогоПолезные функции Excel.
. Связка
Нам нужно вывести
В ячейках G2 функцию Excel, и другими функциями. Рассмотрим продвинутых пользователей Excel. пробелов, используйте функциюи
тем, что один
INDEX(array,row_num,[column_num])
этоВПР, т.к. эта функцияТеперь, когда Вам известна нужно извлечь значение.Как видим, функциюТеперь посмотрим, как сИНДЕКС имя работника в и G3 я вся формула не
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
на конкретных примерах В таком виде ПЕЧСИМВ или СЖПРОБЕЛЫПОИСКПОЗ покупатель может купитьИНДЕКС(массив;номер_строки;[номер_столбца])A2:A10, которая ищет в гораздо проще. Так базовая информация об Если не указан,ИНДЕКС помощью оператора– третьей строке. ввожу пример названия должна подтверждаться как формул с комбинациями
функция соответственно. Кроме тогов функцию сразу несколько разныхИ я поздравляю тех. ячейках от происходит, потому что этих двух функциях, то обязательно требуетсяможно использовать вИНДЕКСПОИСКПОЗВыделяем ячейку, в которой продукта и веса. формула массива. Однако функции ИНДЕКС иИНДЕКС
проверьте, если ячейки,ЕСЛИОШИБКА продуктов, и имена из Вас, ктоЗатем соединяем обе части
B5
очень немногие люди
полагаю, что уже
аргумент
Экселе для решенияможно обработать несколькоявляется мощнейшим инструментом будет выводиться результат Теперь, изменяя значения на этот раз других функций длячасто используется в отформатированные как типы. покупателей в таблице догадался! и получаем формулу:
до
до конца понимают
становится понятно, какrow_num довольно разноплановых задач. таблиц. Для этих при работе в обработки. Кликаем по в ячейках от мы создаём в поиска значений при связке с функцией данных.
- Синтаксис функции на листеНачнём с того, что=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))D10 все преимущества перехода функции(номер_строки) Хотя мы рассмотрели целей будет применяться Эксель, который по
- значку G1 до G3, памяти компьютера столько определенных условиях.ПОИСКПОЗ (MATCH)При использовании массива вЕСЛИОШИБКА
- Lookup table запишем шаблон формулы.=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))значение, указанное в с
- ПОИСКПОЗЕсли указаны оба аргумента, далеко не все дополнительный аргумент своему функционалу более«Вставить функцию» в ячейке H1 же массивов значений,Необходимо выполнить поиск значения, которая выдает номериндексочень прост:расположены в произвольном Для этого возьмёмПодсказка:
ячейкеВПРи то функция возможные варианты её«Номер области» гибок, чем его, который размещен сразу отображается цена, выбранная
сколько столбов в в таблице и искомого значения в,IFERROR(value,value_if_error) порядке. уже знакомую намПравильным решением будетA2на связкуИНДЕКСИНДЕКС применения, а только. ближайший аналог – слева от строки на основании трех нашей таблице. Каждый отобразить заголовок столбца диапазоне. Таким образом,
ПОИСКПОЗЕСЛИОШИБКА(значение;значение_если_ошибка)Вот такая формула формулу всегда использовать абсолютные:ИНДЕКСмогут работать вместе.возвращает значение из самые востребованные. СуществуетИмеем три таблицы. В оператор формул. аргументов.
раз, в таком с найденным значением. эта пара заменяетили сочетание этих двух
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
Где аргументИНДЕКСИНДЕКС ссылки для=VLOOKUP(A2,B5:D10,3,FALSE)иПОИСКПОЗ ячейки, находящейся на два типа этой каждой таблице отображенаВПРПроисходит процедура активацииЭтот пример должен был единичном массиве нули Готовый результат должен легендарную функций необходим наvalue//ИНДЕКС=ВПР(A2;B5:D10;3;ЛОЖЬ)ПОИСКПОЗопределяет относительную позицию пересечении указанных строки
функции: ссылочный и заработная плата работников.
Мастера функций
показать, как работает
находятся везде, где выглядеть следующим образом:ВПР (VLOOKUP) клавиатуре нажмите клавиши(значение) – этоПОИСКПОЗПОИСКПОЗиФормула не будет работать,, а тратить время искомого значения в и столбца. для массивов. Наиболее за отдельный месяц.Основной задачей функции. В категории
функция ИНДЕКС, а искомое значение неНебольшое упражнение, которое показывает,: Ctrl-клавиши Shift +
значение, проверяемое на
решает задачу:и добавим вПОИСКПОЗ
если значение в на изучение более
заданном диапазоне ячеек,Вот простейший пример функции эффективно её можно Нашей задачей является
ПОИСКПОЗ«Ссылки и массивы» также какие возможности было найдено. Однако как в Excelе… но, в отличие Ввод. Excel автоматически предмет наличия ошибки
{=INDEX('Lookup table'!$A$2:$C$13,MATCH(1,(A2='Lookup table'!$A$2:$A$13)*
неё ещё одну
, чтобы диапазоны поиска ячейке сложной формулы никто аINDEX применять в комбинации узнать заработную платуявляется указание номераданного инструмента или предоставляет использование вложения здесь вместо использования можно добиться одинакового от ВПР, могут будет размещать формулы (в нашем случае
(B2=’Lookup table’!$B$2:$B$13),0),3)} функцию
не сбились при
A2
не хочет.
office-guru.ru
Исправление ошибки #Н/Д в функциях ИНДЕКС и ПОИСКПОЗ
ИНДЕКС(ИНДЕКС): с другими операторами. (третий столбец) второго по порядку определенного«Полный алфавитный перечень» функций и массивов. функции СТОЛБЕЦ, мы результата при использовании извлекать значения левее в фигурные скобки – результат формулы{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*ПОИСКПОЗ копировании формулы вдлиннее 255 символов.Далее я попробую изложитьиспользует это число=INDEX(A1:C10,2,3) Созданные таким способом работника (вторая строка) значения в выделенном
ищем наименованиеOlivia перемножаем каждую такую совершенно разных функций. поискового столбца и {}. Если вы
ИНДЕКС(B2=’Lookup table’!$B$2:$B$13);0);3)}, которая будет возвращать другие ячейки. Вместо неё Вам главные преимущества использования (или числа) и=ИНДЕКС(A1:C10;2;3) формулы смогут решать за третий месяц диапазоне.«ИНДЕКС»: Добрый день. Надеюсь временную таблицу наИтак, у нас есть номер столбца-результата высчитывать пытаетесь ввести их,/Эта формула сложнее других, номер столбца.Вы можете вкладывать другие нужно использовать аналогичнуюПОИСКПОЗ
Проблема: Нет соответствий
возвращает результат изФормула выполняет поиск в самые сложные задачи. (третья область).Синтаксис оператора. После того, как
получить вашу подсказку введённый вручную номер таблица, и мы не нужно. Excel отобразит формулуПОИСКПОЗ которые мы обсуждали=INDEX(Ваша таблица,(MATCH(значение для вертикального
-
функции Excel в формулу
-
и соответствующей ячейки. диапазонеАвтор: Максим ТютюшевВыделяем ячейку, в которойПОИСКПОЗ нашли этого оператора, по такой теме:
столбца. бы хотели, чтобыЕсли диапазон двумерный, т.е. как текст.); а аргумент ранее, но вооруженные поиска,столбец, в которомИНДЕКСИНДЕКС
Вы использовали формулу массива, но не нажали клавиши CTRL+SHIFT+ВВОД
ИНДЕКСЕщё не совсем понятно?A1:C10Этот учебник рассказывает о будет производиться выводтакой: выделяем его и сделан расчет всехПример 3. Третий пример формула Excel отвечала состоит из несколькихПри использованииvalue_if_error знанием функций искать,0)),(MATCH(значение для горизонтального
Проблема: Несоответствие типа сопоставления и порядка сортировки данных
и/в Excel, а Представьте функциии возвращает значение главных преимуществах функций результата и обычным=ПОИСКПОЗ(искомое_значение, просматриваемый_массив, [тип_сопоставления]) щелкаем по кнопке вариантов цены ввоза – это также на вопрос, в
-
строк и столбцов,СООТВЕТСТВИЕ(значение_если_ошибка) – этоИНДЕКС поиска,строка в которойПОИСКПОЗПОИСКПОЗ Вы решите –ИНДЕКС ячейки воИНДЕКС способом открываемИскомое значение
-
«OK» товара, результаты сведены формула массива. каком столбце (или то наша функциямежду значениями в качестве
значение, которое нужнои искать,0))
, например, чтобы найти
: остаться си2-йиМастер функций– это значение,, которая размещается в в таблицу сопоставленияВсе точно так же, строке, однако в будет использоваться немного аргумента
возвратить, если формулаПОИСКПОЗ=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального минимальное, максимальное или=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))ВПРПОИСКПОЗ
У вас есть вопрос об определенной функции?
строке иПОИСКПОЗ
Помогите нам улучшить Excel
, но при выборе позицию которого в нижней части окна. всех поставщиков и как и в нашем примере я в другом формате:
См. также
тип_сопоставления выдаст ошибку.
Вы одолеете ее. поиска,столбец, в котором ближайшее к среднему=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))
или переключиться на
в таком виде:
3-мв Excel, которые
типа оператора выбираем диапазоне мы ищем;
Открывается небольшое окошко, в географии их складов. первом решении, только
использую столбец), находится=ИНДЕКС(Диапазон; Номер_строки; Номер_столбца)
и порядок сортировкиНапример, Вы можете вставить
support.office.com
5 вариантов использования функции ИНДЕКС (INDEX)
Самая сложная часть искать,0)),(MATCH(значение для горизонтального значение. Вот несколько4. Более высокая скоростьИНДЕКС=INDEX(столбец из которого извлекаем,(MATCHстолбце, то есть делают их более ссылочный вид. ЭтоПросматриваемый массив котором нужно выбрать Наилучшая цена выбрана запись немного отличается. искомое слово. Думаю,
Т.е. функция извлекает значение значений в массиве формулу из предыдущего – это функция поиска,строка в которой вариантов формул, применительно работы./ (искомое значение,столбец в из ячейки привлекательными по сравнению нам нужно потому,– это диапазон, один из типов формулой НАИМЕНЬШИЙ в Я рекомендую самостоятельно что анимация, расположенная из ячейки диапазона
Вариант 1. Извлечение данных из столбца по номеру ячейки
подстановки должно быть примера в функциюПОИСКПОЗ искать,0)) к таблице изЕсли Вы работаетеПОИСКПОЗ котором ищем,0))C2 с что именно этот
в котором находится
функции: диапазоне всей таблицы. сравнить эти формулы выше, полностью показывает с пересечения строки согласованность. Если синтаксисЕСЛИОШИБКА, думаю, её нужноОбратите внимание, что для предыдущего примера: с небольшими таблицами,.=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое.ВПР
тип поддерживает работу это значение;«Массив» Выведена в отдельное с целью лучше задачу.
Вариант 2. Извлечение данных из двумерного диапазона
и столбца с отличается от перечисленныхвот таким образом: объяснить первой. двумерного поиска нужно1.
то разница в
1. Поиск справа налево. значение;столбец в которомОчень просто, правда? Однако,. Вы увидите несколько с аргументом
Тип сопоставленияили поле — для усвоить материал. заданными номерами. ниже правил, появляется
Вариант 3. Несколько таблиц
=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13) указать всю таблицуMAX быстродействии Excel будет,Как известно любому ищем;0)) на практике Вы примеров формул, которые«Номер области»
– это необязательный
«Ссылка» внешних пользователей.И наконец-то, несколько инойПример 1. Первая идяЛегко сообразить, что с ошибка # н/д.»Совпадений не найдено.ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)
Вариант 4. Ссылка на столбец / строку
в аргументе(МАКС). Формула находит скорее всего, не грамотному пользователю Excel,Думаю, ещё проще будет далеко не всегда помогут Вам легко. параметр, который определяет,. Нужный нам вариантХотелось бы рядом (не табличный) подход.
для решения задач помощью такой вариацииЕсли Попробуйте еще раз!»)В формуле, показанной выше,array максимум в столбце заметная, особенно вВПР понять на примере. знаете, какие строка справиться со многимиОткрывается окно аргументов. В точно или приблизительно
Вариант 5. Ссылка на ячейку
«Массив» с найденной ценой Как правило, каждый типа – этоИНДЕКСтип_сопоставления=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0)); искомое значение –(массив) функцииD последних версиях. Еслине может смотреть Предположим, у Вас и столбец Вам сложными задачами, перед поле искать значения. Мы. Он расположен первым вывести соответствующего поставщика раз, когда необходимо при помощи какого-тои двух функцийравен 1 или»Совпадений не найдено. этоINDEX
и возвращает значение же Вы работаете влево, а это есть вот такой нужны, и поэтому которыми функция«Ссылка» будем искать точные и по умолчанию и местонахождение товара. что-то искать в вида цикла поочерёдноПОИСКПОЗ не указан, значения Попробуйте еще раз!»)1(ИНДЕКС). из столбца с большими таблицами, значит, что искомое список столиц государств: требуется помощь функции
ВПРнам нужно указать значения, поэтому данный выделен. Поэтому нам Когда вычисляла каждую Excel, моментально на прочитать каждую ячейкуможно легко реализовать вИ теперь, если кто-нибудь, а массив поискаА теперь давайте испытаем
planetaexcel.ru
Примеры формул с функциями ИНДЕКС и ПОИСКПОЗ СУММПРОИЗВ в Excel
C которые содержат тысячи значение должно обязательноДавайте найдём население однойПОИСКПОЗбессильна. адреса всех трех аргумент не используется. остается просто нажать цену, использовала СУММПРОИЗВ, ум приходит пара из нашей таблицы
Поиск значений по столбцам таблицы Excel
двумерный поиск:просматриваемый_массив введет ошибочное значение, – это результат этот шаблон натой же строки:
строк и сотни находиться в крайнем из столиц, например,.В нескольких недавних статьях
диапазонов. Для этогоС помощью этого инструмента на кнопку хотя понимаю, что функций: ИНДЕКС и и сравнить еёЕсли таблица не одна,должен быть в формула выдаст вот умножения. Хорошо, что практике. Ниже Вы=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0)) формул поиска, Excel
левом столбце исследуемого
Формула массива или функции ИНДЕКС и СУММПРОИЗВ
Японии, используя следующуюФункция мы приложили все устанавливаем курсор в можно автоматизировать введение«OK» ИНДЕКС был бы ПОИСКПОЗ. Результат поиска с искомым словом. а их несколько, порядке возрастания. Например, такой результат:
же мы должны видите список самых=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0)) будет работать значительно диапазона. В случае формулу:MATCH усилия, чтобы разъяснить
- поле и выделяем
- аргументов. более грамотным решением. выглядит так: Если их значения то функция -2, -1, 0,Если Вы предпочитаете в перемножить и почему? населённых стран мира.
Результат: Beijing быстрее, при использовании
с=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))
(ПОИСКПОЗ) в Excel
начинающим пользователям основы первый диапазон с«Номер строки»Открывается окно аргументов функции А вот поФормула построена из блоков совпадают, то отображаетсяИНДЕКС 1, 2…, A, случае ошибки оставить Давайте разберем все Предположим, наша задача2.ПОИСКПОЗПОИСКПОЗ=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0)) ищет указанное значение функции зажатой левой кнопкойиИНДЕКС сути обратную к и имеет более имя соответствующего столбца.может извлечь данные
B и C…,
ячейку пустой, то по порядку: узнать население СШАMINи/Теперь давайте разберем, что в диапазоне ячеекВПР мыши. Затем ставим«Номер столбца». Как выше говорилось, ИНДЕКСу операцию изобразить или менее следующийКогда речь идет о из нужной строки ЛОЖЬ, ИСТИНА лишь можете использовать кавычки
Берем первое значение в в 2015 году.(МИН). Формула находитИНДЕКСИНДЕКС делает каждый элемент и возвращает относительнуюи показать примеры точку с запятой.
в функцию
у неё имеется не могу - вид: циклах Excel (за и столбца именно некоторые из них. («»), как значение столбцеХорошо, давайте запишем формулу. минимум в столбцевместо, столбец поиска может этой формулы:
позицию этого значения более сложных формул Это очень важно,ИНДЕКС три аргумента, а
Пример формулы поиска значений с функциями ИНДЕКС и ПОИСКПОЗ
никак не даются1*НЕ(ЕОШИБКА(ПОИСКПОЗ(F5;A2:A9;0))) исключением VBA, конечно, заданной таблицы. В
Если второго аргумента функцииA Когда мне нужноDВПР быть, как вФункция в диапазоне. для продвинутых пользователей. так как если. соответственно и три мне индексы.Изменяются только выделенные фрагменты. потому что там этом случае используетсятип_сопоставленияЕСЛИОШИБКА(Customer) на листе создать сложную формулуи возвращает значение. В целом, такая левой, так иMATCHНапример, если в диапазоне
Пример формулы функций ИНДЕКС и НЕ
Теперь мы попытаемся, вы сразу перейдетеПосмотрим, как это можно
поля для заполнения.В прикрепленном файле Для каждого столбца дело намного проще), следующий синтаксис:-1, значения в. Вот так:Main table
в Excel с из столбца замена увеличивает скорость в правой части(ПОИСКПОЗ) ищет значениеB1:B3 если не отговорить к выделению следующего сделать на конкретномВ поле
— итоговая таблица с помощью функции на ум приходят=ИНДЕКС((Диапазон1;Диапазон2;Диапазон3); Номер_строки; Номер_столбца; Номер_диапазона)
просматриваемый_массив
IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)и сравниваем его вложенными функциями, тоC работы Excel на диапазона поиска. Пример: «Japan» в столбцесодержатся значения New-York, Вас от использования массива, то его примере. Работаем все«Массив» с проблемой. ПОИСКПОЗ, мы проверяем в первую очередьОбратите особое внимание, чтодолжен быть вЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»») со всеми именами я сначала каждуютой же строки:13% Как находить значения,B Paris, London, тогдаВПР адрес просто заменит с той женужно указать адресSerge_007 удалось ли найти следующие решения: в этом случае порядке убывания.Надеюсь, что хотя бы
exceltable.com
Примеры функции ИНДЕКС и ПОИСКПОЗ с несколькими условиями Excel
покупателей в таблице вложенную записываю отдельно.=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))Влияние покажет эту возможность в ячейках цифру показать альтернативные способы после введения точки шла речь выше.
Его можно вбить200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($B5:$C8;СУММПРОИЗВ(($D5:$N8=$D11)*СТРОКА(1:4));СТОЛБЕЦ(A1)) выражение. Если нет,Формулы массива (или такие список диапазонов - — функция в этом учебнике,Lookup table функцийРезультат: LimaВПР в действии.B2:B10
3 реализации вертикального поиска с запятой выделяем
Отдельно у нас
Формула из комбинации функций ВЫБОР, ИНДЕКС и ПОИСКПОЗ
вручную. Но дляOlivia то функция возвращает функции, как СУММПРОИЗВ, заключается в скобки,ПОИСКПОЗ показалась Вам полезной.(A2:A13).ПОИСКПОЗ3.на производительность Excel2. Безопасное добавление или, и возвращает число, поскольку «London» – в Excel. следующий диапазон. Затем
имеется два дополнительных облегчения задачи мы: То, что нужно ошибку. С помощью которые работают с а сами диапазоны=MATCH(40,B2:B10,-1) Если Вы сталкивалисьЕсли совпадение найдено, уравнение, которые будут возвращатьAVERAGE особенно заметно, если удаление столбцов.3 это третий элементЗачем нам это? – опять ставим точку поля –
поступим иначе. Ставим. Еще и функции ЕОШИБКА мы массивами, хотя мы перечисляются через точкуАргумент
exceltable.com
формула, обратная ИНДЕКСу
с другими задачами возвращает номера строки и(СРЗНАЧ). Формула вычисляет рабочая книга содержитФормулы с функцией, поскольку «Japan» в в списке. спросите Вы. Да, с запятой и«Имя» курсор в соответствующее с индексом. проверяем выдала ли их не подтверждаем с запятой.
тип_сопоставления поиска, для которых1 столбца для функции среднее в диапазоне сотни сложных формулВПР списке на третьем=MATCH(«London»,B1:B3,0) потому что выделяем последний массив.и поле, а затемБольшое спасибо, Serge_007 функция ПОИСКПОЗ ошибку.
с помощью CtrЕсли во втором вариантев синтаксисе присваивается
не смогли найти(ИСТИНА), а еслиИНДЕКС
D2:D10 массива, таких как
=ПОИСКПОЗ(«London»;B1:B3;0)
excelworld.ru
ВПР
ПОИСКПОЗ в Excel
Автор: Неструев Саня · Опубликовано 15.02.2019 · Обновлено 15.02.2019
Microsoft Excel – мощный аналитический инструмент и средство для работы с таблицами. Изучив доступные функции и команды, вы сможете выполнять сложные операции и оптимизировать большие базы данных. В данной инструкции пойдет речь о функции ПОИСКПОЗ, ее назначении и комбинациях с другими командами.
Мы рассмотрим следующие темы:
- назначение и описание ПОИСКПОЗ;
- синтаксис формулы;
- пошаговая инструкция по набору;
- примеры использования;
- комбинации с другими командами в «Экселе».
Назначение ПОИСКПОЗ
ПОИСКПОЗ – функция для определения позиции значения относительно выбранного диапазона ячеек или таблицы. После ввода формулы данная функция автоматически ищет совпадения в указанном массиве. Если совпадения по заданным параметрам найдены, то ПОИСКПОЗ возвращает номер позиции.
На английском написание команды в «Эксель» выглядит как MATCH. Чаще всего используется в качестве вспомогательной функции вкупе с ИНДЕКС, ВПР, ВЫБОР и другими. Однако мы рассмотрим и одиночное использование.
Правильное написание
Формула включает в себя следующие элементы:
- ПОИСКПОЗ() – указание самой функции;
- Искомое значение, позицию которого необходимо узнать. Можно указывать ссылки на ячейки или вписывать само значение.
- Диапазон данных – массив (таблица, строка, столбец) данных, среди которых будет осуществляться поиск;
- Тип сопоставления – уточнение того, какое значение предстоит искать (равное указанному в формуле, меньшее или большее).
Итак, финальный вариант формулы выглядит следующим образом:
Если вам необходимо одиночное использование функции, то она должна иметь строго указанный вид. В противном случае вы можете получить неверный результат или ошибку Н/Д.
Типы сопоставления
Рассмотрим подробнее разницу между несколькими типами сопоставления:
- 1 или без указания данного параметра – определяет наибольшее значение, которое максимально приближено к указанному в формуле;
- 0 – первое значение в диапазоне, которое равно искомому;
- -1 – наименьшее значение относительно искомого.
Данный аргумент необязателен к использованию в каждой формуле. Актуальным становится при работе с числовыми массивами, поскольку определить меньшее или большее текстовое значение невозможно.
Ввод команды в Excel
Теперь разберемся, как вводится формула на практике. Первый вариант добавления – это отдельное меню со списком функций:
- Сверху над основной таблицей находим иконку функции и жмем ее.
- В открывшемся окне нужно выбрать категорию «Ссылки и массивы», затем найти нужный вариант в списке и нажать «ОК».
- Теперь появятся поля для ввода данных. Заполнять их можно вручную или указывать с помощью выделения ячеек таблицы.
Для редактирования формулы можно использовать верхнюю строку. С помощью кнопки креста удаляется введенная строка.
Примеры использования
Теперь рассмотрим несколько примеров использования ПОИСКПОЗ. Ниже представлены основные сценарии, когда может пригодиться команда.
Поиск по одному критерию
Начнем с простого варианта – это поиск с одним искомым значением. Работает по строкам и по столбцам. Также можно использовать массив в виде таблицы. Для нахождения позиции значения делаем следующее:
- Попробуем найти позицию значения 4. Для этого вписываем команду ПОИСКПОЗ и в скобках указываем адрес ячейки с цифрой. Вы можете вписать само значение, но тогда придется менять формулу каждый раз. А если указать ссылку, то пользователь сможет автоматизировать процесс.
- Ставим точку с запятой и выделяем весь массив. Он может состоять как из одного столбца, как в примере, так и из полноценной таблицы.
- Теперь указываем тип сопоставления. Если хотим найти точное совпадение, вписываем 0.
- Жмем клавишу Enter и видим готовый результат.
- Если поменять значение в ячейке, ссылка на которую указана в начале формулы, то итоговое значение сменится.
Подобным образом функция работает и для текстовых значений. Видим таблицу с месяцами года. Допустим, хотим узнать расположение августа относительно данного массива. Так же указываем ссылку на ячейку с названием месяца, затем выделяем массив и добавляем тип сопоставления. Если речь идет о текстовых значениях, то необходимо ставить 0.
И снова получаем правильный результат. Теперь мы убедились, что функция работает исправно, поэтому можно применять ее в более сложных и объемных таблицах, где не получится решить данную задачу вручную.
Поиск по двум критериям
Этот пример включает в себя указание нескольких условий. Применяется для массивов с несколькими значениями. Для примера рассмотрим простую таблицу с автомобилями и годами выпуска. Мы видим, что несколько марок авто повторяются, но даты напротив них разные. Попробуем найти позицию автомобиля с конкретной датой выпуска.
Для последующей автоматизации поиска можно создать простую таблицу. В дальнейшем в ней можно менять только название машины и год выпуска.
Поскольку поиск будет осуществляться по двум признакам, придется использовать правила при работе с массивами. Начинаем вводить формулы с привычного ПОИСКПОЗ и указываем ссылку на ячейку с названием марки. После этого ставим знак & и указываем ссылку на ячейку с нужной датой выпуска.
Теперь нужно указать два диапазона – столбцы с марками и датами. Для этого выделяем первый и после знака & выделяем второй столбец. В конце ставим 0 для поиска точного значения.
Для вычисления позиции необходимо воспользоваться комбинацией Ctrl + Shift + Enter . Так вы запустите выполнение функции в массиве.
Взаимодействие с другими операторами
Теперь рассмотрим пример использования функции ПОИСКПОЗ с оператором ИНДЕКС. На практике ее можно комбинировать со многими другими функциями, если знать, по каким принципам она работает.
ИНДЕКС – функция поиска совпадений по двум параметрам. Данная формула является аналогом вышеописанного примера, когда необходимо вернуть значение по нескольким условиям. ИНДЕКС используется только в случае двумерного поиска, в то время, когда ВПР, ГПР или ПРОСМОТР предназначены для одномерного.
Допустим, у нас есть таблица со статистикой продаж сети автосалонов по месяцам. Попробуем найти количество проданных автомобилей марки Audi в сентябре. Начинаем составление формулы с ИНДЕКС и указания диапазона всего массива.
Вторым аргументом будет функция ПОИСКПОЗ с указанием ссылки на ячейку с названием месяца и диапазона столбца массива:
Последний аргумент – еще одна ПОИСКПОЗ, но теперь с ссылками на название марки и строкой с автомобилями:
Жмем на Enter и видим результат в соответствующей ячейке. Проверяем по нашей таблице.
Теперь можно менять значения в нашей таблице справа и получать новые значения:
Вы можете вычислить позицию каждой ячейки отдельно через ПОИСКПОЗ, а затем воспользоваться короткой функцией ИНДЕКС с указанием ссылок на расположение марки и месяца в таблице.
По представленному примеру описываемый оператор может использоваться во многих формулах. Например:
- ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ));
- ЕСЛИ(ЕНД(ПОИСКПОЗ(ИСТИНА;(СОВПАД))));
- ИНДЕКС(ПОИСКПОЗ(МИН(ЕСЛИ))) и другие.
Если вы знакомы с функционалом VBA для Microsoft Excel, то сможете создать надстройку для автоматического вычисления и поиска необходимых значений.
Видеоинструкция
Подробно и наглядно про данную возможность Excel рассказывается в представленном видеоролике.
Заключение
Мы рассмотрели основные случаи использования оператора ПОИСКПОЗ. Теперь вы сможете применять его по назначению и комбинировать с подходящими функциями.
Функции MS Excel ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) – более гибкая альтернатива ВПР
Многие пользователи знают и применяют формулу ВПР. Известно также, что ВПР имеет ряд особенностей и ограничений, которые несложно обойти. Однако есть нюанс, который значительно ограничивает возможности функции ВПР.
ВПР требует, чтобы в диапазоне с искомыми данными столбец критериев всегда был первым слева. Это обстоятельство, конечно, является ограничением ВПР. Как же быть, если искомые данные находятся левее столбца с критерием? Можно, конечно, расположить столбцы в нужном порядке, что в целом, является неплохим выходом из ситуации. Но бывает так, что сделать этого нельзя, или трудно. К примеру, вы работаете в чужом документе или регулярно получаете новый отчет. В общем, нужно решение, не зависящее от расположения столбцов. Такое решение существует.
Нужно воспользоваться комбинацией из двух функций: ИНДЕКС и ПОИСКПОЗ. Формула работает следующим образом. ИНДЕКС отсчитывает необходимое количество ячеек вниз в диапазоне искомых значений. Количество отсчитываемых ячеек определяется по столбцу критериев функцией ПОИСКПОЗ. Работу комбинации этих функций удобно рассмотреть с середины, где вначале находится номер ячейки с подходящим критерием, а затем этот номер подставляется в ИНДЕКС.
Таким образом, чтобы подтянуть значение цены, соответствующее первому коду (книге), нужно прописать такую формулу.
Следует обратить внимание на корректность ссылок, чтобы при копировании формулы ничего не «съехало». Протягиваем формулу вниз. Если в таблице, откуда подтягиваются данные, нет искомого критерия, то функция выдает ошибку #Н/Д.
Довольно стандартная ситуация, с которой успешно справляется функция ЕСЛИОШИБКА. Она перехватывает ошибки и вместо них выдает что-либо другое, например, нули.
Конструкция формулы будет следующая:
Вот, собственно, и все.
Таким образом, комбинация функций ИНДЕКС и ПОИСКПОЗ является полной заменой ВПР и обладает дополнительным преимуществом: умеет находить данные слева от столбца с критерием. Кроме того, сами столбцы можно двигать как угодно, лишь бы ссылка не съехала, чего нельзя проделать с ВПР, т.к. количество столбцов там указывается конкретным числом. Посему комбинация ИНДЕКС и ПОИСКПОЗ более универсальна, чем ВПР.
Ниже видеоурок по работе функций ИНДЕКС и ПОИСКПОЗ.
Функция ПОИСКПОЗ в Excel
В этой статье рассматривается синтаксис функции ПОИСКПОЗ Excel, а также как использовать функцию ПОИСКПОЗ в Excel с примерами формул.
Также в этой статье рассматривается комбинация формул ИНДЕКС ПОИСКПОЗ в Excel.
В Microsoft Excel существует множество различных функций поиска, которые могут помочь найти определенное значение в ряде ячеек, а ПОИСКПОЗ — одна из них. ПОИСКПОЗ на английском MATCH , в основном, идентифицирует относительное положение элемента в диапазоне ячеек. Однако функция ПОИСКПОЗ Excel в сочетании с другими функциями может сделать гораздо больше.
Функция ПОИСКПОЗ в Excel – синтаксис и использование
Функция ПОИСКПОЗ в Excel ищет заданное значение в диапазоне ячеек и возвращает относительное положение этого значения.
Синтаксис формулы ПОИСКПОЗ выглядит следующим образом:
Искомое_значение (обязательный аргумент) – значение, которое вы хотите найти. Это может быть числовое, текстовое или логическое значение, а также ссылка на ячейку.
Просматриваемый_массив (обязательный аргумент) – диапазон ячеек для поиска.
Тип_сопоставления (необязательный аргумент) – определяет тип соответствия. Это может быть одно из следующих значений: 1, 0, -1.
- 1 или отсутствует (по умолчанию) – находит наибольшее значение в массиве, которое меньше или равно значению поиска. Массив поиска должен быть отсортирован в порядке возрастания, от самого маленького до большого или от A до Z.
- 0 – находит первое значение в массиве, которое в точности равно значению поиска. Сортировка не требуется.
- -1 – находит наименьшее значение в массиве, которое больше или равно значению поиска. Массив поиска должен быть отсортирован в порядке убывания, от самого большого до самого маленького или от Z до A.
Чтобы лучше разобраться в данной функции, давайте напишем простую формулу ПОИСКПОЗ, основанную на следующих данных: фамилии студентов в столбце A и их баллы по экзаменам в столбце B, отсортированные от самых высоких до самых низких. Чтобы узнать, где среди других находится конкретный студент (например, студентка Виноградова), используйте эту простую формулу:
=ПОИСКПОЗ(E1; A2:A8; 0)
При желании вы можете поместить значение поиска в ячейку (E1 в данном примере) и сослаться на эту ячейку в формуле ПОИСКПОЗ Excel:
Функция ПОИСКПОЗ в Excel – Пример использования функции ПОИСКПОЗ в Excel
Как вы видите на изображении выше, фамилии студентов вводятся в произвольном порядке, поэтому мы устанавливаем аргумент тип_сопоставления равным 0 (точное совпадение), поскольку только этот тип соответствия не требует сортировки значений в массиве поиска. Технически формула ПОИСКПОЗ возвращает относительное положение студентки Виноградовой в исследуемом диапазоне. Но поскольку оценки сортируются от самых высоких до самых низких, это также говорит нам о том, что Виноградова пятая по счету среди всех учеников.
Особенности функции ПОИСКПОЗ Excel
Как вы только что видели, использовать ПОИСКПОЗ в Excel легко. Однако, как и у любой функции Excel, у нее есть несколько особенностей, о которых следует знать:
- Функция ПОИСКПОЗ возвращает относительное положение значения поиска в массиве, а не самого значения.
- ПОИСКПОЗ не зависит от регистра , что означает, что она не различает строчные и прописные символы при работе с текстовыми значениями.
- Если массив поиска содержит несколько вхождений искомого значения, возвращается позиция первого значения.
- Если искомое значение не найдено в просматриваемом массиве, возвращается ошибка #Н/Д.
Использование ПОИСКПОЗ в Excel – примеры формул
Теперь, когда вы знаете основные возможности функции ПОИСКПОЗ в Excel, давайте рассмотрим еще несколько примеров формул, которые выходят за рамки основ.
Формула ПОИСКПОЗ Excel с подстановочными знаками
Как и многие другие функции Excel, ПОИСКПОЗ распознает следующие подстановочные знаки:
- Вопросительный знак (?) — заменяет любой символ
- Звездочка (*) — заменяет любую последовательность символов
Примечание . Подстановочные знаки могут использоваться только в формулах ПОИСКПОЗ с параметром тип_сопоставления равному 0.
Формула ПОИСКПОЗ с подстановочными знаками полезна в ситуациях, когда требуется осуществить поиск не всей текстовой строки, а только некоторых символов или некоторой части строки. Чтобы проиллюстрировать это, рассмотрим следующий пример.
Предположим, что у вас есть список компаний и данные их продаж за последнюю неделю. Вы хотите найти относительное положение определенной компании в списке (отсортированному по объему продаж в порядке убывания), но вы не можете точно вспомнить его имя, хотя вы помните несколько первых букв.
Предполагая, что названия компаний находятся в диапазоне A2:A8, и вы ищете название, начинающееся с «восток», формула выглядит следующим образом:
=ПОИСКПОЗ(«восток*»; A2:A8; 0)
Чтобы сделать нашу формулу ПОИСКПОЗ более универсальной, вы можете ввести значение поиска в любой ячейке (E1 в этом примере) и объединить эту ячейку с подстановочным символом, например:
=ПОИСКПОЗ(E1&»*»; A2:A8; 0)
Как показано на изображении ниже, формула возвращает 2 позицию, которая соответствует компании « Восток-авто »:
Функция ПОИСКПОЗ в Excel – Пример функции ПОИСКПОЗ Excel с подстановочными знаками
Чтобы заменить только один символ в значении поиска, используйте подстановочный оператор «?», например:
Вышеуказанная формула будет соответствовать названию « Бейкер » и вернет его относительное положение, которое равно 5.
Формула ПОИСКПОЗ с учетом регистра
Как уже упоминалось в начале этой статьи, функция ПОИСКПОЗ Excel не различает символы верхнего и нижнего регистра. Чтобы создать формулу соответствия с учетом регистра, используйте ПОИСКПОЗ в сочетании с функцией СОВПАД , которая в точности сравнивает ячейки, включая регистр символа.
Чувствительность к регистру формулы для сопоставления данных в Excel заключается в следующем:
Логика этой формулы такова:
- Функция СОВПАД сравнивает значение поиска с каждым элементом просматриваемого массива. Если сравниваемые ячейки в точности равны, функция возвращает ИСТИНУ, или ЛОЖЬ в противном случае.
- Далее функция ПОИСКПОЗ сравнивает ИСТИНУ (которая является ее искомым_значением) с каждым значением в массиве, возвращаемом СОВПАД, и возвращает позицию первого совпадения
Обратите внимание , что это формула массива, которая требует нажатия Ctrl+Shift+Enter для правильной обработки.
Пусть значение поиска находится в ячейке E1, а массив поиска — A2:A8, тогда формула выглядит следующим образом:
=ПОИСКПОЗ(ИСТИНА; СОВПАД(A2:A8; E1);0)
На следующем изображении демонстрируется формула ПОИСКПОЗ с учетом регистра в Excel:
Функция ПОИСКПОЗ в Excel – Пример функции ПОИСКПОЗ Excel с учетом регистра
Сравнить 2 столбца на совпадения и различия (ЕНД и ПОИСКПОЗ)
Проверка двух списков на совпадения и различия – одна из наиболее распространенных задач в Excel, и это можно сделать различными способами. Использование формулы ЕНД/ПОИСКПОЗ является одним из них:
=ЕСЛИ(ЕНД(ПОИСКПОЗ (1-е значение в Списке 1; Список 2; 0)); «Нет в Списке 1»; «»)
Для любого значения из Списка 2, отсутствующего в Списке 1, формула возвращает «Нет в Списке 1». И вот как это происходит:
- Функция ПОИСКПОЗ выполняет поиск значения из Списка 1 в Списке 2. Если значение найдено, она возвращает относительное положение, в противном случае ошибку #Н/Д.
- Функция ЕНД в Excel выполняет только одно: проверяет наличие ошибок #Н/Д (что означает «недоступно»). Если заданное значение является ошибкой #Н/Д, функция возвращает ИСТИНА, в противном случае – ЛОЖЬ. В нашем случае ИСТИНА означает, что значение из Списка 1 не найдено в Списке 2 (ПОИСКПОЗ возвращает ошибку #Н/Д).
- Поскольку для других пользователей будет сложно интерпретировать результаты в формате ИСТИНА/ЛОЖЬ, то мы будем использовать функцию ЕСЛИ для отображения текста «Нет в Списке 1» для значений, которых нет в Списке 1.
Предположим, что нам необходимо сравнить значения в столбце B со значениями в столбце A, формула примет следующую форму (где B2 — самая верхняя ячейка):
=ЕСЛИ(ЕНД(ПОИСКПОЗ(B2;A:A;0));»Нет в Списке 1″; «»)
Как вы помните, функция ПОИСКПОЗ Excel сама по себе не учитывает регистр. Чтобы заставить ее различать регистр, вставьте функцию СОВПАД в аргумент просматриваемый_массив и не забудьте нажать Ctrl+Shift+Enter , чтобы завершить эту формулу массива :
=ЕСЛИ(ЕНД(ПОИСКПОЗ(ИСТИНА; СОВПАД(A:A;B2); 0));»Нет в Списке 1″; «»)
На следующем изображении демонстрируются обе формулы в действии:
Функция ПОИСКПОЗ в Excel – Сравнение 2 столбцов на совпадения с использованием ЕНД и ПОИСКПОЗ
ИНДЕКС и ПОИСКПОЗ в Excel
С функцией ПОИСКПОЗ Excel мы уже знакомы. Давайте теперь рассмотрим, как можно использовать комбинацию ИНДЕКС ПОИСКПОЗ в Excel. Начнем с синтаксиса функции ИНДЕКС.
Синтаксис и использование функции ИНДЕКС
Функция ИНДЕКС Excel возвращает значение в массиве, основанное на указанных вами строках и столбцах. Синтаксис функции ИНДЕКС прост:
ИНДЕКС(массив; номер_строки; [номер_столбца])
Вот очень простое объяснение каждого параметра:
- массив – это диапазон ячеек, из которого вы хотите вернуть значение.
- номер_строки – номер строки в массиве, из которого вы хотите вернуть значение. Если этот параметр опущен, требуется номер_столбца.
- номер_столбца – номер столбца в массиве, из которого вы хотите вернуть значение. Если этот параметр опущен, требуется номер_строки.
Если используются оба параметра номер_строки и номер_столбца, функция ИНДЕКС возвращает значение в ячейке на пересечении указанной строки и столбца.
Вот простейший пример формулы ИНДЕКС:
Формула ищет в ячейках от A1 до C10 и возвращает значение ячейки во второй строке и третьем столбце, то есть в ячейке C2.
Очень легко, не так ли? Однако при работе с реальными данными вы вряд ли знаете, какие строки и столбцы вам нужны, поэтому вам нужна помощь функции ПОИСКПОЗ.
ИНДЕКС ПОИСКПОЗ в Excel пример
Теперь, когда вы знаете синтаксис и основы этих двух функций, у вас наверняка уже сложилось понимание того, как работают ИНДЕКС ПОИСКПОЗ Excel.
Функция ПОИСКПОЗ определяет относительное положение значения поиска в указанном диапазоне ячеек. А функция ИНДЕКС принимает это число и возвращает значение в соответствующую ячейку.
Комбинацию ИНДЕКС ПОИСКПОЗ в Excel можно представить таким образом:
=ИНДЕКС(столбец для возвращения значения, ПОИСКПОЗ (значение поиска, столбец для поиска, 0))
Для лучшего понимания рассмотрим наглядный пример. Предположим, у нас есть список стран с населением, подобных этому:
Функция ПОИСКПОЗ в Excel – Исходные данные для формулы ИНДЕКС ПОИСКПОЗ в Excel
Найдем численность населения, например, России, используя следующую формулу ИНДЕКС ПОИСКПОЗ:
Теперь давайте разберем, что на самом деле выполняет каждый компонент этой формулы:
- Функция ПОИСКПОЗ выполняет поиск значения «Россия» в столбце B, точнее в ячейках B2:B11 и возвращает номер 7, потому что «Россия» находится на седьмом месте в списке.
- Функция ИНДЕКС принимает «7» во втором параметре (номер_строки), который указывает, из какой строки вы хотите вернуть значение, и превращается в простую формулу =ИНДЕКС($C$2:$C$11, 7). То есть формула производит поиск в ячейках C2-C11 и возвращает значение ячейки в седьмой строке, то есть ячейке C8, потому что мы начинаем отсчет со второй строки.
И вот результат, который мы получаем в Excel:
Функция ПОИСКПОЗ в Excel – ИНДЕКС ПОИСКПОЗ пример формулы
Обратите внимание! Количество строк и столбцов в массиве ИНДЕКС должно соответствовать значениям в параметрах номер_строки и/или номер_столбца функции ПОИСКПОЗ соответственно. В противном случае формула вернет неверный результат.
5 вариантов использования функции ИНДЕКС (INDEX)
Бывает у вас такое: смотришь на человека и думаешь «что за @#$%)(*?» А потом при близком знакомстве оказывается, что он знает пять языков, прыгает с парашютом, имеет семеро детей и черный пояс в шахматах, да и, вообще, добрейшей души человек и умница?
Так и в Microsoft Excel: есть несколько похожих функций, про которых фраза «внешность обманчива» работает на 100%. Одна из наиболее многогранных и полезных — функция ИНДЕКС (INDEX) . Далеко не все пользователи Excel про нее знают, и еще меньше используют все её возможности. Давайте разберем варианты ее применения, ибо их аж целых пять.
Вариант 1. Извлечение данных из столбца по номеру ячейки
Самый простой случай использования функции ИНДЕКС – это ситуация, когда нам нужно извлечь данные из одномерного диапазона-столбца, если мы знаем порядковый номер ячейки. Синтаксис в этом случае будет:
=ИНДЕКС( Диапазон_столбец ; Порядковый_номер_ячейки )

Этот вариант известен большинству продвинутых пользователей Excel. В таком виде функция ИНДЕКС часто используется в связке с функцией ПОИСКПОЗ (MATCH) , которая выдает номер искомого значения в диапазоне. Таким образом, эта пара заменяет легендарную ВПР (VLOOKUP) :
. но, в отличие от ВПР, могут извлекать значения левее поискового столбца и номер столбца-результата высчитывать не нужно.
Вариант 2. Извлечение данных из двумерного диапазона
Если диапазон двумерный, т.е. состоит из нескольких строк и столбцов, то наша функция будет использоваться немного в другом формате:
=ИНДЕКС( Диапазон ; Номер_строки ; Номер_столбца )

Т.е. функция извлекает значение из ячейки диапазона с пересечения строки и столбца с заданными номерами.
Легко сообразить, что с помощью такой вариации ИНДЕКС и двух функций ПОИСКПОЗ можно легко реализовать двумерный поиск:

Вариант 3. Несколько таблиц
Если таблица не одна, а их несколько, то функция ИНДЕКС может извлечь данные из нужной строки и столбца именно заданной таблицы. В этом случае используется следующий синтаксис:
=ИНДЕКС( (Диапазон1;Диапазон2;Диапазон3) ; Номер_строки ; Номер_столбца ; Номер_диапазона )
Обратите особое внимание, что в этом случае первый аргумент – список диапазонов — заключается в скобки, а сами диапазоны перечисляются через точку с запятой.
Вариант 4. Ссылка на столбец / строку
Если во втором варианте использования функции ИНДЕКС номер строки или столбца задать равным нулю (или просто не указать), то функция будет выдавать уже не значение, а ссылку на диапазон-столбец или диапазон-строку соответственно:

Обратите внимание, что поскольку ИНДЕКС выдает в этом варианте не конкретное значение ячейки, а ссылку на диапазон, то для подсчета потребуется заключить ее в дополнительную функцию, например СУММ (SUM) , СРЗНАЧ (AVERAGE) и т.п.
Вариант 5. Ссылка на ячейку
Общеизвестно, что стандартная ссылка на любой диапазон ячеек в Excel выглядит как Начало-Двоеточие-Конец, например A2:B5. Хитрость в том, что если взять функцию ИНДЕКС в первом или втором варианте и подставить ее после двоеточия, то наша функция будет выдавать уже не значение, а адрес, и на выходе мы получим полноценную ссылку на диапазон от начальной ячейки до той, которую нашла ИНДЕКС:
Нечто похожее можно реализовать функцией СМЕЩ (OFFSET) , но она, в отличие от ИНДЕКС, является волатильной, т.е. пересчитывается каждый раз при изменении любой ячейки листа. ИНДЕКС же работает более тонко и запускает пересчет только при изменении своих аргументов, что ощутимо ускоряет расчет в тяжелых книгах по сравнению со СМЕЩ.
Один из весьма распространенных на практике сценариев применения ИНДЕКС в таком варианте — это сочетание с функцией СЧЁТЗ (COUNTA) , чтобы получить автоматически растягивающиеся диапазоны для выпадающих списков, сводных таблиц и т.д.
ПОИСКПОЗ (функция ПОИСКПОЗ)
Функция ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне. Например, если диапазон A1:A3 содержит значения 5, 25 и 38, то формула =ПОИСКПОЗ(25;A1:A3;0) возвращает значение 2, поскольку элемент 25 является вторым в диапазоне.
Совет: Функцией ПОИСКПОЗ следует пользоваться вместо одной из функций ПРОСМОТР, когда требуется найти позицию элемента в диапазоне, а не сам элемент. Например, функцию ПОИСКПОЗ можно использовать для передачи значения аргумента номер_строки функции ИНДЕКС.
Аргументы функции ПОИСКПОЗ описаны ниже.
Искомое_значение. Обязательный аргумент. Значение, которое сопоставляется со значениями в аргументе просматриваемый_массив. Например, при поиске номера в телефонной книге имя абонента указывается в качестве искомого значения, а нужным значением будет номер телефона.
Аргумент искомое_значение может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, содержащую такое значение.
Просматриваемый_массив Обязательный аргумент. Диапазон ячеек, в которых производится поиск.
Тип_сопоставления. Необязательный аргумент. Число -1, 0 или 1. Аргумент тип_сопоставления указывает, каким образом в Microsoft Excel искомое_значение сопоставляется со значениями в аргументе просматриваемый_массив. По умолчанию в качестве этого аргумента используется значение 1.
В приведенной ниже таблице описано, как функция находит значения в зависимости от аргумента тип_сопоставления.
Функция INDEX (ИНДЕКС) в Excel используется для получения данных из таблицы, при условии что вы знаете номер строки и столбца, в котором эти данные находятся.
Например, в таблице ниже, вы можете использовать эту функцию для того, чтобы получить результаты экзамена по Физике у Андрея, зная номер строки и столбца, в которых эти данные находятся.
Содержание
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Примеры использования функции ИНДЕКС в Excel
- Пример 1. Ищем результаты экзамена по физике для Алексея
- Пример 2. Создаем динамический поиск значений с использованием функций ИНДЕКС и ПОИСКПОЗ
- Пример 3. Создаем динамический поиск значений с использованием функций INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ) и выпадающего списка
- Пример 4. Использование трехстороннего поиска с помощью INDEX (ИНДЕКС) / MATCH (ПОИСКПОЗ)
Что возвращает функция
Возвращает данные из конкретной строки и столбца табличных данных.
Синтаксис
=INDEX (array, row_num, [col_num]) — английская версия
=INDEX (array, row_num, [col_num], [area_num]) — английская версия
=ИНДЕКС(массив; номер_строки; [номер_столбца]) — русская версия
=ИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области]) — русская версия
Аргументы функции
- array (массив) — диапазон ячеек или массив данных для поиска;
- row_num (номер_строки) — номер строки, в которой находятся искомые данные;
- [col_num] ([номер_столбца]) (необязательный аргумент) — номер колонки, в которой находятся искомые данные. Этот аргумент необязательный. Но если в аргументах функции не указаны критерии для row_num (номер_строки), необходимо указать аргумент col_num (номер_столбца);
- [area_num] ([номер_области]) — (необязательный аргумент) — если аргумент массива состоит из нескольких диапазонов, то это число будет использоваться для выбора всех диапазонов.
Дополнительная информация
- Если номер строки или колонки равен “0”, то функция возвращает данные всей строки или колонки;
- Если функция используется перед ссылкой на ячейку (например, A1), она возвращает ссылку на ячейку вместо значения (см. примеры ниже);
- Чаще всего INDEX (ИНДЕКС) используется совместно с функцией MATCH (ПОИСКПОЗ);
- В отличие от функции VLOOKUP (ВПР), функция INDEX (ИНДЕКС) может возвращать данные как справа от искомого значения, так и слева;
- Функция используется в двух формах — Массива данных и Формы ссылки на данные:
— Форма «Массива» используется когда вы хотите найти значения, основанные на конкретных номерах строк и столбцов таблицы;
— Форма «Ссылок на данные» используется при поиске значений в нескольких таблицах (используете аргумент [area_num] ([номер_области]) для выбора таблицы и только потом сориентируете функцию по номеру строки и столбца.
Примеры использования функции ИНДЕКС в Excel
Пример 1. Ищем результаты экзамена по физике для Алексея
Предположим, у вас есть результаты экзаменов в табличном виде по нескольким студентам:
Для того, чтобы найти результаты экзамена по физике для Андрея нам нужна формула:
=INDEX($B$3:$E$9,3,2) — английская версия
=ИНДЕКС($B$3:$E$9;3;2) — русская версия
В формуле мы определили аргумент диапазона данных, где мы будем искать данные $B$3:$E$9. Затем, указали номер строки “3”, в которой находятся результаты экзамена для Андрея, и номер колонки “2”, где находятся результаты экзамена именно по физике.
Пример 2. Создаем динамический поиск значений с использованием функций ИНДЕКС и ПОИСКПОЗ
Не всегда есть возможность указать номера строки и столбца вручную. У вас может быть огромная таблица данных, отображение данных которой вы можете сделать динамическим, чтобы функция автоматически идентифицировала имя или экзамен, указанные в ячейках, и дала правильный результат.
Пример динамического отображения данных ниже:
Для динамического отображения данных мы используем комбинацию функций INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ).
Вот такая формула поможет нам добиться результата:
=INDEX($B$3:$E$9,MATCH($G$4,$A$3:$A$9,0),MATCH($H$3,$B$2:$E$2,0)) — английская версия
=ИНДЕКС($B$3:$E$9;ПОИСКПОЗ($G$4;$A$3:$A$9;0);ПОИСКПОЗ($H$3;$B$2:$E$2;0)) — русская версия
В формуле выше, не используя сложного программирования, мы с помощью функции MATCH (ПОИСКПОЗ) сделали отображение данных динамическим.
Динамический отображение строки задается следующей частью формулы —
MATCH($G$4,$A$3:$A$9,0) — английская версия
ПОИСКПОЗ($G$4;$A$3:$A$9;0) — русская версия
Она сканирует имена студентов и определяет значение поиска ($G$4 в нашем случае). Затем она возвращает номер строки для поиска в наборе данных. Например, если значение поиска равно Алексей, функция вернет “1”, если это Максим, оно вернет “4” и так далее.
Динамическое отображение данных столбца задается следующей частью формулы —
MATCH($H$3,$B$2:$E$2,0) — английская версия
ПОИСКПОЗ($H$3;$B$2:$E$2;0) — русская версия
Она сканирует имена объектов и определяет значение поиска ($H$3 в нашем случае). Затем она возвращает номер столбца для поиска в наборе данных. Например, если значение поиска Математика, функция вернет “1”, если это Физика, функция вернет “2” и так далее.

Пример 3. Создаем динамический поиск значений с использованием функций INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ) и выпадающего списка
На примере выше мы вручную вводили имена студентов и названия предметов. Вы можете сэкономить время на вводе данных, используя выпадающие списки. Это актуально, когда количество данных огромное.
Используя выпадающие списки, вам нужно просто выбрать из списка имя студента и функция автоматически найдет и подставит необходимые данные.
Пример ниже:
Используя такой подход, вы можете создать удобный дашборд, например для учителя. Ему не придется заниматься фильтрацией данных или прокруткой листа со студентами, для того чтобы найти результаты экзамена конкретного студента, достаточно просто выбрать имя и результаты динамически отразятся в лаконичной и удобной форме.
Для того, чтобы осуществить динамическую подстановку данных с использованием функций INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ) и выпадающего списка, мы используем ту же формулу, что в Примере 2:
=INDEX($B$3:$E$9,MATCH($G$4,$A$3:$A$9,0),MATCH($H$3,$B$2:$E$2,0)) — английская версия
=ИНДЕКС($B$3:$E$9;ПОИСКПОЗ($G$4;$A$3:$A$9;0);ПОИСКПОЗ($H$3;$B$2:$E$2;0)) — русская версия
Единственное отличие, от Примера 2, мы на месте ввода имени и предмета создадим выпадающие списки:
- Выбираем ячейку, в которой мы хотим отобразить выпадающий список с именами студентов;
- Кликаем на вкладку “Data” => Data Tools => Data Validation;
- В окне Data Validation на вкладке “Settings” в подразделе Allow выбираем “List”;
- В качестве Source нам нужно выбрать диапазон ячеек, в котором указаны имена студентов;
- Кликаем ОК
Теперь у вас есть выпадающий список с именами студентов в ячейке G5. Таким же образом вы можете создать выпадающий список с предметами.
Пример 4. Использование трехстороннего поиска с помощью INDEX (ИНДЕКС) / MATCH (ПОИСКПОЗ)
Функция INDEX (ИНДЕКС) может быть использована для обработки трехсторонних запросов.
Что такое трехсторонний поиск?
В приведенных выше примерах мы использовали одну таблицу с оценками для студентов по разным предметам. Это пример двунаправленного поиска, поскольку мы используем две переменные для получения оценки (имя студента и предмет).
Теперь предположим, что к концу года студент прошел три уровня экзаменов: «Вступительный», «Полугодовой» и «Итоговый экзамен».
Трехсторонний поиск — это возможность получить отметки студента по заданному предмету с указанным уровнем экзамена.
Вот пример трехстороннего поиска:
В приведенном выше примере, кроме выбора имени студента и названия предмета, вы также можете выбрать уровень экзамена. Основываясь на уровне экзамена, формула возвращает соответствующее значение из одной из трех таблиц.
Для таких расчетов нам поможет формула:
=INDEX(($B$3:$E$7,$B$11:$E$15,$B$19:$E$23),MATCH($G$4,$A$3:$A$7,0),MATCH($H$3,$B$2:$E$2,0),IF($H$2=»Вступительный»,1,IF($H$2=»Полугодовой»,2,3))) — английская версия
=ИНДЕКС(($B$3:$E$7;$B$11:$E$15;$B$19:$E$23);ПОИСКПОЗ($G$4;$A$3:$A$7;0);ПОИСКПОЗ($H$3;$B$2:$E$2;0); ЕСЛИ($H$2=»Вступительный»;1;ЕСЛИ($H$2=»Полугодовой»;2;3))) — русская версия
Давайте разберем эту формулу, чтобы понять, как она работает.
Эта формула принимает четыре аргумента. Функция INDEX (ИНДЕКС) — одна из тех функций в Excel, которая имеет более одного синтаксиса.
=INDEX (array, row_num, [col_num]) — английская версия
=INDEX (array, row_num, [col_num], [area_num]) — английская версия
=ИНДЕКС(массив; номер_строки; [номер_столбца]) — русская версия
=ИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области]) — русская версия
По всем вышеприведенным примерам мы использовали первый синтаксис, но для трехстороннего поиска нам нужно использовать второй синтаксис.
Рассмотрим каждую часть формулы на основе второго синтаксиса.
- array (массив) – ($B$3:$E$7,$B$11:$E$15,$B$19:$E$23):Вместо использования одного массива, в данном случае мы использовали три массива в круглых скобках.
- row_num (номер_строки) – MATCH($G$4,$A$3:$A$7,0): функция MATCH (ПОИСКПОЗ) используется для поиска имени студента для ячейки $G$4 из списка всех студентов.
- col_num (номер_столбца) – MATCH($H$3,$B$2:$E$2,0): функция MATCH (ПОИСКПОЗ) используется для поиска названия предмета для ячейки $H$3 из списка всех предметов.
- [area_num] ([номер_области]) – IF($H$2=”Вступительный”,1,IF($H$2=”Полугодовой”,2,3)): Значение номера области сообщает функции INDEX (ИНДЕКС), какой массив с данными выбрать. В этом примере у нас есть три массива в первом аргументе. Если вы выберете «Вступительный» из раскрывающегося меню, функция IF (ЕСЛИ) вернет значение “1”, а функция INDEX (ИНДЕКС) выберут 1-й массив из трех массивов ($B$3:$E$7).
Уверен, что теперь вы подробно изучили работу функции INDEX (ИНДЕКС) в Excel!






































































































































