Функция ИНДЕКС возвращает значение или ссылку на значение из таблицы или диапазона.
Функцию ИНДЕКС можно использовать двумя способами:
-
Если вы хотите возвращать значение указанной ячейки или массива ячеек, см. раздел Форма массива.
-
Если требуется возвращать ссылку на указанные ячейки, см. раздел Ссылочная форма.
Форма массива
Описание
Возвращает значение элемента в таблице или массиве, выбранное по индексам номеров строк и столбцов.
Если первый аргумент функции ИНДЕКС является константной массива, используйте форму массива.
Синтаксис
ИНДЕКС(массив; номер_строки; [номер_столбца])
Форма массива функции 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 |
К началу страницы
См. также
Функция ВПР
ПОИСКПОЗ
Функция ДВССЫЛ
Использование формул массива: рекомендации и примеры
Функции ссылки и поиска (справка)
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. Я надеюсь, что наши примеры формул окажутся полезными для вас.
Вот еще несколько статей по этой теме:
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
Смотрите также в диапазоне выпадающего таблице. И нумерация во второй формуле два и больше со значениями из нужно изменить ссылкуФормула вернула номер 9 то выводится то,); а аргумент ранее, но вооруженные поиска,столбец, в которомИНДЕКСИНДЕКСИНДЕКСЕщё не совсем понятно?A1:C10Этот учебник рассказывает о
списка будет пустой начинается со второй мы использовали скелет элементов, соответствующих искомому столбца A:A используем в условном форматировании. – нашла заголовок которое меньшеvalue_if_error знанием функций искать,0)),(MATCH(значение для горизонтальногои/в Excel, а Представьте функциии возвращает значение главных преимуществах функций
строкой в списке. строки! первой формулы без значению, будет возвращена следующую формулу массива Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление строки листа поСОВЕТ:(значение_если_ошибка) – этоИНДЕКС поиска,строка в которойПОИСКПОЗПОИСКПОЗ Вы решите –ИНДЕКС ячейки воИНДЕКСОднако функция ГПР()JannMichel функции МАКС. Главная позиция первого вхождения (CTRL+SHIFT+ENTER): правилами»-«Изменить правило». И
- соответствующему значению таблицы.Для пошагового просмотра
- значение, которое нужнои
- искать,0)), например, чтобы найти
- : остаться с
- и2-й
- и вернет ошибку если
- : Добрый день. структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0).
- такого элемента.
- Функция ПОИСКПОЗ выполняет поиск здесь в параметрах
Базовая информация об ИНДЕКС и ПОИСКПОЗ
В результате мы хода вычислений формул возвратить, если формулаПОИСКПОЗ=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального минимальное, максимальное или=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))ВПРПОИСКПОЗстроке иПОИСКПОЗ
искомое значение будетУ меня стоит Мы заменили функциюИмеем таблицу, в которой логического значения ИСТИНА укажите F1 вместо имеем полный адрес используйте клавишу выдаст ошибку.Вы одолеете ее. поиска,столбец, в котором ближайшее к среднему
ИНДЕКС – синтаксис и применение функции
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))или переключиться нав таком виде:3-мв Excel, которые пусто. Поэтому я задача, аналог которой МАКС на ПОИСКПОЗ,
записаны объемы продаж
в массиве логических
B1. Чтобы проверить значения D9.
- F9Например, Вы можете вставить Самая сложная часть искать,0)),(MATCH(значение для горизонтального значение. Вот несколько
- 4. Более высокая скоростьИНДЕКС=INDEX(столбец из которого извлекаем,(MATCHстолбце, то есть делают их более в ячейку J5 решался в другой которая в первом определенных товаров в значений, возвращаемых функцией
- работу программы, введите. формулу из предыдущего – это функция поиска,строка в которой вариантов формул, применительно работы./ (искомое значение,столбец в
из ячейки привлекательными по сравнению поставил апостроф ‘ теме. Прочитал все аргументе использует значение, разных месяцах. Необходимо СОВПАД (сравнивает каждый
в ячейку B1Теперь научимся получать поПри поиске ближайшего с
примера в функцию
ПОИСКПОЗ
искать,0)) к таблице изЕсли Вы работаетеПОИСКПОЗ котором ищем,0))C2 с Его не видно, ответы, пытался подогнать полученное предыдущей формулой. в таблице найти элемент диапазона A2:A12
число которого нет значению координаты не дополнительным условием см.ЕСЛИОШИБКА, думаю, её нужноОбратите внимание, что для предыдущего примера: с небольшими таблицами,.
ПОИСКПОЗ – синтаксис и применение функции
=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое.ВПР а ГПР() не под свою таблицу, Оно теперь выступает данные, а критерием со значением, хранящимся
в таблице, например: целого листа, а статью Поиск ДАТЫ (ЧИСЛА)вот таким образом: объяснить первой. двумерного поиска нужно1. то разница в1. Поиск справа налево. значение;столбец в котором
Очень просто, правда? Однако,
. Вы увидите несколько
вернет ошибку. но знаний явно в качестве критерия поиска будут заголовки
в ячейке B2,
8000. Это приведет
- текущей таблицы. Одним ближайшей к заданной,=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;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13) в аргументе(МАКС). Формула находит скорее всего, не грамотному пользователю Excel,Думаю, ещё проще будет далеко не всегда помогут Вам легко вас я прокомментировать
- помощи. И в результате Но поиск должен результатов сравнения). ЕслиТеперь можно вводить любое найти по значению MS EXCEL. Несортированный Попробуйте еще раз!»)В формуле, показанной выше,array максимум в столбце заметная, особенно вВПР понять на примере.
- знаете, какие строка справиться со многими не могу. УСуществует таблица с функция ПОИСКПОЗ нам быть выполнен отдельно функция ПОИСКПОЗ нашла исходное значение, а 5277 вместо D9
список.=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0)); искомое значение –(массив) функцииD последних версиях. Еслине может смотреть Предположим, у Вас
и столбец Вам сложными задачами, перед меня Excel2003, младше исходными данными на возвращает номер столбца по диапазону строки значение ИСТИНА, будет программа сама подберет получить заголовки:Допустим ваш отчет содержит»Совпадений не найдено. этоINDEXи возвращает значение же Вы работаете влево, а это есть вот такой нужны, и поэтому которыми функция вашего. В 2003 подоконники 2 где находится или столбца. То возвращена позиция его
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
ближайшее число, котороедля столбца таблицы – таблицу с большим Попробуйте еще раз!»)1(ИНДЕКС). из столбца с большими таблицами, значит, что искомое список столиц государств: требуется помощь функцииВПР создать выпадающий списокВ первой СТРОКЕ максимальное значение объема есть будет использоваться первого вхождения в содержит таблица. После Март; количеством данных на
И теперь, если кто-нибудь, а массив поискаА теперь давайте испытаемC которые содержат тысячи значение должно обязательно
Давайте найдём население однойПОИСКПОЗбессильна.
указав диапазон на перечислены имена производителей продаж для товара
только один из массив. Функция ЕНД чего выводит заголовокдля строки – Товар4. множество столбцов. Проводить
введет ошибочное значение, – это результат этот шаблон натой же строки:
строк и сотни
находиться в крайнем
из столиц, например,.В нескольких недавних статьях
- другом листе нельзя. подоконников. 4. После чего критериев. Поэтому здесь возвратит значение ЛОЖЬ, столбца и названиеЧтобы решить данную задачу визуальный анализ таких формула выдаст вот умножения. Хорошо, что практике. Ниже Вы=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0)) формул поиска, Excel
- левом столбце исследуемого Японии, используя следующуюФункция мы приложили все Можно, если диапазонВ первом СТОЛБЦЕ в работу включается нельзя применить функцию если она не строки для текущего будем использовать формулу
таблиц крайне сложно.
такой результат:
же мы должны видите список самых=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0)) будет работать значительно диапазона. В случае формулу:MATCH усилия, чтобы разъяснить именованный. — глубина подоконников. функция ИНДЕКС, которая ИНДЕКС, а нужна принимает значение ошибки значения. Например, если
с уже полученными А одним из
Если Вы предпочитаете в перемножить и почему? населённых стран мира.Результат: Beijing быстрее, при использовании с=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))(ПОИСКПОЗ) в Excel начинающим пользователям основыJannMichelВ массиве таблице возвращает значение по специальная формула.
#Н/Д в качестве ввести число 5000 значениями в ячейках заданий по работе случае ошибки оставить Давайте разберем все Предположим, наша задача2.ПОИСКПОЗПОИСКПОЗ=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0)) ищет указанное значение
функции
:
— цены номеру сроки иДля решения данной задачи аргумента. В этом получаем новый результат: C2 и C3. с отчетом является ячейку пустой, то по порядку: узнать население СШАMINи/Теперь давайте разберем, что в диапазоне ячеекВПРAlexMВ итоговой таблице столбца из определенного проиллюстрируем пример на случае функция ЕСЛИ
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
Скачать пример поиска значения Для этого делаем – анализ данных можете использовать кавычкиБерем первое значение в в 2015 году.(МИН). Формула находитИНДЕКСИНДЕКС делает каждый элемент и возвращает относительнуюи показать примеры, И верно. Я должен вернуться результат в ее аргументах схематической таблице, которая вернет текстовую строку в диапазоне Excel так: относительно заголовков строк («»), как значение столбцеХорошо, давайте запишем формулу. минимум в столбцевместо, столбец поиска может этой формулы: позицию этого значения более сложных формул
поставил апостроф, и стоимости подоконника в диапазона. Так как соответствует выше описанным «есть», иначе –Наша программа в ExcelДля заголовка столбца. В и столбцов касающихся второго аргумента функцииA Когда мне нужноDВПР быть, как в
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
Функция в диапазоне. для продвинутых пользователей. сообщение об ошибке зависимости от выбранной у нас есть условиям. «нет». нашла наиболее близкое ячейку D2 введите определенного месяца. НаЕСЛИОШИБКА(Customer) на листе создать сложную формулуи возвращает значение. В целом, такая левой, так иMATCHНапример, если в диапазоне Теперь мы попытаемся, исчезло. Спасибо большое марки и глубины номер столбца 2,Лист с таблицей для
Чтобы вычислить остальные значения значение 4965 для формулу: На этот первый взгляд это. Вот так:Main table в Excel с из столбца замена увеличивает скорость в правой части(ПОИСКПОЗ) ищет значениеB1:B3 если не отговорить за апостроф. Не подоконника. а номер строки поиска значений по «протянем» формулу из исходного – 5000. раз после ввода весьма простое задание,
IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)и сравниваем его вложенными функциями, тоC работы Excel на диапазона поиска. Пример: «Japan» в столбцесодержатся значения New-York, Вас от использования знал о такомВыбор параметров производится в диапазоне где вертикали и горизонтали: ячейки C2 вниз
Такая программа может
формулы для подтверждения
но его нельзяЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»») со всеми именами я сначала каждуютой же строки:13% Как находить значения,B Paris, London, тогдаВПР приеме. с помощью выпадающих хранятся названия месяцевНад самой таблицей расположена
для использования функции пригодится для автоматического жмем как по решить, используя однуНадеюсь, что хотя бы покупателей в таблице вложенную записываю отдельно.=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0)). которые находятся слева, а конкретно – следующая формула возвратит, то хотя быДмитрий списков. в любые случаи строка с результатами. автозаполнения. В результате решения разных аналитических традиции просто Enter: стандартную функцию. Да, одна формула, описанная на листе
Итак, начнём с двух=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))Влияние покажет эту возможность в ячейках цифру показать альтернативные способы: Доброе утро, уважаемыеДля меня задача будет 1. Тогда В ячейку B1 получим: задач при бизнес-планировании,Для строки вводим похожую, конечно можно воспользоваться в этом учебнике,Lookup table функцийРезультат: Lima
ВПР в действии.B2:B103 реализации вертикального поиска форумчане! оказалась сложной. нам осталось функцией водим критерий дляКак видно, третьи элементы постановки целей, поиска но все же
инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F,
показалась Вам полезной.
(A2:A13).ПОИСКПОЗ3.на производительность Excel2. Безопасное добавление или, и возвращает число, поскольку «London» – в Excel.Возник вопрос сPelena ИНДЕКС получить соответственное поискового запроса, то
списков не совпадают.
рационального решения и
немного другую формулу: чтобы вызвать окно Если Вы сталкивалисьЕсли совпадение найдено, уравнение, которые будут возвращатьAVERAGE особенно заметно, если удаление столбцов.3 это третий элементЗачем нам это? – поиском значения в: Посмотрите такой вариант значение из диапазона есть заголовок столбцаПример 3. Найти ближайшее т.п. А полученныеВ результате получены внутренние поиска значений на с другими задачами возвращает номера строки и(СРЗНАЧ). Формула вычисляет рабочая книга содержитФормулы с функцией, поскольку «Japan» в
в списке. спросите Вы. Да, столбце с даннымиgling B4:G4 – Февраль или название строки. меньшее числу 22 строки и столбцы координаты таблицы по листе Excel. Или поиска, для которых1 столбца для функции среднее в диапазоне сотни сложных формулВПР списке на третьем=MATCH(«London»,B1:B3,0) потому что удовлетворяющим требованием +200(
: Наверно так. Тоже (второй месяц). А в ячейке в диапазоне чисел, позволяют дальше расширять значению – Март; же создать для не смогли найти(ИСТИНА), а если
ИНДЕКС и ПОИСКПОЗ – примеры формул
ИНДЕКСD2:D10 массива, таких какперестают работать или месте.=ПОИСКПОЗ(«London»;B1:B3;0)ВПР или больше) или самое что у D1 формула поиска
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
хранящихся в столбце вычислительные возможности такого Товар 4: таблицы правило условного подходящее решение среди нет –:, затем находит ближайшееВПР+СУММ возвращают ошибочные значения,ФункцияФункция
– это не -200 (или меньше). PelenaВторым вариантом задачи будет должна возвращать результат таблицы Excel. рода отчетов сНа первый взгляд все форматирования. Но тогда информации в этом0ПОИСКПОЗ для столбца к нему и. Дело в том, если удалить илиINDEXMATCH единственная функция поиска Более подробно вAlexM поиск по таблице вычисления соответствующего значения.
Вид исходной таблицы данных: помощью новых формул работает хорошо, но нельзя будет выполнить
уроке, смело опишите
(ЛОЖЬ).
– мы ищем возвращает значение из что проверка каждого добавить столбец в
- (ИНДЕКС) использует(ПОИСКПОЗ) имеет вот в Excel, и файле: Еще вариант с
с использованием названия
После чего в
- Для поиска ближайшего большего Excel. что, если таблица дальнейших вычислений с свою проблему вДалее, мы делаем то в столбце столбца значения в массиве
- таблицу поиска. Для3
такой синтаксис:
её многочисленные ограничения
AlexM формулой месяца в качестве ячейке F1 сработает значения заданному воФункция ПОИСКПОЗ в Excel будет содержат 2 полученными результатами. Поэтому комментариях, и мы же самое дляB
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
C требует отдельного вызова функциидля аргументаMATCH(lookup_value,lookup_array,[match_type]) могут помешать Вам: В ячейке С3200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ГПР(B9;K$5:M$15;C9/50;) критерия. В такие вторая формула, которая всем столбце A:A используется для поиска
одинаковых значения? Тогда необходимо создать и все вместе постараемся значений столбца, а точнее втой же строки: функцииВПРrow_num
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
получить желаемый результат
формула массива, ввод
AlexM случаи мы должны уже будет использовать (числовой ряд может точного совпадения или могут возникнуть проблемы правильно применить соответствующую решить её.B
диапазоне
=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))
ВПР
любой вставленный или(номер_строки), который указываетlookup_value во многих ситуациях. которой завершают нажатием: Раньше не обратил изменить скелет нашей значения ячеек B1 пополняться новыми значениями) ближайшего (меньшего или с ошибками! Рекомендуем
формулу.
Урок подготовлен для Вас
(Product).
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
B2:B11=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1)). Поэтому, чем больше удалённый столбец изменит из какой строки(искомое_значение) – это С другой стороны, Ctrl+Shift+Enter внимание, что отсутствует формулы: функцию ВПР и D1 в используем формулу массива большего заданному в также посмотреть альтернативноеСхема решения задания выглядит командой сайта office-guru.ruЗатем перемножаем полученные результаты, значение, которое указаноРезультат: Moscow значений содержит массив результат формулы, поскольку нужно возвратить значение. число или текст, функции200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(A2:A11;МИН(ПОИСКПОЗ(1;—(A2:A11>=A2+200);0);ПОИСКПОЗ(1;—(A2:A11
- глубина 550 мм. заменить ГПР, а качестве критериев для (CTRL+SHIFT+ENTER): зависимости от типа решение для поиска примерно таким образом:Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/
- (1 и 0). в ячейкеИспользуя функцию и чем больше синтаксис Т.е. получается простая который Вы ищите.ИНДЕКС
PelenaДумаю, что это функция СТОЛБЕЦ заменяется поиска соответствующего месяца.=B2;A:A;»»));A:A;0);1)’ class=’formula’> сопоставления, указанного в столбцов и строкв ячейку B1 мыПеревел: Антон Андронов Только если совпаденияH2СРЗНАЧ формул массива содержитВПР формула: Аргумент может бытьи: Как вариант, тоже
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
значение таблицу не на СТРОКА.Теперь узнаем, в какомФункция ПОИСКПОЗ возвращает позицию качестве аргумента) значения по значению. будем вводить интересующие
Автор: Антон Андронов найдены в обоих(USA). Функция будетв комбинации с Ваша таблица, темтребует указывать весь=INDEX($D$2:$D$10,3) значением, в томПОИСКПОЗ формула массива
испортитЭто позволит нам узнать максимальном объеме и элемента в столбце заданному в массиве
Чтобы проконтролировать наличие дубликатов
нас данные;
Для поиска ЧИСЛА ближайшего столбцах (т.е. оба выглядеть так:
ИНДЕКС медленнее работает Excel. диапазон и конкретный=ИНДЕКС($D$2:$D$10;3) числе логическим, или– более гибкие200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($A$2:$A$11;МИН(ЕСЛИ(ABS($A$2:$A$11-$A$2)>200;СТРОКА($A$1:$A$10))))Изменился диапазон в какой объем и в каком месяце A:A, имеющего максимальное или диапазоне ячеек среди значений таблицыв ячейке B2 будет
к заданному, в критерия истинны), Вы=MATCH($H$2,$B$1:$B$11,0)иС другой стороны, формула
номер столбца, изФормула говорит примерно следующее: ссылкой на ячейку. и имеют рядДмитрий
формуле какого товара была была максимальная продажа значение среди чисел, и возвращает номер создадим формулу, которая отображается заголовок столбца, EXCEL существует специальные
получите=ПОИСКПОЗ($H$2;$B$1:$B$11;0)ПОИСКПОЗ с функциями которого нужно извлечь ищи в ячейкахlookup_array особенностей, которые делают
: Спасибо всем большое!200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ГПР(B9;K$5:M$16;C9/50;) максимальная продажа в Товара 4. которые больше числа, позиции найденного элемента. сможет информировать нас
который содержит значение функции, например, ВПР(),1Результатом этой формулы будет, в качестве третьегоПОИСКПОЗ данные. от
- (просматриваемый_массив) – диапазон их более привлекательными, всё работает отлично!JannMichel определенный месяц.Чтобы выполнить поиск по указанного в ячейкеНапример, имеем последовательный ряд о наличии дубликатов ячейки B1 ПРОСМОТР(), ПОИСКПОЗ(), но. Если оба критерия
4
аргумента функции
иНапример, если у ВасD2 ячеек, в котором по сравнению сLocomotiv23530: Уважаемые
- Чтобы найти какой товар столбцам следует: B2. Функция ИНДЕКС чисел от 1 и подсчитывать ихв ячейке B3 будет они работают только ложны, или выполняется, поскольку «USA» –ПОИСКПОЗ
ИНДЕКС
есть таблица
до происходит поиск.ВПР: Добрый вечер.
Pelena обладал максимальным объемомВ ячейку B1 введите возвращает значение, хранящееся
до 10, записанных
количество. Для этого
отображается название строки, если исходный список только один из это 4-ый элементчаще всего нужнопросто совершает поиск
A1:C10
D10
match_type.Помогите решить вот, и продаж в определенном значение Товара 4 в найденной ячейке. в ячейках B1:B10. в ячейку E2 которая содержит значение сортирован по возрастанию
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
них – Вы списка в столбце будет указывать и возвращает результат,, и требуется извлечьи извлеки значение(тип_сопоставления) – этотБазовая информация об ИНДЕКС такую задачу. ИмеетсяAlexM месяце следует: – название строки,Результат расчетов: Функция =ПОИСКПОЗ(3;B1:B10;0) вернет вводим формулу: ячейки B1. или убыванию. Используя получите
B1 выполняя аналогичную работу данные из столбца из третьей строки, аргумент сообщает функции и ПОИСКПОЗ столбец данные которого,В ячейку B2 введите которое выступит вДля поиска ближайшего меньшего число 3, посколькуБолее того для диапазонаФактически необходимо выполнить поиск формулы массива создадим0(включая заголовок).
или заметно быстрее.B то есть изПОИСКПОЗ
Используем функции ИНДЕКС и
нужно проверить на
Все работает отлично.
название месяца Июнь
качестве критерия. значения достаточно лишь искомое значение находится табличной части создадим координат в Excel. аналогичные формулы, но.ПОИСКПОЗ для строки-1Теперь, когда Вы понимаете, то нужно задать ячейки, хотите ли Вы
ПОИСКПОЗ в Excel
наличие в другом
Есть один нюанс: – это значениеВ ячейку D1 введите немного изменить данную в ячейке B3, правило условного форматирования: Для чего это работающие и вТеперь понимаете, почему мы– мы ищемв случае, если
- причины, из-за которых значениеD4 найти точное илиПреимущества ИНДЕКС и ПОИСКПОЗ столбце. Есть пример.В Это часть таблицы, будет использовано в следующую формулу: формулу и ее которая является третьей
- Выделите диапазон B6:J12 и нужно? Достаточно часто случае несортированного списка. задали значение ячейки Вы не уверены, стоит изучать функции
- 2, так как счёт приблизительное совпадение: перед ВПР общем в столбце
- которая входит в качестве поискового критерия.Для подтверждения после ввода следует также ввести от точки отсчета выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное нам нужно получитьРешение задачи поиска ближайшего1H3 что просматриваемый диапазонПОИСКПОЗдля аргумента начинается со второй1
ИНДЕКС и ПОИСКПОЗ – «индикатор номера» необходимо общую книгу ExcelВ ячейку D2 введите формулы нажмите комбинацию как массив (CTRL+SHIFT+ENTER): (ячейки B1). форматирование»-«Правила выделения ячеек»-«Равно». координаты таблицы по
числового значения в, как искомое значение?(2015) в строке содержит значение, равноеиcol_index_num строки.или примеры формул прописать формулу. Если по расчету стоимости формулу: горячих клавиш CTRL+SHIFT+Enter,Результат поиска:Данная функция удобна дляВ левом поле введите значению. Немного напоминает случае сортированного списка Правильно, чтобы функция1
среднему. Если жеИНДЕКС(номер_столбца) функцииВот такой результат получитсяне указанКак находить значения, которые номер есть в окон. И еслиДля подтверждения после ввода так как формулаФункция имеет следующую синтаксическую использования в случаях, значение $B$1, а обратный анализ матрицы.
приведена в статьеПОИСКПОЗ, то есть в Вы уверены, что
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
, давайте перейдём кВПР в Excel:– находит максимальное находятся слева базе, то должна подоконники не включены формулы нажмите комбинацию должна быть выполнена запись: когда требуется вернуть из правого выпадающего Конкретный пример в Поиск ЧИСЛА ближайшеговозвращала позицию только, ячейках такое значение есть, самому интересному и, вот так:Важно! Количество строк и значение, меньшее илиВычисления при помощи ИНДЕКС стоять надпись «есть». в расчет по клавиш CTRL+SHIFT+Enter, так
в массиве. Если=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) не само значение,
списка выберите опцию
двух словах выглядит
к заданному. Сортированный когда оба критерияA1:E1 – ставьте увидим, как можно=VLOOKUP(«lookup value»,A1:C10,2) столбцов в массиве, равное искомому. Просматриваемый и ПОИСКПОЗ В противном случае каким то причинам, как формула будет все сделано правильно,Описание аргументов: содержащееся в искомой «Светло-красная заливка и
примерно так. Поставленная список. выполняются.:0
применить теоретические знания
=ВПР("lookup value";A1:C10;2) который использует функция массив должен быть
Поиск по известным строке "нет".
то в итоговой выполнена в массиве. в строке формулискомое_значение – обязательный аргумент,
ячейке, а ее темно-красный цвет» и цель в цифрахРассмотрим задачу в болееОбратите внимание:=MATCH($H$3,$A$1:$E$1,0)для поиска точного на практике.
Если позднее Вы вставите
INDEX
упорядочен по возрастанию, и столбцуЕсли не сложно цене возвращается #Н/Д А в строке появятся фигурные скобки. принимающий текстовые, числовые координату относительно рассматриваемого нажмите ОК. является исходным значением, общем виде. ПустьВ этом случае=ПОИСКПОЗ($H$3;$A$1:$E$1;0) совпадения.Любой учебник по
новый столбец между(ИНДЕКС), должно соответствовать
то есть от
Поиск по нескольким критериям
помогите. К вечеру
office-guru.ru
Поиск ЧИСЛА ближайшего к заданному. Несортированный список в MS EXCEL
вместо цифры. формул появятся фигурныеВ ячейку F1 введите значения, а также диапазона. В случаеВ ячейку B1 введите нужно определить кто имеется несортированный список необходимо использовать третийРезультатом этой формулы будетЕсли указываетеВПР столбцами
значениям аргументов меньшего к большему.ИНДЕКС и ПОИСКПОЗ в голова совсем неПочтенный скобки. вторую формулу:
данные логического и использования для констант значение 3478 и и когда наиболее чисел (в диапазоне не обязательный аргумент
51твердит, что этаArow_num0 сочетании с ЕСЛИОШИБКА работает.gling
В ячейку F1 введите |
Снова Для подтверждения нажмите |
ссылочного типов, который |
массивов, которые могут |
полюбуйтесь на результат. приближен к этойA4:A15 функции, поскольку «2015» находится |
, значения в столбце функция не можети |
(номер_строки) и |
Заранее спасибо., Вы оставил в вторую формулу: комбинацию клавиш CTRL+SHIFT+Enter. используется в качестве |
быть представлены какКак видно при наличии цели. Для примера |
). (см. Файл примера). |
в 5-ом столбце. поиска должны быть смотреть влево. Т.е. |
Bcolumn_num значение, равное искомому. учебника – показатьЛМВ таблице возможность нулевогоСнова Для подтверждения нажмитеНайдено в каком месяце критерия поиска (для массивы элементов «ключ» дубликатов формула для используем простую матрицуВ качестве критерия для. Он необходим, т.к.Теперь вставляем эти формулы упорядочены по возрастанию, если просматриваемый столбец, то значение аргумента(номер_столбца) функции |
Для комбинации |
возможности функций: Можно так: выбора. |
CTRL+SHIFT+Enter. и какая была сопоставления величин или — «значение», функция заголовков берет заголовок |
данных с отчетом |
поиска используем любое в первом аргументе в функцию |
а формула вернёт не является крайним придется изменить сMATCHИНДЕКС |
ИНДЕКС
=ЕСЛИ(ЕНД(ПОИСКПОЗ(A2;$E$2:$E$28;0));»нет»;»есть»)Вопрос решен.В первом аргументе функции наибольшая продажа Товара нахождения точного совпадения);
ПОИСКПОЗ возвращает значение с первого дубликата по количеству проданных число, введем его мы задаем всюИНДЕКС максимальное значение, меньшее
excel2.ru
Поиск значения в диапазоне таблицы Excel по столбцам и строкам
левым в диапазоне2(ПОИСКПОЗ). Иначе результат/иHugoВыражаю свою благодарность ГПР (Горизонтальный ПРосмотр) 4 на протяжениипросматриваемый_массив – обязательный аргумент, ключа, который явно по горизонтали (с товаров за три в ячейку таблицу и должныи вуаля: или равное среднему. поиска, то нетна формулы будет ошибочным.ПОИСКПОЗПОИСКПОЗ: Или можно аналогично всем Вам за указываем ссылку на двух кварталов. принимающий данные ссылочного не указан. лева на право). квартала, как показаноС4 указать функции, из
Поиск значения в массиве Excel
=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))Если указываете
- шансов получить от3Стоп, стоп… почему мы
- всегда нужно точноедля реализации вертикального (по смыслу) использовать помощь.
- ячейку с критериемВ первом аргументе функции типа (ссылки наНапример, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит
А формула для ниже на рисунке.. Найдем значение из какого столбца нужно=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))-1ВПР, иначе формула возвратит не можем просто совпадение, поэтому третий поиска в Excel, ВПР() или СЧЕТЕСЛИ()Буду строить книгу для поиска. Во ВПР (Вертикальный ПРосмотр) диапазон ячеек) или элементы, которые можно получения названия (номера) Важно, чтобы все диапазона, ближайшее к извлечь значение. ВЕсли заменить функции, значения в столбцежелаемый результат. результат из только использовать функцию аргумент функции мы не будемLocomotiv23530 дальше. втором аргументе указана указывается ссылка на константу массива, в
представить как: 1 строки берет номер числовые показатели совпадали. критерию с помощью
Поиск значения в столбце Excel
нашем случае этоПОИСКПОЗ поиска должны бытьФункции
- что вставленного столбца.VLOOKUPПОИСКПОЗ задерживаться на их: ))) спасибо.JannMichel ссылка на просматриваемый ячейку где находится которых выполняется поиск – «виноград», 2 с первого дубликата
- Если нет желания формул массива: столбецна значения, которые упорядочены по убыванию,
- ПОИСКПОЗИспользуя(ВПР)? Есть лидолжен быть равен синтаксисе и применении.feik: диапазон таблицы. Третий критерий поиска. Во позиции элемента согласно – «яблоко», 3
по вертикали (сверху вручную создавать иРешениеC они возвращают, формула а возвращено будетиПОИСКПОЗ смысл тратить время,0Приведём здесь необходимый минимум
Поиск значения в строке Excel
: Друзья добрый день!AlexM аргумент генерирует функция втором аргументе указывается критерию, заданному первым – «груша», 4
вниз). Для исправления заполнять таблицу ExcelКак происходит поиск(Sum), и поэтому
станет легкой и минимальное значение, большееИНДЕКС/ пытаясь разобраться в. для понимания сути,
Поделитесь идеей пожалуйста.
Как получить заголовок столбца и название строки таблицы
, СТРОКА, которая создает диапазон ячеек для аргументом функции; – «слива», где данного решения есть с чистого листа,Примечание
- мы ввели понятной:
- или равное среднему.
в Excel гораздоИНДЕКС лабиринтах-1 а затем разберёмИмеется список блюд,Да, почему-то у
- в памяти массив просмотра в процессе[тип_сопоставления] – необязательный для 1, 2, 3, 2 пути: то в конце=ИНДЕКС(A4:A15;ПОИСКПОЗ( МАКС(ЕСЛИ(A4:A15 $A$4:$A$15;0);1)
- 3=INDEX($A$1:$E$11,4,5))В нашем примере значения
более гибкие, и, Вы можете удалятьПОИСКПОЗ– находит наименьшее
подробно примеры формул, меню. (список) производителя нет ширины номеров строк из поиска. В третьем заполнения аргумент в 4 – ключи,Получить координаты первого дубликата статьи можно скачатьищется.
Поиск одинаковых значений в диапазоне Excel
=ИНДЕКС($A$1:$E$11;4;5)) в столбце им все-равно, где или добавлять столбцыи значение, большее или которые показывают преимуществаИмеется массив (данные) подоконника в 550
10 элементов. Так аргументе функции ВПР виде числового значения,
- а названия фруктов по горизонтали (с уже с готовым
- наибольшееИ, наконец, т.к. намЭта формула возвращает значениеD находится столбец со к исследуемому диапазону,ИНДЕКС
- равное искомому значению. использования проданных блюд в
мм. как в табличной должен указываться номер определяющего способ поиска – значения. Тогда лева на право). примером.значение, которое меньше, нужно проверить каждую на пересеченииупорядочены по возрастанию, значением, которое нужно не искажая результат,?
- Просматриваемый массив долженИНДЕКС какой то период,shurikus части у нас столбца, из которого в диапазоне ячеек функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет Для этого толькоПоследовательно рассмотрим варианты решения чем искомое значение
- ячейку в массиве,4-ой поэтому мы используем извлечь. Для примера, так как определен=VLOOKUP(«Japan»,$B$2:$D$2,3)
быть упорядочен пои его выгружаю из: Чтобы не возникало находится 10 строк. следует взять значение или массиве. Может значение 2, являющееся
в ячейке С3 разной сложности, а (ближайшее сверху) эта формула должнастроки и тип сопоставления снова вернёмся к непосредственно столбец, содержащий=ВПР(«Japan»;$B$2:$D$2;3)
Поиск ближайшего значения в диапазоне Excel
убыванию, то естьПОИСКПОЗ кассовой системы. Названия ошибок можно добавитьДалее функция ГПР поочередно на против строки принимать следующие значения: ключом второго элемента. следует изменить формулу в конце статьиЕсли заданное значение меньше быть формулой массива.5-го1 таблице со столицами нужное значение. Действительно,В данном случае – от большего квместо блюд в массиве
их обработку. используя каждый номер с именем Товар-1 – поиск наименьшего Отсчет выполняется не на: В результате – финальный результат. минимального, то выдается Вы можете видетьстолбца в диапазоне. Формула государств и населением. это большое преимущество, смысла нет! Цель меньшему.ВПР похожий но, системаAlexM
строки создает массив 4. Но так ближайшего значения заданному с 0 (нуля), получаем правильные координатыСначала научимся получать заголовки ошибка #Н/Д это по фигурнымA1:E11ИНДЕКС На этот раз
особенно когда работать этого примера –
На первый взгляд, польза. присваивает свои доп: Еще вариант. Есть соответственных значений продаж как нам заранее аргументом искомое_значение в как это реализовано как для листа, столбцов таблицы по=ИНДЕКС(A4:A15;ПОИСКПОЗ( скобкам, в которые, то есть значение/ запишем формулу приходится с большими исключительно демонстрационная, чтобы
exceltable.com
Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel
от функцииФункция обозначения (акций или возможность не выбирать из таблицы по не известен этот упорядоченном по убыванию во многих языках так и для значению. Для этогоМИН(ЕСЛИ(A4:A15>=C4;A4:A15;»»)); она заключена. Поэтому,
Примеры использования функции ПОИСКПОЗ в Excel
ячейкиПОИСКПОПОИСКПОЗ объёмами данных. Вы Вы могли понять,ПОИСКПОЗINDEX наборов). фирму и глубину. определенному месяцу (Июню). номер мы с
массиве или диапазоне программирования при работе таблицы: выполните следующие действия:$A$4:$A$15;0);1) когда закончите вводитьE4З/ можете добавлять и как функциивызывает сомнение. Кому(ИНДЕКС) в ExcelОчень нужно найти200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ГПР(B9;J$5:M$17;1+МАКС(2;Ч(C9)/50);) Далее функции МАКС
помощью функции СТОЛБЕЦ ячеек. с массивами, аПолучить координаты первого дубликатаВ ячейку B1 введитеищется формулу, не забудьте. Просто? Да!возвращает «Moscow», посколькуИНДЕКС удалять столбцы, неПОИСКПОЗ нужно знать положение возвращает значение из совпадения блюда изВ пустых ячейках осталось только выбрать создаем массив номеров0 – (по умолчанию) с 1. по вертикали (сверху
значение взятое изнаименьшее нажатьВ учебнике по величина населения города
, которая покажет, какое
Формула для поиска неточного совпадения текста в Excel
беспокоясь о том,и элемента в диапазоне? массива по заданным «списка» в «данных»
таблицы «Марка подоконника»
максимальное значение из столбцов для диапазона поиск первого значения
Функция ПОИСКПОЗ редко используется
вниз). Для этого
- таблицы 5277 изначение, которое больше,Ctrl+Shift+EnterВПР Москва – ближайшее место по населению
- что нужно будетИНДЕКС Мы хотим знать
- номерам строки и и вернуть его
стоит апостроф ‘ этого массива. B4:G15. в массиве или
самостоятельно. Ее целесообразно
Сравнение двух таблиц в Excel на наличие несовпадений значений
только в ячейке выделите ее фон чем искомое значение.мы показывали пример меньшее к среднему занимает столица России исправлять каждую используемуюработают в паре. значение этого элемента!
столбца. Функция имеет
количество к соответствующемуJannMichelДалее немного изменив первуюЭто позволяет функции ВПР диапазоне ячеек (не применять в связке
С2 следует изменить синим цветом для (ближайшее снизу)Если всё сделано верно, формулы с функцией значению (12 269 (Москва). функцию Последующие примеры покажутПозвольте напомнить, что относительное вот такой синтаксис: блюду в «списке».: формулу с помощью собрать целый массив обязательно упорядоченном), которое с другими функциями, формулу на: читабельности поля вводаЕсли заданное значение больше Вы получите результатВПР 006).Как видно на рисунке
ВПР Вам истинную мощь положение искомого значенияINDEX(array,row_num,[column_num])функция ВПР тутshurikus
функций ИНДЕКС и значений. В результате
Поиск ближайшего большего знания в диапазоне чисел Excel
полностью совпадает со например, ИНДЕКС.В данном случаи изменяем (далее будем вводить максимального, то выдается
как на рисунке
для поиска поЭта формула эквивалентна двумерному ниже, формула отлично. связки (т.е. номер строкиИНДЕКС(массив;номер_строки;[номер_столбца])
идеально работает, но,
, я с Excel ПОИСКПОЗ, мы создали в памяти хранится значением, переданным в формулы либо одну в ячейку B1 ошибка #Н/Д ниже:
нескольким критериям. Однако,
поиску справляется с этой3. Нет ограничения наИНДЕКС и/или столбца) –Каждый аргумент имеет очень
в «данных» блюда
Особенности использования функции ПОИСКПОЗ в Excel
на «ВЫ», поэтому вторую для вывода
все соответствующие значения
качестве первого аргумента.
- Пример 1. Найти позицию либо другую, но другие числа, чтобы=ИНДЕКС(A4:A15;ПОИСКПОЗ( МИН(ABS(A4:A15-C4));Как Вы, вероятно, уже существенным ограничением такогоВПР задачей: размер искомого значения.
- и это как раз простое объяснение: порой повторяюся, а терминов не знаю. названия строк таблицы каждому столбцу по1 – Поиск наибольшего первого частичного совпадения
- не две сразу. экспериментировать с новымиABS(A4:A15-C4);0)) заметили (и не решения была необходимостьи позволяет найти=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))
- ИспользуяПОИСКПОЗ то, что мыarray ВПР берет первое В частности что
- по зачиню ячейки. строке Товар 4 ближайшего значения заданному строки в диапазоне Стоит напомнить о значениями).ищется раз), если вводить
- добавлять вспомогательный столбец. значение на пересечении=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))ВПР, которая легко справляется должны указать для
(массив) – это
- подходящее значение, следовательно такое обработка - Название соответствующих строк (а именно: 360; первым аргументом в ячеек, хранящих текстовые том, что вВ ячейку C2 вводимближайшее некорректное значение, например, Хорошая новость: формула определённой строки иТеперь у Вас не
- , помните об ограничении с многими сложными аргументов диапазон ячеек, из другие последующие совпадения
- не знаю. Прошу (товаров) выводим в 958; 201; 605; упорядоченном по возрастанию значения. ячейке С3 должна формулу для полученияк критерию число которого нет вИНДЕКС столбца.
- должно возникать проблем на длину искомого ситуациями, когдаrow_num которого необходимо извлечь не учитываются, к меня извинить. F2.
exceltable.com
Поиск значения в столбце и строке таблицы Excel
462; 832). После массиве или диапазонеВид исходной таблицы данных: оставаться старая формула: заголовка столбца таблицыесли ближайшее снизу и просматриваемом массиве, формула/В этом примере формула с пониманием, как значения в 255ВПР(номер_строки) и/или значение. тому же допAlexMВНИМАНИЕ! При использовании скелета чего функции МАКС
Поиск значений в таблице Excel
ячеек.Для нахождения позиции текстовойЗдесь правильно отображаются координаты который содержит это ближайшее сверху отстоят
ИНДЕКСПОИСКПОЗИНДЕКС
работает эта формула: символов, иначе рискуетеоказывается в тупике.column_numrow_num обозначения системы часто, Т.е., если я формулы для других остается только взятьПримечания: строки в таблице первого дубликата по значение: на одинаковое расстояние/может искать по/Во-первых, задействуем функцию получить ошибку
Поиск значения в строке Excel
Решая, какую формулу использовать(номер_столбца) функции(номер_строки) – это обновляются. Вас правильно понял,
задач всегда обращайте из этого массива
- Если в качестве аргумента используем следующую формулу: вертикали (с верхаПосле ввода формулы для от критерия, то
- ПОИСКПОЗ значениям в двух
- ПОИСКПОЗMATCH#VALUE! для вертикального поиска,INDEX номер строки вО чем мечтаю: можно добавить пустую внимание на второй
- максимальное число и искомое_значение была передана
- =ПОИСКПОЗ(D2&»*»;B:B;0)-1 в низ) –
подтверждения нажимаем комбинацию берется ближайшее число,сообщает об ошибке столбцах, без необходимостибудет очень похожа
Принцип действия формулы поиска значения в строке Excel:
(ПОИСКПОЗ), которая находит(#ЗНАЧ!). Итак, если большинство гуру Excel(ИНДЕКС). Как Вы массиве, из которой Чтобы в списке ячейку в диапазон, и третий аргумент возвратить в качестве текстовая строка, функцияОписание аргументов: I7 для листа горячих клавиш CTRL+SHIFT+Enter, расположенное первым в#N/A создания вспомогательного столбца! на формулы, которые положение «Russia» в таблица содержит длинные считают, что помните, функция нужно извлечь значение. из блюд проставлялось
и она будет поисковой функции ГПР. значения для ячейки ПОИСКПОЗ вернет позициюD2&»*» – искомое значение, и Август; Товар2 так как формула списке (например, ближайшее(#Н/Д) илиПредположим, у нас есть мы уже обсуждали списке: строки, единственное действующееИНДЕКСИНДЕКС Если не указан, сумма проданных блюд отображаться в выпадающем
Количество охваченных строк D1, как результат элемента в массиве состоящее и фамилии, для таблицы. Оставим должна быть выполнена к 5 в#VALUE! список заказов, и в этом уроке,=MATCH(«Russia»,$B$2:$B$10,0)) решение – это/может возвратить значение, то обязательно требуется имеющие максимально похожие списке пустой строкой…. в диапазоне указанного вычисления формулы. (если такой существует)
Как получить заголовки столбцов по зачиню одной ячейки?
указанной в ячейке такой вариант для в массиве. Если списке 2;(#ЗНАЧ!). Если Вы мы хотим найти с одним лишь=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) использоватьПОИСКПОЗ находящееся на пересечении аргумент названия.А подскажите такую в аргументе, должноКак видно конструкция формулы без учета регистра B2, и любого следующего завершающего примера. все сделано правильно4 6 хотите заменить такое сумму по двум отличием. Угадайте каким?Далее, задаём диапазон дляИНДЕКСнамного лучше, чем заданных строки иcolumn_numСкажем на против деталь (не совсем совпадать с количеством проста и лаконична. символов. Например, строки количества других символовДанная таблица все еще в строке формул; 8 будет 4, сообщение на что-то критериям –Как Вы помните, синтаксис функции/ВПР столбца, но она
(номер_столбца).
Поиск значения в столбце Excel
«Пицца Капуста» в по теме). Создаю строк в таблице. На ее основе «МоСкВа» и «москва» (“*”); не совершенна. Ведь по краям появятся а в списке более понятное, тоимя покупателя
функцииINDEXПОИСКПОЗ. Однако, многие пользователи не может определить,
column_num графе количество посчиталась выпадающее меню, указываю А также нумерация
- можно в похожий являются равнозначными. ДляB:B – ссылка на при анализе нужно фигурные скобки {
- 2; можете вставить формулу
- (Customer) иINDEX(ИНДЕКС), из которого. Excel по-прежнему прибегают какие именно строка(номер_столбца) – это сумма всех продаж
- для него диапазон должна начинаться со
- способ находить для различения регистров можно
Принцип действия формулы поиска значения в столбце Excel:
столбец B:B, в точно знать все }.64 спродукт(ИНДЕКС) позволяет использовать нужно извлечь значение.Предположим, Вы используете вот к использованию и столбец нас номер столбца в наименований, которые содержит на другом листе второй строки! определенного товара и
дополнительно использовать функцию котором выполняется поиск; ее значения. ЕслиВ ячейку C2 формула; 8 — будетИНДЕКС(Product). Дело усложняется три аргумента: В нашем случае такую формулу с
ВПР интересуют. массиве, из которого текст «Пицца Капуста», (где хранятся всеСкачать пример поиска значения другие показатели. Например, СОВПАД.0 – поиск точного введенное число в
вернула букву D 6), т.е. предсказатьи тем, что одинINDEX(array,row_num,[column_num]) этоВПР, т.к. эта функцияТеперь, когда Вам известна нужно извлечь значение. независимо от приставок. вспомогательные таблицы, в в столбце и минимальное или среднее
Если поиск с использованием совпадения. ячейку B1 формула
— соответственный заголовок будет ли числоПОИСКПОЗ покупатель может купить
ИНДЕКС(массив;номер_строки;[номер_столбца])A2:A10, которая ищет в гораздо проще. Так базовая информация об Если не указан,Это реально? Как том числе и строке Excel значение объема продаж рассматриваемой функции неИз полученного значения вычитается не находит в столбца листа. Как ближайшим сверху илив функцию
exceltable.com
Поиск значения в массиве при двух условиях (Формулы/Formulas)
сразу несколько разныхИ я поздравляю тех
. ячейках от происходит, потому что этих двух функциях, то обязательно требуется можно это сделать массив с подоконниками).Читайте также: Поиск значения используя для этого
дал результатов, будет единица для совпадения таблице, тогда возвращается
видно все сходиться, снизу невозможноЕСЛИОШИБКА
продуктов, и имена из Вас, кто
Затем соединяем обе частиB5
очень немногие люди полагаю, что уже аргумент используя макросы? Выпадающее меню и в диапазоне таблицы
функции МИН или возвращен код ошибки результата с id
ошибка – #ЗНАЧ! значение 5277 содержится
=МАКС(ЕСЛИ(МИН(ABS(A4:A15-C4))=ABS(A4:A15-C4);A4:A15;МИН(A4:A15))).
покупателей в таблице догадался! и получаем формулу:до
до конца понимают становится понятно, какrow_num
Заранее очень признателен
все зависимости работают Excel по столбцам СРЗНАЧ. Вам ни #Н/Д.
записи в таблице. Идеально было-бы чтобы в ячейке столбца
ищетсяСинтаксис функции на листе
Начнём с того, что=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))D10 все преимущества перехода функции(номер_строки)
за помощь. как и должны. и строкам что не препятствует,Если аргумент [тип_сопоставления] явноПример поиска: формула при отсутствии D. Рекомендуем посмотретьближайшееЕСЛИОШИБКАLookup table запишем шаблон формулы.=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))
значение, указанное в сПОИСКПОЗЕсли указаны оба аргумента,_Boroda_
Сохраняю файл, закрываю
По сути содержимое диапазона чтобы приведенный этот не указан или
Пример 2. В Excel в таблице исходного
на формулу дляк критерию числоочень прост:расположены в произвольном
Для этого возьмёмПодсказка: ячейкеВПР
и то функция: Так нужно? книгу, открываю снова
нас вообще не скелет формулы применить принимает число 0, хранятся две таблицы, числа сама подбирала
получения целого адресаесли обнаружено 2 ближайшихIFERROR(value,value_if_error)
порядке. уже знакомую намПравильным решением будетA2на связкуИНДЕКСИНДЕКС200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(Данные!B$7:B$99;A2&»*»;Данные!D$7:D$99) и… меню не интересует, нам нужен
с использованием более для поиска частичного которые на первый ближайшее значение, которое текущей ячейки. числа (одно больше,ЕСЛИОШИБКА(значение;значение_если_ошибка)Вот такая формула
формулу всегда использовать абсолютные:ИНДЕКСмогут работать вместе.возвращает значение изТолько вовнутрь «Пицца выпадает. Спасает либо просто счетчик строк. сложных функций для совпадения текстовых значений взгляд кажутся одинаковыми. содержит таблица. ЧтобыТеперь получим номер строки другое меньше критерия),Где аргументИНДЕКСИНДЕКС ссылки для=VLOOKUP(A2,B5:D10,3,FALSE)иПОИСКПОЗ ячейки, находящейся на Барбекю » включится
ручной ввод в То есть изменить реализации максимально комфортного могут быть использованы Было решено сравнить
создать такую программу для этого же то выводится то,value//ИНДЕКС=ВПР(A2;B5:D10;3;ЛОЖЬ)ПОИСКПОЗ
определяет относительную позицию пересечении указанных строки еще и «Пицца эту строку, либо аргументы на: СТРОКА(B2:B11) анализа отчета по подстановочные знаки («?» по одному однотипному для анализа таблиц значения (5277). Для
которое больше(значение) – этоПОИСКПОЗПОИСКПОЗиФормула не будет работать,, а тратить время искомого значения в и столбца. Барбекю Веселая». Вам
excelworld.ru
поиск значения в массиве (поиск)
надо заново указать или СТРОКА(С2:С11) – продажам.
— замена одного столбцу этих таблиц в ячейку F1 этого в ячейку=МИН(ЕСЛИ(МИН(ABS(A4:A15-C4))=ABS(A4:A15-C4);A4:A15;МАКС(A4:A15))) значение, проверяемое нарешает задачу:и добавим в
ПОИСКПОЗ если значение в на изучение более заданном диапазоне ячеек,Вот простейший пример функции
так и нужно?
диапазон. Это глюк это никак неНапример, как эффектно мы
любого символа, «*»
на наличие несовпадений. введите новую формулу: C3 введите следующую
excelworld.ru
Проверка значений ячеек на наличие их в массиве
ищется предмет наличия ошибки
{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)* неё ещё одну, чтобы диапазоны поиска ячейке сложной формулы никто аINDEXfeik Excel или я повлияет на качество отобразили месяц, в — замена любого Реализовать способ сравненияПосле чего следует во
формулу:ближайшее (в нашем случае(B2=’Lookup table’!$B$2:$B$13),0),3)}
функцию
не сбились приA2
не хочет.
ИНДЕКС(ИНДЕКС):: _Boroda_, Эмм… Да!))) не правильно что
формулы. Главное, что котором была максимальная
planetaexcel.ru
Поиск всех совпадений в массиве и возврат их значений (Макросы/Sub)
количества символов). двух диапазонов ячеек.
всех остальных формулах
После ввода формулы дляк критерию число
– результат формулы{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*ПОИСКПОЗ копировании формулы вдлиннее 255 символов.Далее я попробую изложитьиспользует это число=INDEX(A1:C10,2,3) Огромное спасибо Вам!) то делаю?
в этих диапазонах продажа, с помощьюЕсли в объекте данных,Вид таблицы данных: изменить ссылку вместо подтверждения снова нажимаем
если обнаружено 2 ближайшихИНДЕКС(B2=’Lookup table’!$B$2:$B$13);0);3)}, которая будет возвращать другие ячейки. Вместо неё Вам главные преимущества использования (или числа) и=ИНДЕКС(A1:C10;2;3) Супер, все гениальноеAlexM
по 10 строк, второй формулы. Не переданном в качествеДля сравнения значений, находящихся B1 должно быть комбинацию клавиш CTRL+SHIFT+Enter
числа (одно больше,/Эта формула сложнее других, номер столбца.Вы можете вкладывать другие нужно использовать аналогичнуюПОИСКПОЗ
возвращает результат изФормула выполняет поиск в просто!!))
: Правильно. Пустая ячейка как и в
сложно заметить что аргумента просматриваемый_массив, содержится
в столбце B:B
F1! Так же и получаем результат: другое меньше критерия),ПОИСКПОЗ которые мы обсуждали
=INDEX(Ваша таблица,(MATCH(значение для вертикального функции Excel в формулуи соответствующей ячейки.
excelworld.ru
диапазоне
Бывает у вас такое: смотришь на человека и думаешь «что за @#$%)(*?» А потом при близком знакомстве оказывается, что он знает пять языков, прыгает с парашютом, имеет семеро детей и черный пояс в шахматах, да и, вообще, добрейшей души человек и умница?
Так и в Microsoft Excel: есть несколько похожих функций, про которых фраза «внешность обманчива» работает на 100%. Одна из наиболее многогранных и полезных — функция ИНДЕКС (INDEX). Далеко не все пользователи Excel про нее знают, и еще меньше используют все её возможности. Давайте разберем варианты ее применения, ибо их аж целых пять.
Вариант 1. Извлечение данных из столбца по номеру ячейки
Самый простой случай использования функции ИНДЕКС – это ситуация, когда нам нужно извлечь данные из одномерного диапазона-столбца, если мы знаем порядковый номер ячейки. Синтаксис в этом случае будет:
=ИНДЕКС(Диапазон_столбец; Порядковый_номер_ячейки)
Этот вариант известен большинству продвинутых пользователей Excel. В таком виде функция ИНДЕКС часто используется в связке с функцией ПОИСКПОЗ (MATCH), которая выдает номер искомого значения в диапазоне. Таким образом, эта пара заменяет легендарную ВПР (VLOOKUP):
… но, в отличие от ВПР, могут извлекать значения левее поискового столбца и номер столбца-результата высчитывать не нужно.
Вариант 2. Извлечение данных из двумерного диапазона
Если диапазон двумерный, т.е. состоит из нескольких строк и столбцов, то наша функция будет использоваться немного в другом формате:
=ИНДЕКС(Диапазон; Номер_строки; Номер_столбца)
Т.е. функция извлекает значение из ячейки диапазона с пересечения строки и столбца с заданными номерами.
Легко сообразить, что с помощью такой вариации ИНДЕКС и двух функций ПОИСКПОЗ можно легко реализовать двумерный поиск:
Вариант 3. Несколько таблиц
Если таблица не одна, а их несколько, то функция ИНДЕКС может извлечь данные из нужной строки и столбца именно заданной таблицы. В этом случае используется следующий синтаксис:
=ИНДЕКС((Диапазон1;Диапазон2;Диапазон3); Номер_строки; Номер_столбца; Номер_диапазона)
Обратите особое внимание, что в этом случае первый аргумент – список диапазонов — заключается в скобки, а сами диапазоны перечисляются через точку с запятой.
Вариант 4. Ссылка на столбец / строку
Если во втором варианте использования функции ИНДЕКС номер строки или столбца задать равным нулю (или просто не указать), то функция будет выдавать уже не значение, а ссылку на диапазон-столбец или диапазон-строку соответственно:
Обратите внимание, что поскольку ИНДЕКС выдает в этом варианте не конкретное значение ячейки, а ссылку на диапазон, то для подсчета потребуется заключить ее в дополнительную функцию, например СУММ (SUM), СРЗНАЧ (AVERAGE) и т.п.
Вариант 5. Ссылка на ячейку
Общеизвестно, что стандартная ссылка на любой диапазон ячеек в Excel выглядит как Начало-Двоеточие-Конец, например A2:B5. Хитрость в том, что если взять функцию ИНДЕКС в первом или втором варианте и подставить ее после двоеточия, то наша функция будет выдавать уже не значение, а адрес, и на выходе мы получим полноценную ссылку на диапазон от начальной ячейки до той, которую нашла ИНДЕКС:
Нечто похожее можно реализовать функцией СМЕЩ (OFFSET), но она, в отличие от ИНДЕКС, является волатильной, т.е. пересчитывается каждый раз при изменении любой ячейки листа. ИНДЕКС же работает более тонко и запускает пересчет только при изменении своих аргументов, что ощутимо ускоряет расчет в тяжелых книгах по сравнению со СМЕЩ.
Один из весьма распространенных на практике сценариев применения ИНДЕКС в таком варианте — это сочетание с функцией СЧЁТЗ (COUNTA), чтобы получить автоматически растягивающиеся диапазоны для выпадающих списков, сводных таблиц и т.д.
Ссылки по теме
- Трехмерный поиск данных по нескольким листам (ВПР 3D)
- Поиск и подстановка по нескольким условиям (ВПР по нескольким столбцам)
- Подстановка данных из одной таблицы в другую с помощью функции ВПР (VLOOKUP)
Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в 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);"")
Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.
Оцените качество статьи. Нам важно ваше мнение:
Функция ИНДЕКС помогает извлекать значение из массива данных. Массив может различаться своей структурой, количеством столбцов и строк и даже количество самих массивов может быть больше одного.
Пример работы функции ИНДЕКС в 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 пишем ИНДЕКС, первым делом указываем столбец, где находятся искомые значения (цена за упаковку). Затем нужно указать, где нам искать соответствующие критерию значения — подстраиваем ПОИСКПОЗ под наше решение: выбираем искомый критерий (Хепилор), затем массив искомых критериев со второй таблицы:
Теперь просто копируем формулу до конца столбца, но не забываем закрепить ссылки, иначе массив будет спускаться дальше и мы получим некорректные значения. Наша таблица готова:
Если у нас нет данных во второй таблице о цене и препаратах, у нас будет в ячейке ошибка #Н/Д. Теперь к нашим ранее использованным функциям добавим ЕСЛИОШИБКА, которая нам поможет изменить внешний вид отчета, сделать его более понятным для читателя. Опять же, поскольку у нас вторая таблица не соответствует требованиям ВПР, на помощь приходит ИНДЕКС+ПОИСКПОЗ. Усложняем уже имеющуюся формулу, добавляя ЕСЛИОШИБКА, указывая, что при отсутствии данных, мы хотим видеть прочерк:
Скачать примеры функции ИНДЕКС и ПОИСКПОЗ в Excel
Таким образом формула из комбинации функций ИНДЕКС и ПОИСПОЗ работают лучше популярной функции ВПР и не имеют никаких ограничений для выборки данных из таблицы даже по нескольким условиям.
Содержание
- Виды массивов функций Excel
- Классика жанра – товарный чек
- Разрешите Вас… транспонировать?
- Функция СТРОКА
- Функция СТОЛБЕЦ
- Функция АДРЕС
- Функция ДВССЫЛ
- Функция ВЫБОР (CHOOSE)
- Функция ИНДЕКС (INDEX)
- Функция ПОИСКПОЗ (MATCH)
- Редактирование формулы массива
- Описание категории «Ссылки и массивы»
- ВПР
- Пример применения формулы массива
- ГПР
- Функции для работы со ссылками и массивами
- Функция ГПР
Массив – данные, объединенные в группу. В данном случае группой является массив функций в Excel. Любую таблицу, которую мы составим и заполним в Excel, можно назвать массивом. Пример:
В зависимости от расположения элементов различают массивы:
- одномерные (данные находятся в ОДНОЙ строке или в ОДНОМ столбце);
- двумерные (НЕСКОЛЬКО строк и столбцов, матрица).
Одномерные массивы бывают:
- горизонтальными (данные – в строке);
- вертикальными (данные – в столбце).
Примечание. Двумерные массивы Excel могут занимать сразу несколько листов (это сотни и тысячи данных).
Формула массива – позволяет обработать данные из этого массива. Она может возвращать одно значение либо давать в результате массив (набор) значений.
С помощью формул массива реально:
- подсчитать количество знаков в определенном диапазоне;
- суммировать только те числа, которые соответствуют заданному условию;
- суммировать все n-ные значения в определенном диапазоне.
Когда мы используем формулы массива, Excel видит диапазон значений не как отдельные ячейки, а как единый блок данных.
Классика жанра – товарный чек
Задача: рассчитать общую сумму заказа. Если идти классическим путем, то нужно будет добавить столбец, где перемножить цену и количество, а потом взять сумму по этому столбцу. Если же применить формулу массива, то все будет гораздо красивее:
- выделяем ячейку С7
- вводим с клавиатуры =СУММ(
- выделяем диапазон B2:B5
- вводим знак умножения (звездочка)
- выделяем диапазон C2:C5 и закрываем скобку функции СУММ – в итоге должно получиться так:
- чтобы Excel воспринял нашу формулу как формулу массива жмем не Enter, как обычно, а Ctrl + Shift + Enter
Вуаля!
Т.е. Excel произвел попарное умножение элементов массивов B2:B5 и C2:C5 и образовал новый массив стоимостей (в памяти компьютера), а затем сложил все элементы этого нового массива.
Обратите внимание на фигурные скобки, появившиеся в формуле – отличительный признак формулы массива. Вводить их вручную с клавиатуры бесполезно – они автоматически появляются при нажатии Ctrl + Shift + Enter.
Разрешите Вас… транспонировать?
При работе с таблицами часто возникает необходимость поменять местами строки и столбцы, т.е. развернуть таблицу на бок, чтобы данные, которые раньше шли по строке, теперь располагались в столбцах и наоборот. В математике такая операция называется транспонированием. При помощи формулы массива и функции ТРАНСП (TRANSPOSE) это делается на раз.
Допустим, имеем двумерный массив ячеек, который хотим транспонировать.
- Выделяем диапазон ячеек для размещения транспонированной таблицы. Поскольку исходный массив ячеек был 8 строк на 2 столбца, то надо выделить диапазон пустых ячеек размером 2 строки на 8 столбцов.
- вводим функцию транспонирования =ТРАНСП(
- в качестве аргумента функции выделяем наш массив ячеек A1:B8
жмем Ctrl + Shift + Enter и получаем “перевернутый массив” в качестве результата:
Функция СТРОКА
Определяет и возвращает номер строки указанной ссылкой ячейки.
Синтаксис: =СТРОКА([ссылка]), где аргумент «ссылка» не является обязательным. Если он опущен, но возвращается номер текущей строки.
Пример использования:
=СТРОКА(D4) – результат 4.
=СТРОКА() – функция вернет номер строки, в которой она расположена.
Функция СТОЛБЕЦ
Возвращает номер столбца ячейки, указанной ссылкой.
Синтаксис: =СТОЛБЕЦ([ссылка]), где «ссылка» не обязательный аргумент. По умолчанию возвращается номер текущего столбца.
Пример использования:
=СТОЛБЕЦ(C4) – формула вернет значение 3.
=СТОЛБЕЦ() – функция возвращает номер столбца, в котором расположена.
Функция АДРЕС
Возвращает текст, представляющий адрес ячейки, заданной номерами строки и столбца.
Синтаксис: =АДРЕС(строка; столбец; [тип_закрепления]; [стиль_ссылки]; [имя_листа]), где:
- Строка – обязательный аргумент. Число, представляющая номер строки, для которой необходимо вернуть адрес;
- Столбец – обязательный аргумент. Число, представляющее номер столбца целевой ячейки.
- тип_закрепления – необязательный аргумент. Число от 1 до 4, обозначающее закрепление индексов ссылки:
- 1 – значение по умолчанию, когда закреплены все индексы;
- 2 – закрепление индекса строки;
- 3 – закрепление индекса столбца;
- 4 – адрес без закреплений.
- стиль_ссылки – необязательный аргумент. Логическое значение:
- ИСТИНА – формат ссылок «A1»;
- ЛОЖЬ – формат ссылок «R1C1».
- имя_листа – необязательный аргумент. Строка, представляющая имя листа, который необходимо добавить к тексту адреса ячейки.
Пример использования:
=АДРЕС=АДРЕС=АДРЕС=АДРЕС
Функция ДВССЫЛ
Преобразует адрес ссылки, заданный текстовой строкой, в ссылку на данный адрес.
Синтаксис: =ДВССЫЛ(адрес_ссылки; [стиль_ссылки]), где
- адрес_ссылки – обязательный аргумент. Строка, представляющая адрес ссылки на ячейку или диапазон. Например, “C3”, “R3C3” или “D8:D9”.
- стиль_ссылки – необязательный аргумент. Логическое значение, определяющее стиль ссылки:
- ИСТИНА – стиль A1. Является значением по умолчанию;
- ЛОЖЬ – стиль R1C1.
Пример использования:
=ДВССЫЛ(“a3”) – возвращает ссылку на ячейку A3.
=ДВССЫЛ(“r3c3”) – вернет ошибку #ССЫЛКА!, так как текст для ссылки в формате R1C1, а второй аргумент имеет значение по умолчанию.
=ДВССЫЛ(“r3c3”; ЛОЖЬ) – возвращает ссылку на ячейку C3.
=ДВССЫЛ(АДРЕС(СТРОКА(C3);СТОЛБЕЦ(C3))) – функция вернет аналогичный предыдущему примеру результат.
Вложение функции ДВССЫЛ со ссылкой на диапазон:
Функция ВЫБОР (CHOOSE)
Позволит вам выбрать значение из общего списка по указанному номеру позиции:
=ВЫБОР(2;”Стул”;”Стол”;”Шкаф”;”Диван”)
Функция ИНДЕКС (INDEX)
Эта функция возвращает указанное значение из одно- или двумерного диапазона:
=ИНДЕКС(A1:C6;4;3)
Как видно с примера, полученное значение 37, в указанном диапазоне стоит на пересечении строки №4 и столбика №3 в диапазоне A1:C6 указанном в формуле. В более простом примере показано как в диапазоне С1:С6, на 2 месте находится значение 15:
=ИНДЕКС(С1:С6;2)
Функция ПОИСКПОЗ (MATCH)
Эта функция вернет позицию значения, которое вы будете искать в указанном диапазоне:
=ПОИСКПОЗ(B3;B2:B5;0)
С примера вы можете видеть что слово «Стол» занимает 2 позицию в указанном диапазоне. Замечу, что третий аргумент в функции не является обязательным. При введенном значении 0, функция вернет ту позицию элемента массива, которое точно совпадает со значением, которое мы ищем. В случае, когда точное совпадение отсутствует, функция выдаст ошибку #Н/Д (#N/A).
Редактирование формулы массива
Если формула массива расположена не в одной ячейке (как в Примере 1), а в нескольких ячейках (как в Примере 2), то Excel не позволит редактировать или удалить одну отдельно взятую формулу (например в ячейке D10) и выдаст предупреждающее сообщение Невозможно изменить часть массива.
Для редактирования формулы массива необходимо выделить весь диапазон (A10:H11 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.
Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:H11 в нашем случае)
Описание категории «Ссылки и массивы»
Категория функций «Ссылки и массивы», другое название категории «Функции просмотра» используются для поиска значений в списках или таблицах, манипулирования диапазоном данных, а также, для получения дополнительной информации, например, информации о количестве строк или столбцов диапазона.
Ярким представителем функций данной категории является самая популярная функция ВПР, которая позволяет найти значение из ячейки диапазона, выполнив поиск в первом столбце этого же диапазона
Принцип работы функции ВПР из категории «Ссылки и массивы»
ВПР
Функция ВПР (VLOOKUP) ищет значение в крайнем левом столбце таблицы и возвращает значение ячейки, находящейся в указанном столбце той же строки.
- Вставляем функцию ВПР:
=ВПР(A2;$E$4:$G$7;3;ЛОЖЬ)
=VLOOKUP(A2,$E$4:$G$7,3,FALSE)
Пояснение:
- Функция ВПР ищет значение ID (104) в крайнем левом столбце диапазона $E$4:$G$7 и возвращает значение из третьего столбца той же строки (так как третий аргумент функции имеет значение 3).
- Четвёртый аргумент функции равен ЛОЖЬ (FALSE) – это значит, что либо будет найдено точное совпадение, либо будет показано сообщение об ошибке #Н/Д (#N/A).
- Потащите мышью, чтобы скопировать функцию ВПР из ячейки B2 вниз по столбцу до ячейки B11.Пояснение: Когда мы копируем функцию ВПР вниз, абсолютная ссылка $E$4:$G$7 остаётся неизменной, в то время как относительная ссылка A2 изменяется на A3, A4, A5 и так далее.
Пример применения формулы массива
Наиболее простой задачей, которой можно проиллюстрировать мощь формулы массива, является простой товарный чек. То есть у нас есть наименование товаров, их количество и цена за единицу. На выходе мы должны получить общую сумму покупки.
Как бы мы решали данную задачу стандартным образом?
Во-первых, мы бы получили итоговую сумму по каждому товару, перемножив количество товара на его цену.
Ну а затем просуммировали бы получение суммы, для получения итоговой. То есть нам бы потребовался дополнительный столбец для промежуточных вычислений.
Ту же самую задачу можно решить с помощью простейшей формулы массива.
Нам нужно получить сумму, поэтому воспользуемся соответствующей функцией СУММ. А вот суммировать мы должны произведение цены товара на его количество, что мы и сделаем – выбираем диапазон значений из столица B и умножаем его на аналогичный диапазон значений столбца C.
Если сейчас нажать Enter, то появится ошибка.
Так как мы в формуле использовали диапазоны (массивы) данных, то и формула должна быть формулой массива. Для этого нужно нажать сочетание клавиш Ctrl + Shift + Enter и получим результат.
Что произошло и как работает формула массива? Это важно понять, так как в дальнейшем можно будет применять формулы массива для решения намного более заковыристых задач…
Итак, при вычислении формулы массива Excel произвел попарное умножение значений диапазонов B2:B5 и C2:C5. В результате получился массив значений который был просуммирован соответствующей функцией. Мы получили только одно значение итоговой суммы без вспомогательных вычислений.
Обратите внимание на формулу в строке формул. Она заключена в фигурные скобки, которые указывают нам, что мы имеем дело с формулой массива.
Это не текстовые скобки, то есть нельзя их ввести с клавиатуры, чтобы сделать формулу формулой массива. Они появляются автоматически при нажатии сочетания клавиш Ctrl + Shift + Enter. Если после создания формулы массива вам необходимо ее отредактировать, то в конце необходимо вновь нажать сочетание клавиш, а не просто клавишу Enter.
ГПР
Похожим образом работает и функция ГПР (HLOOKUP):
Функции для работы со ссылками и массивами
В Excel имеется ряд функций для обработки ссылок и массивов: вычисление номеров строки или столбца таблицы по имени ссылки, определение количества столбцов (строк) ссылки или массива, выбор значения по номеру индекса и т. д.
Таблица 4.10. Функции для работы со ссылками и массивами.
АДРЕС | Создает адрес ячейки в виде текста, используя номер строки и номер столбца. |
ВПР | Просматривает левый столбец массива в поисках определенного значения и возвращает значение из указанной ячейки. |
ВЫБОР | Использует номер индекса, чтобы выбрать и вернуть значение из списка аргументов-значений. |
ГИПЕРССЫЛКА | Создание ссылки, открывающей документ, находящийся на жестком диске, сервере сети или Internet. |
ГПР | Просматривает верхнюю строку массива в поисках определенного значения и возвращает значение из указанной ячейки. |
двссыл | Возвращает ссылку, заданную аргументом ссылка на ячейку. |
ИНДЕКС | Выбирает по индексу значение из ссылки или массива. |
ОБЛАСТИ | Возвращает количество областей в ссылке. Область – это интервал смежных ячеек или отдельная ячейка. |
ПОИСКПОЗ | Возвращает относительную позицию элемента массива. |
ПОЛУЧИТЬ.ДАННЫЕ. СВОДНОЙ.ТАБЛИЦЫ | Получение данных сводной таблицы |
ПРОСМОТР | Ищет значения в векторе или массиве. |
СМЕЩ | Возвращает ссылку заданной высоты и ширины, отстоящую от другой ссылки на заданное количество строки и столбцов. |
СТОЛБЕЦ | Возвращает номер столбца по заданной ссылке. |
СТРОКА | Возвращает номер строки, определяемой ссылкой. |
ТРАНШ | Возвращает транспонированный массив. |
ЧИСЛСТОЛБ | Возвращает количество столбцов в ссылке или массиве. |
ЧСТРОК | Возвращает количество строк в ссылке или массиве. |
Функция ГПР
Горизонтальное первое равенство. Ищет совпадение по ключу в первой строке определенного диапазона и возвращает значение из указанной строки этого диапазона в совпавшем с ключом столбце.
Синтаксис: =ГПР(ключ; диапазон; номер_строки; [интервальный_просмотр]).
Так как функция аналогична функции ВПР, за исключением того, что использует горизонтальные таблицы вместо вертикальных, то описания и примеры использования подходят и для ГПР с учетом упомянутых различий.
Источники
- https://exceltable.com/master-klass/massivy-funktciy-excel
- https://www.planetaexcel.ru/techniques/2/91/
- https://office-menu.ru/uroki-excel/13-uverennoe-ispolzovanie-excel/45-funktsii-ssylok-i-massivov-excel
- https://topexcel.ru/5-osnovnyx-funkcii-dlya-raboty-s-massivami/
- https://msoffice-prowork.com/ref/excel/excelfunc/lookup-reference/
- https://office-guru.ru/excel/funkcii-excel-dlja-raboty-so-ssylkami-i-massivami-515.html
- https://zen.yandex.ru/media/id/5c4d8a530aaeef00ac928ac3/5cb46bff23aed400b46a0c52
- http://samoychiteli.ru/document37861.html
Содержание
- Использование функции ИНДЕКС
- Способ 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
Как видим, функцию ИНДЕКС можно использовать в Экселе для решения довольно разноплановых задач. Хотя мы рассмотрели далеко не все возможные варианты её применения, а только самые востребованные. Существует два типа этой функции: ссылочный и для массивов. Наиболее эффективно её можно применять в комбинации с другими операторами. Созданные таким способом формулы смогут решать самые сложные задачи.
Если произвести поиск по функциям подстановки, Google покажет, что ВПР намного популярнее функции ИНДЕКС. Оно и понятно, ведь чтобы придать функции ИНДЕКС тот же функционал, что и ВПР, необходимо воспользоваться еще одной формулой – ПОИСКПОЗ. Что касается меня, было всегда непросто попробовать и освоить две новые функции одновременно. Но они дают больше возможностей и гибкости в создании электронных таблиц. Но обо всем по порядку.
Функция ВПР()
Предположим, у вас есть таблица с данными о работниках. В первой колонке хранится табельный номер сотрудника, в остальных – другие данные (ФИО, отдел и т.д.). Если у вас есть табельный номер, то можно воспользоваться функцией ВПР, чтобы вернуть определенную информацию о сотруднике. Синтаксис формулы =ВПР(искомое_значение; таблица; номер_столбца; [интервальный_просмотр]). Она говорит Excel: «Найди в таблице строку, первая ячейка которой совпадает с искомым_значением, и верни значение ячейки с порядковым номером номер_столбца».
Но случаются ситуации, когда у вас есть имя сотрудника и необходимо вернуть табельный номер. На рисунке в ячейке A10 – имя работника и требуется определить табельный номер в ячейке B10.
Когда ключевое поле находится правее данных, которые вы хотите получить, ВПР не поможет. Если, конечно, была бы возможность задать номер_столбца -1, тогда проблем бы не было. Одним из распространенных решений является добавление нового столбца A, копирование имен сотрудников в этот столбец, заполнить табельные номера с помощью ВПР, сохранить их как значения и удалить временную колонку A.
Функция ИНДЕКС()
Чтобы решить нашу проблему в один шаг, необходимо воспользоваться формулами ИНДЕКС и ПОИСКПОЗ. Сложность данного подхода заключается в том, что требуется применить две функции, которые, возможно, вы никогда не применяли до этого. Для упрощения понимания решим эту задачу в два этапа.
Начнем с функции ИНДЕКС. Кошмарное название. Когда кто-нибудь говорит «индекс», у меня в голове не возникает ни единой ассоциации, чем же занимается эта функция. А требует она целых три аргумента: =ИНДЕКС(массив; номер_строки; [номер_столбца]).
Говоря по-простому, Excel идет в массив данных и возвращает значение, находящееся на пересечении указанной строки и столбца. Как будто бы просто. Таким образом, формула =ИНДЕКС($A$2:$C$6;4;2) вернет значение, находящееся в ячейке B5.
Применительно к нашей проблеме, чтобы вернуть табельный номер работника, формула должна выглядеть следующим образом =ИНДЕКС($A$2:$A$6;?;1). Выглядит как бессмыслица, но если мы заменим знак вопроса формулой ПОИСКПОЗ, у нас есть решение.
Функция ПОИСКПОЗ()
Синтаксис этой функции таков: =ПОИСКПОЗ(искомое_значение; просматриваемы_массив; [тип_сопоставления]).
Она говорит Excel: «Найди искомое_значение в массиве данных и верни номер строки массива, в которой это значение встречается». Таким образом, чтобы найти в какой строке находиться имя сотрудника в ячейке A10, необходимо прописать формулу =ПОИСКПОЗ(A10; $B$2:$B$6; 0). Если в ячейке A10 будет имя «Колин Фарел», тогда ПОИСКПОЗ вернет 5-ю строку массива B2:B6.
Ну, в принципе, все. Функция ПОИСКПОЗ указывает функции ИНДЕКС, в какой строке искать значение. Замените знак вопроса в формуле ИНДЕКС формулой ПОИСКОПОЗ и вы получите эквивалент ВПР с возможностью поиска данных, находящихся левее ключевого столбца. Получиться так:
=ИНДЕКС($A$2:$B$6;ПОИСКПОЗ(A10;$B$2:$B$6;0);1)
В начале было непривычно, был огромный соблазн вставить еще одну колону и работать, как всегда работал. Но со временем использование функции ИНДЕКС вошло в привычку. Оказалось, что это быстрее и требует меньших манипуляций. Так что в следующий раз, когда у вас возникнет желание задать номеру столбца отрицательное число в ВПР, воспользуйтесь сочетанием двух странных функций ИНДЕКС и ПОИСКПОЗ, чтобы решить свою проблему.