=ИНДЕКС(A2:C6;3;2) (по-английски INDEX) возвращает значение из третьей строки и второго столбца диапазона A2:C6. Позиции считаются от левой верхней ячейки диапазона, поэтому строка 3 диапазона A2:C6 это строка 4 листа. Измените 3 или 2 и посмотрите, как сдвигается результат. Таблицы на этой странице показывают английскую запись, но формулы в них можно вводить и по-русски, с точкой с запятой.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Row | Column | Result | |
| 2 | Apple | Fruit | $1.20 | 3 | 2 | Vegetable | |
| 3 | Pear | Fruit | $1.50 | ||||
| 4 | Carrot | Vegetable | $0.80 | ||||
| 5 | Bread | Bakery | $2.40 | ||||
| 6 | Milk | Dairy | $1.10 |
=ИНДЕКС(A2:C6;E2;F2)В E2 номер строки, в F2 номер столбца. Строка 3 это Carrot, столбец 2 это Category, поэтому G2 показывает Vegetable. Поставьте в F2 1, чтобы получить название товара, или в E2 6, чтобы увидеть #ССЫЛКА! (по-английски #REF!, так её покажет таблица): в A2:C6 всего пять строк.
Синтаксис ИНДЕКС
=INDEX(array, row_num, [column_num])
array(массив): диапазон (или массив), из которого читают.row_num(номер_строки): какая его строка, начиная с 1. 0 означает все строки.column_num(номер_столбца): какой столбец, начиная с 1. Необязателен, когда диапазон состоит из одного столбца или одной строки; 0 означает все столбцы.
Для одного столбца достаточно одного числа: =ИНДЕКС(A2:A6;4) это четвёртый элемент, Bread. Вторая форма, =ИНДЕКС((A2:C3;A5:C6);1;1;2), выбирает из одного из нескольких диапазонов; она нужна редко.
n-й элемент или последний
ИНДЕКС по одному столбцу отвечает на вопрос «какой элемент под номером n». Вместе со СЧЁТЗ, которая считает заполненные ячейки, она возвращает последний элемент растущего списка.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Item number | 2 | |
| 2 | Apple | Nth item | Pear | |
| 3 | Pear | Last item | Milk | |
| 4 | Carrot | |||
| 5 | Bread | |||
| 6 | Milk |
=ИНДЕКС(A2:A6;СЧЁТЗ(A2:A6))В D1 стоит 2, поэтому D2 возвращает Pear. СЧЁТЗ насчитывает 5 товаров, поэтому D3 возвращает пятый, Milk. Удалите Milk, и D3 вернёт Bread. В настоящем файле направьте обе формулы на более длинный диапазон, например A2:A1000, чтобы новые строки попадали в него; СЧЁТЗ работает так, только если в середине столбца нет пустых ячеек.
Целая строка или столбец через 0
0 в качестве номера строки означает «все строки», поэтому ИНДЕКС(B2:D5;0;2) это весь второй столбец. Внутри СУММ, СРЗНАЧ или МАКС это даёт итог по столбцу, выбранному по номеру.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar | Month number | Total | |
| 2 | North | 4,200 | 3,900 | 4,800 | 2 | 15,200 | |
| 3 | South | 3,100 | 3,600 | 3,300 | |||
| 4 | East | 5,200 | 4,700 | 5,600 | |||
| 5 | West | 2,800 | 3,000 | 3,400 |
=СУММ(ИНДЕКС(B2:D5;0;F2))Месяц 2 это Feb, и G2 складывает C2:C5: 15,200. Замените F2 на 3, чтобы получить март. Целая строка работает так же: =СУММ(ИНДЕКС(B2:D5;3;0)) даёт итог по East. В Excel 2021 и Microsoft 365 =ИНДЕКС(B2:D5;0;2) сама по себе выводит четыре значения вниз по листу. Чтобы выбирать столбец по заголовку, а не по номеру, замените F2 на ПОИСКПОЗ: это приём ИНДЕКС и ПОИСКПОЗ.
ИНДЕКС по массиву или результату формулы
ИНДЕКС читает и массивы, которые возвращает формула, а не только диапазоны на листе. Так можно взять один элемент из отсортированного, отфильтрованного или уникального списка, не выписывая сам список.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Most expensive | Bread | |
| 2 | Apple | Fruit | $1.20 | Second | Pear | |
| 3 | Pear | Fruit | $1.50 | Cheapest | Carrot | |
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
СОРТПО (SORTBY) возвращает пять товаров, упорядоченных по цене, и ИНДЕКС берёт элемент 1 (Bread), элемент 2 (Pear) или, из сортировки по возрастанию, элемент 1 (Carrot). В русском Excel первая формула пишется =ИНДЕКС(СОРТПО(A2:A6;C2:C6;-1);1). Замените цену Milk на 3, и он станет самым дорогим. Если такой список уже выведен на лист, скажем в H2, Excel 2021 и Microsoft 365 позволяют написать =ИНДЕКС(H2#;2), чтобы взять его второй элемент.
Практика: итог выбранного месяца
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar | Month number | Total | |
| 2 | North | 4,200 | 3,900 | 4,800 | 1 | ||
| 3 | South | 3,100 | 3,600 | 3,300 | |||
| 4 | East | 5,200 | 4,700 | 5,600 | |||
| 5 | West | 2,800 | 3,000 | 3,400 |
Ваша очередь: В G2 с помощью ИНДЕКС верните итог месяца, номер которого стоит в F2 (1 = Jan, 2 = Feb, 3 = Mar).
Часто задаваемые вопросы
Что делает функция ИНДЕКС в Excel?
Возвращает значение на заданной позиции диапазона: =ИНДЕКС(A2:C6;3;2) возвращает значение из третьей строки и второго столбца A2:C6. Позиции считаются от левой верхней ячейки диапазона, а не от строки 1 листа.
Как получить последнее значение в столбце через ИНДЕКС?
Используйте количество заполненных ячеек как номер строки: =ИНДЕКС(B2:B100;СЧЁТЗ(B2:B100)) возвращает последнее значение столбца без пропусков. Если пропуски есть, =LOOKUP(2,1/(B2:B100<>""),B2:B100) (английская запись) возвращает последнее непустое значение.
Почему ИНДЕКС возвращает #ССЫЛКА!?
Номер строки или столбца больше размера диапазона. =ИНДЕКС(A2:A6;7) просит седьмой элемент диапазона из пяти ячеек и возвращает #ССЫЛКА!.
Как вернуть целый столбец через ИНДЕКС?
Укажите 0 как номер строки: =ИНДЕКС(B2:D5;0;2) возвращает весь второй столбец. Оберните её в функцию, чтобы получить итог, например =СУММ(ИНДЕКС(B2:D5;0;2)), или дайте результату заполнить ячейки в Excel 2021 и Microsoft 365.