0Pricing
Excel Formulas Academy · Урок

Извлечение значений с помощью INDEX

Возвращайте значение из диапазона по его позиции в строке и столбце

«Извлечение значений с помощью INDEX» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.

Знакомство с функцией INDEX

Функция INDEX отвечает на простой вопрос: «Какое значение находится в определённой позиции диапазона?» Вы указываете ей область ячеек и номер строки, а она возвращает то, что находится в этой позиции.

Представьте диапазон как пронумерованный список. INDEX — это всё равно что сказать: «Дайте мне элемент под номером 3». Пока функция ничего не ищет по имени, а просто получает значение по позиции.

Поэтому INDEX идеально подходит для извлечения значений, когда Вы уже знаете, где они находятся.

Базовый синтаксис

Самая простая форма INDEX принимает два элемента:

  • массив — диапазон ячеек для поиска
  • номер_строки — номер строки этого диапазона, которую нужно вернуть

Таким образом, =INDEX(B2:B6, 3) означает: "Из диапазона B2:B6 вернуть значение на 3-й позиции". Если в B2:B6 находятся имена, формула возвращает третье имя.

Номер строки отсчитывается внутри диапазона, а не от верхнего края листа.

=INDEX(B2:B6, 3)

Подсчёт внутри диапазона

Поначалу это может сбивать с толку. Если диапазон начинается со строки 2, ячейка в строке 2 находится на позиции 1, а не 2.

Представьте, что в B2:B6 находятся значения: Яблоко, Банан, Вишня, Финик, Инжир. На позиции 1 находится Яблоко (в ячейке B2), на позиции 2 — Банан, а на позиции 3 — Вишня.

Поэтому =INDEX(B2:B6, 3) возвращает Вишня. Позиция всегда отсчитывается относительно начала указанного диапазона.

=INDEX(B2:B6, 3)

Пример с решением

Предположим, в столбце A перечислены имена сотрудников, и Вам нужно получить четвёртое имя. Ваши данные находятся в A2:A10.

Вы вводите =INDEX(A2:A10, 4). INDEX отсчитывает четыре позиции вниз от A2 и возвращает имя из A5.

Обратите внимание: Вам не пришлось вводить имя. INDEX неважно, какое это значение, важно только, где оно находится. Именно эта работа с позициями позволяет так хорошо сочетать INDEX с функциями, которые находят позиции за Вас.

=INDEX(A2:A10, 4)

Добавление номера столбца

У INDEX есть и более полная, двумерная форма, которая используется, когда диапазон охватывает несколько столбцов:

=INDEX(array, row_num, column_num)

Теперь Вы указываете и строку, и столбец внутри блока. Например, =INDEX(A2:C10, 4, 2) возвращает значение из 4-й строки и 2-го столбца этого блока.

Оба числа отсчитываются от верхнего левого угла указанного Вами диапазона.

=INDEX(A2:C10, 4, 2)

Выбор ячейки в таблице

Представьте небольшую таблицу в A2:C5, где в столбце A находится регион, в столбце B — товар, а в столбце C — объём продаж. Вам нужно получить значение продаж из 3-й строки данных.

Продажи находятся в 3-м столбце, а 3-я строка данных имеет позицию 3. Поэтому Вы вводите =INDEX(A2:C5, 3, 3).

INDEX переходит к строке 3 и столбцу 3 этого блока и возвращает единственное значение продаж. Одна формула — точное пересечение.

=INDEX(A2:C5, 3, 3)

Возврат всей строки или столбца

Если задать одно из чисел равным 0 (или во многих случаях не указывать его), INDEX возвращает всю строку или столбец, а не одну ячейку.

=INDEX(A2:C5, 0, 2) возвращает весь 2-й столбец блока. В современных электронных таблицах результат заполняет несколько ячеек.

Это удобно, когда нужно передать другой функции целый столбец, а не одно значение.

=INDEX(A2:C5, 0, 2)

INDEX с одним столбцом

Если Ваш диапазон состоит только из одного столбца, аргумент столбца можно не указывать. INDEX предполагает, что это столбец 1.

Например, для цен в C2:C20 формула =INDEX(C2:C20, 7) просто возвращает 7-ю цену. Номер столбца не нужен.

А для одной строки значений, например E1:J1, формула =INDEX(E1:J1, 1, 4) возвращает 4-е значение в этой строке. INDEX подстраивается под форму Ваших данных.

=INDEX(C2:C20, 7)

Почему позиция лучше жёстко заданного значения

Возможно, Вы задаётесь вопросом, почему бы просто не ввести =A5. Преимущество INDEX в том, что позиция может быть результатом вычисления или ссылкой на ячейку, а не фиксированным числом.

Например, =INDEX(A2:A100, D1) возвращает строку, номер которой хранится в D1. Измените D1 на 5 — и INDEX вернёт 5-й элемент; измените его на 20 — и функция вернёт 20-й.

Именно это превращает INDEX из любопытной функции в динамический инструмент поиска.

=INDEX(A2:A100, D1)

Практический пример

Предположим, в A2:A11 находится таблица лидеров, а в F1 — раскрывающийся список, где пользователь выбирает место от 1 до 10.

Вы вводите =INDEX(A2:A11, F1). Когда кто-либо выбирает 1 в F1, он видит игрока, занявшего первое место; при выборе 3 отображается игрок, занявший третье место.

Формула не меняется — меняется только входное значение. Это основа всех гибких формул поиска, с которыми Вы познакомитесь далее.

=INDEX(A2:A11, F1)

Следите за позициями вне диапазона

Если запросить в INDEX несуществующую позицию, появится ошибка #REF!. Для диапазона из 5 элементов запрос позиции 6 завершится ошибкой.

Например, =INDEX(A2:A6, 9) возвращает #REF!, поскольку в диапазоне из 5 строк нет 9-го элемента.

Следите, чтобы номер позиции не превышал размер диапазона. Когда позже Вы будете получать позиции с помощью MATCH, такое случается редко, но важно уметь распознавать эту ошибку.

=INDEX(A2:A6, 9)

Быстрая проверка

Проверьте, насколько хорошо Вы поняли, как INDEX отсчитывает позиции.

Итоги: INDEX возвращает значения по позиции

Вы узнали, что INDEX получает значение по его позиции внутри диапазона:

  • =INDEX(array, row_num) — для одного столбца или строки
  • =INDEX(array, row_num, column_num) — для двумерного блока
  • Позиции отсчитываются от начала диапазона, поэтому первая ячейка имеет позицию 1
  • Позиция может быть числом, ссылкой на ячейку или результатом вычисления, благодаря чему INDEX работает динамически

Далее Вы познакомитесь с MATCH — функцией, которая автоматически находит эти позиции.

=INDEX(A2:A11, F1)

Часто задаваемые вопросы

Урок «Извлечение значений с помощью INDEX» бесплатный?

Да — полный текст урока «Извлечение значений с помощью INDEX» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.

Чему я научусь в уроке «Извлечение значений с помощью INDEX»?

Возвращайте значение из диапазона по его позиции в строке и столбце Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Excel Formulas Academy?

Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Извлечение значений с помощью INDEX»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Excel Formulas Academy?

Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Извлечение значений с помощью INDEX
  2. Поиск позиций с помощью MATCH
  3. Объединение INDEX и MATCH
  4. Почему INDEX-MATCH лучше VLOOKUP
← Назад к Excel Formulas Academy