Примеры функции ИНДЕКС для создания массивов значений в Excel

Функция ИНДЕКС в Excel возвращает данные из таблицы или определенного диапазона ячеек на основе известных строки и столбца, значения которых передаются в качестве аргументов функции.

Примеры использования функции ИНДЕКС в Excel

Существует два варианта данной функции, отличающиеся синтаксической записью:

  1. Форма массива – функция ИНДЕКС используется для возврата одного или нескольких значений элементов массива (константы массивов в Excel, обозначаемые фигурными скобками «{}») или диапазона ячеек. Если в качестве первого аргумента функции была передана константа массива, функция должна быть выполнена как формула массива (Ctrl+Shift+Enter).
  2. Ссылочная форма – функция ИНДЕКС используется для возврата ссылки на определенную аргументами ячейку или несколько ячеек из одного либо нескольких диапазонов ячеек. Если эти диапазоны не являются смежными, можно явно указать диапазон, в котором будет произведен поиск требуемой ячейки. Формулы, принимающие в качестве аргументов не ссылочные данные, будут интерпретировать возвращенный функцией ИНДЕКС результат в качестве значения, хранящегося в ячейке, а не ссылки на нее. Например, функция =ФАКТР(ИНДЕКС(A4:B7;6;2)) вернет факториал числа, которое содержится в ячейке B6. Если результат выполнения функции ИНДЕКС используется в качестве аргумента функции, принимающей данные ссылочного типа, он будет определен в качестве ссылки на ячейку. Например, функция =СТРОКА(ИНДЕКС(A4:B7;6;2)) вернет число 4, то есть номер строки, в которой содержится ячейка B6.


Динамическая выборка из массива значений ячеек

Пример 1. В таблице Excel указаны данные о средней стоимости некоторых продуктов в определенные месяцы года. Найти стоимость молока в мае с использованием функции ИНДЕКС.

Вид исходной таблицы данных:

Пример 1.

Для нахождения стоимости молока в мае используем формулу:

Описание аргументов:

  • B2:G8 – диапазон ячеек таблицы с числовыми значениями, в которых выполняется поиск;
  • ПОИСКПОЗ(A10;A2:A8;0) – функция, возвращающая номер строки из диапазона A2:A8, в которой находится значение, содержащееся в ячейке A10 («Молоко, 1л»);
  • ПОИСКПОЗ(B10;B1:G1;0) – функция, возвращающая номер столбца из диапазона B1:G1, в котором содержится значение, хранящееся в ячейке B10 («Май»).

Искомая ячейка находится в диапазоне B2:G8 на пересечении строки и столбца, найденных функциями ПОИСКПОЗ. В результате получим:

ПОИСКПОЗ.

Стратегический анализ расходов в Excel

Пример 2. Определить, сколько денег потратил бы покупатель в феврале, если бы купил 2 л молока и 4 кг яблок на основании данных, содержащихся в таблице к первому примеру.

Вид таблиц данных:

Пример 2.

Для расчетов используем следующую формулу:

Функция СУММ возвращает сумму значений в ячейках, определенных функциями ИНДЕКС, умноженных на значения, содержащиеся в ячейках B12 и B13 (2 л, 4 кг) соответственно.

Результат вычислений:

ИНДЕКС.

Формула выглядит громоздкой, однако она является универсальной, поскольку позволяет вычислить суммарные затраты на покупку двух любых продуктов в любых количествах за любой из указанных месяцев.

Пример формулы ИНДЕКС и ПОИСКПОЗ в Excel

Пример 3. Организовать фильтрацию данных по трем критериям из нескольких таблиц.

Вид таблиц данных:

Пример 3.

Для быстрого поиска оценки у любого ученика за любую контрольную в любой из представленных таблиц создадим три открывающихся списка, содержащих:

  1. 1 Фамилии учеников:
  2. Фамилии.
  3. 2 Номера контрольных работ:
  4. Номера.
  5. 3 Номера четвертей:
  6. четверти.

В ячейку, в которой будет выводится результат, запишем следующую формулу:

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

Пример поиска оценки ученика с фамилией Иванищев за контрольную №2, написанную во второй четверти:

Пример поиска оценки.

Особенности использования функции ИНДЕКС в Excel

Функция имеет два варианта синтаксической записи:

= ИНДЕКС(массив; номер_строки; [номер_столбца])

= ИНДЕКС(ссылка; номер_строки; [номер_столбца]; [номер_области])

Описание аргументов:

  • массив – обязательный для заполнения первый аргумент функции ИНДЕКС формы массива, принимающий ссылку на диапазон ячеек или константу массива. Диапазон ячеек или массив, указанные в качестве данного аргумента, могут содержать:
  1. Одну строку либо столбец. В этом случае один из последующих аргументов функции является необязательным для заполнения (строка или столбец соответственно).
  2. Несколько строк и столбцов. Функция ИНДЕКС вернет диапазон ячеек, являющихся строкой или столбцом массива (диапазона), переданного в качестве первого аргумента, если указан только номер его строки либо номер столбца соответственно.
  • ссылка – обязательный для заполнения первый аргумент функции ссылочной формы, принимающий ссылку на один или несколько диапазонов ячеек. Ссылки на два и более несмежных диапазона должны быть заключены в скобки (например, функция с аргументами ((A1:B4;D4:E9);2;2;1), принимающая ссылку на несмежные диапазоны A1:B4 и D4:E9). Один из последующих аргументов функции необязателен для заполнения, если в качестве данного аргумента передана ссылка на области, состоящие из одной строки или одного столбца.
  • номер_строки – обязательный для заполнения аргумент (если следующий явно не указан), принимающий числовые значения, которые характеризуют номер строки в массиве или диапазоне, заданном аргументом массив, либо номер строки в диапазоне ячеек, заданном аргументом ссылка.
  • [номер_столбца] – необязательный аргумент, принимающий число, которое соответствует номеру искомого столбца в массиве или диапазоне, который задан аргументом массив, либо номер строки в диапазоне ячеек, переданном в качестве аргумента ссылка.
  • [номер_области] – необязательный аргумент функции ИНДЕКС ссылочной формы, принимающий числовое значение, которое характеризует порядковый номер диапазона из переданных в качестве аргумента ссылка, в котором будет произведен поиск на основе заданных номерах столбца и строки. Нумерация диапазонов начинается с единицы (1). Для корректной работы функции ИНДЕКС все несмежные диапазоны, переданные в качестве аргумента ссылка, должны находиться на одном листе.

Примечания:

  1. Аргументы номер_строки и [номер_столбца] должны указывать на ячейку (ячейки) внутри массива или диапазона, переданных в качестве аргументов массив или ссылка, иначе функция вернет код ошибки #ССЫЛКА!.
  2. Если в качестве аргументов номер_строки и (или) [номер_столбца] указаны значения 0 (нуль), результатом выполнения функции ИНДЕКС будет массив значений из строки или столбца либо всего массива (диапазона) переданного в качестве аргумента массив. Это справедливо и для функции ИНДЕКС ссылочной формы, только вместо массива значений будет возвращена ссылка не весь столбец, всю строку или весь диапазон (если оба аргумента принимают значение 0).
  3. Если требуется, чтобы функция формы массива вернула значения нескольких ячеек, а не одной ячейки, находящейся на пересечении указанных номеров строки и столбца, она должна быть выполнена в качестве формулы массива (сочетание клавиш Ctrl+Shift+Enter).

en ru