Функция ИНДЕКС (INDEX) одна из самых полезных в Excel. Эта функция возвращает значение из диапазона ячеек по номеру строки и столбца. ИНДЕКС принимает от двух до четырех аргументов:
=ИНДЕКС(<диапазон>; <номер строки>; <номер колонки>; <номер области>)
Первые два аргумента обязательные, остальные можно не указывать в некоторых случаях.
Аргументы функции
<диапазон> - ссылка на один или несколько диапазонов данных. Может быть как столбец (например, A2:A10), строка (напрмер, A2:D2), массив (например, A2:D10) или несколько несвязанных диапазонов, каждый из которых может быть, опять таки, столбцом, строкой или массивом. Если указывается набор несвязянных диапазонов, они должны быть обрамлены круглыми скобками ИНДЕКС((A1:B3;C2:D3;E1:E10);1)
<номер строки> - номер строки, значение из которой нужно получить. См. пример на иллюстрации ниже.
Примечание: Если в качестве <диапазона> указана строка и не указан аргумент <номер колонки>, то <номер строки> воспринимается как номер колонки
<номер колонки> - аналогично <номеру строки>, указывает номер колонки в диапазоне, из которой мы хотим извлечь данные.
<номер области> - если в качестве диапазона указано несколько несвязянных областей, то этот аргумент указывает из какой области брать данные. Пример на иллюстрации ниже:
Если областей несколько, а этот аргумент не указан, то по умолчанию он принимается равным 1.
Особый вариант использования
Все мы знаем, что диапазон в Excel указывается через двоеточие, например, A1:B5. Но многие не знают, что вместо буквенно-цифровой ссылки на ячейку можно использовать ссылку, полученную с помощью функции ИНДЕКС. Например, A1:ИНДЕКС(A1:A10;СЧЁТЗ(A1:A10)) - это столбец A от первой строки до последнего элемента введенного в диапазоне от A1 до A10. Такой формат записи может быть полезен, если, например, мы хотим указать диапазон для выпадающего списка.
Ошибки
Функция возвращает ошибку, если <номер строки>, <номер столбца> или <номер области> выходят за рамки диапазона. Пример:
Также, ошибка будет возвращена, если Эксель не может понять, какую конкретно ячейку нужно вернуть: как диапазон указан массив, указан номер строки но не указан номер столбца:
Забавно, но ИНДЕКС(A1:A5;0) не приведет к ошибке: эксель вернет первый элемент столбца.