Гид по технологиям

Как использовать INDEX и MATCH в Excel для гибкого поиска данных

7 min read Excel Обновлено 31 Dec 2025
INDEX и MATCH в Excel: гибкий поиск данных
INDEX и MATCH в Excel: гибкий поиск данных

Аналитик работает с формулами INDEX и MATCH в Excel

Определять полезные инсайты — основная цель работы с базой данных. В Microsoft Excel есть функции VLOOKUP и HLOOKUP для поиска данных в больших таблицах, но они ограничены. Комбинация INDEX и MATCH решает эти ограничения и делает поиск более гибким и надежным.

В этой статье вы найдёте простые объяснения, пошаговые примеры и практические советы по применению INDEX и MATCH — от базового поиска до многомерных сценариев и шаблонов для рабочего процесса.

Что делает функция INDEX?

Функция INDEX возвращает значение из указанного диапазона на основе номера строки и (опционально) номера столбца. Представьте GPS: MATCH говорит, где искать (номер строки/столбца), а INDEX возвращает адрес (значение).

Синтаксис:

=INDEX(array, row_num, [column_num])

Краткое определение: INDEX возвращает содержимое ячейки в диапазоне по указанным индексам.

Простой пример применения:

  1. Выберите ячейку, где хотите получить результат.
  2. Введите =INDEX( и укажите диапазон данных.
  3. Укажите номер строки (относительно выбранного диапазона).
  4. При необходимости укажите номер столбца.
  5. Закройте скобку и нажмите Enter.

Пример формулы для одномерного столбца:

=INDEX(C5:C8,3,0)

Совет: если диапазон — один столбец, третий аргумент можно опустить или установить в 0, в зависимости от версии Excel.

Выполнение функции INDEX в Excel; визуализация выбора диапазона и номера строки

Что делает функция MATCH?

MATCH возвращает позицию (номер) искомого значения в заданном диапазоне. Это полезно, когда нужно получить индекс строки или столбца для передачи в INDEX.

Синтаксис:

=MATCH(lookup_value, lookup_array, [match_type])

Краткое определение: MATCH находит, на какой позиции в списке находится искомое значение.

Аргументы:

  • lookup_value — значение для поиска (может быть ссылка на ячейку или строка в кавычках).
  • lookup_array — диапазон, в котором ищем значение.
  • match_type — тип совпадения: 0 = точное, 1 = наибольшее значение, меньшее или равное lookup_value, -1 = наименьшее значение, большее или равное.

Пошагово:

  1. Выберите ячейку для вывода номера позиции.
  2. Введите =MATCH( и укажите искомое значение и диапазон.
  3. Введите 0 для точного совпадения (рекомендуется для текстовых поисков).
  4. Закройте скобку и нажмите Enter.

Примеры:

=MATCH(C7,C5:C8,0)
=MATCH("active listening",C5:C8,0)

Иллюстрация работы функции MATCH: ввод значения поиска и диапазона

Почему сочетание INDEX и MATCH лучше, чем VLOOKUP?

Преимущества:

  • Поиск может выполняться слева направо или справа налево. Нет привязки к первому столбцу.
  • Безопасно удалять, вставлять или переупорядочивать столбцы — формулы не ломаются, если диапазон задан явно.
  • Быстрее на больших наборах данных по сравнению с VLOOKUP в ряде сценариев.
  • Поддерживает точные и приблизительные совпадения.
  • Позволяет строить гибкие многомерные запросы (по строкам и столбцам одновременно).

Важно: при работе с очень большими файлами стоит тестировать производительность и рассматривать применение фильтров/индексации в источнике данных.

Как объединить INDEX и MATCH в одной формуле (простая задача)

Задача: по имени приложения (App Name) получить его Revenue или Profit.

Шаги:

  1. В ячейке с результатом начните ввод =INDEX(
  2. Укажите диапазон с данными, например C3:C13 для Revenue.
  3. Вместо номера строки используйте MATCH, который найдет номер приложения в столбце B.
  4. Закройте формулу.

Пример:

=INDEX(C3:C13,MATCH(G2,B3:B13,0))
=INDEX(D3:D13,MATCH(G2,B3:B13,0))

Где G2 — ячейка с именем приложения, B3:B13 — столбец с именами приложений.

Применение INDEX и MATCH для поиска revenue по имени приложения

Двумерный поиск: строка и столбец одновременно

Если данные организованы как таблица с заголовками столбцов и строк, можно использовать второй MATCH для определения столбца.

Пример с выпадающим списком для выбора Revenue или Profit:

  1. Создайте выпадающий список через Данные → Проверка данных → Список, в качестве источника укажите заголовки столбцов (Revenue, Profit).
  2. В формуле используйте два MATCH: один для строки (имя приложения), другой для столбца (Revenue/Profit).

Формула:

=INDEX(C3:D13,MATCH(G2,B3:B13,0),MATCH(F4,C2:D2,0))

Где:

  • C3:D13 — матрица данных Revenue/Profit,
  • MATCH(G2,B3:B13,0) — номер строки,
  • MATCH(F4,C2:D2,0) — номер столбца, выбранный из выпадающего списка.

INDEX и MATCH для двумерного поиска с выпадающим списком

Многомерный поиск с объединёнными критериями

Если нужно искать по нескольким критериям одновременно (например, имя приложения + тип дохода: прогноз/факт), можно объединять значения с помощью оператора &.

Пример формулы для трёх селекторов (App Name, Forecast/True, Revenue/Profit):

=INDEX(C4:F14,MATCH(I4,B4:B14,0),MATCH(J2&J3,INDEX(C2:F2&C3:F3,0),0))

Пояснение:

  • MATCH(I4,B4:B14,0) находит строку по имени приложения.
  • Вложенный INDEX(C2:F2&C3:F3,0) создаёт массив объединённых заголовков столбцов.
  • MATCH(J2&J3, …, 0) ищет объединённый критерий по колонкам.

Многомерное применение INDEX и MATCH с объединением критериев

Совет: при объединении строк следите за типами данных (числа и текст) и пробелами между элементами.

Практические замечания по локали и разделителям формул

Важно: в русской локали Excel разделителем аргументов в формулах часто служит точка с запятой (;), а не запятая (,). Если формула с запятыми не работает, замените запятые на точку с запятой.

Примеры для локальной версии Excel:

=INDEX(C3:C13;MATCH(G2;B3:B13;0))
=INDEX(C3:D13;MATCH(G2;B3:B13;0);MATCH(F4;C2:D2;0))

Примечание: кодовые примеры в статье сохранены с запятыми для совместимости с англоязычными источниками. ajustируйте под свою локальную установку Excel.

Когда INDEX и MATCH не подходят или дают сбой

Контр-примеры и ограничения:

  • MATCH с match_type = 1 или -1 требует отсортированного диапазона; без сортировки результаты будут некорректны.
  • Если lookup_value отсутствует, MATCH вернёт ошибку #N/A; нужно оборачивать в IFERROR или использовать проверку наличия.
  • В сложных динамических таблицах лучше использовать структурированные таблицы Excel (Ctrl+T) или Power Query.
  • Для поиска по множественным листам или внешним базам данных лучше применять Power Query, SQL или функции XLOOKUP (если доступна).

Альтернативы и сравнения

  • VLOOKUP/HLOOKUP: проще для новичков, но ограничены направлением поиска и уязвимы к изменениям структуры.
  • XLOOKUP: современная функция Office 365/Excel 2021+, объединяющая возможности INDEX+MATCH и VLOOKUP; поддерживает поиск в любом направлении, возвращение нескольких значений и обработку ошибок.
  • Power Query: превосходит формулы при трансформации и объединении больших источников данных.

Рекомендация: если у вас есть XLOOKUP и вы работаете только в новых версиях Excel, изучите её; если требуется гибкость и совместимость с разными версиями, используйте INDEX+MATCH.

Мини-методология: как вводить INDEX+MATCH в рабочий процесс

  1. Определите, какие поля служат идентификаторами (ключами) — это будут аргументы для MATCH.
  2. Выделите минимально необходимый диапазон данных для INDEX, чтобы формулы оставались читаемыми.
  3. Сначала протестируйте MATCH отдельно и проверьте, что он возвращает корректные позиции.
  4. Затем оберните MATCH в INDEX и проверьте результаты на нескольких выборках.
  5. Добавьте обработку ошибок: IFERROR(…, “Не найдено”) или кастомные сообщения.
  6. Документируйте предположения: сортировка, формат данных, пустые значения.

Чек-листы по ролям

Для аналитика:

  • Убедиться, что ключевые столбцы не содержат лишних пробелов.
  • Нормализовать форматы дат и чисел.
  • Добавить проверку наличия значения (ISNA/IFERROR).

Для менеджера отчётности:

  • Подтвердить требования к полям, по которым будут осуществляться выборки.
  • Попросить аналитика задокументировать формулы и предусмотреть тесты.

Для разработчика/автоматизатора:

  • Рассмотреть миграцию в Power Query при больших объёмах.
  • Настроить версионность шаблонов и бэкап формул.

Шаблоны и сниппеты (чек-лист формул)

Базовая проверка наличия и возврата значения:

=IFERROR(INDEX(C3:C13,MATCH(G2,B3:B13,0)),"Не найдено")

Двумерный поиск с выпадающим списком:

=IFERROR(INDEX(C3:D13,MATCH(G2,B3:B13,0),MATCH(F4,C2:D2,0)),"Не найдено")

Многокритериальная проверка с объединением (пример для двух критериев строки):

=INDEX(D2:D100,MATCH(1,(A2:A100=H1)*(B2:B100=H2),0))

Примечание: последняя формула — массивная (в старых Excel нужно подтверждать Ctrl+Shift+Enter), в новых Excel она работает обычным Enter.

Критерии приёмки

  • Формула возвращает корректный результат для 10 тестовых записей, включая крайние случаи (пустые, несуществующие, дубликаты).
  • При удалении или вставке столбца формула остаётся верной при условии корректно заданного диапазона.
  • Введена обработка ошибок и понятное сообщение для пользователей.

Тестовые случаи и набор тестов

  1. Позитивный тест: существующее значение в середине диапазона.
  2. Крайний тест: значение в первой и последней строке.
  3. Негативный тест: отсутствующее значение → ожидать “Не найдено”.
  4. Граничный тест: текст с лишними пробелами → ожидать, что поиск не найдёт, если не применена TRIM.
  5. Локализация: проверка формулы с точками с запятой в настройках локали.

Советы по безопасности и качеству

  • Избегайте длинных вложенных формул в публичных шаблонах без комментариев.
  • Документируйте ожидания по типам данных (текст/числа/даты).
  • Для чувствительных данных применяйте ограничения доступа к файлу и используйте защищённые листы.

Быстрый справочник по ошибкам

  • #N/A — MATCH не нашёл значение.
  • #REF! — некорректный диапазон или удалённая область.
  • #VALUE! — неверный тип аргумента.

Модель принятия решений (Mermaid)

flowchart TD
  A[Нужно ли искать данные?] -->|Да| B{Есть ли XLOOKUP?}
  B -->|Да| C[Использовать XLOOKUP]
  B -->|Нет| D{Нужно ли совместимость с старыми версиями?}
  D -->|Да| E[Использовать INDEX+MATCH]
  D -->|Нет| C
  A -->|Нет| F[Не выполнять поиск]

Короткий глоссарий

  • INDEX — возвращает значение по индексу в диапазоне.
  • MATCH — находит позицию значения в диапазоне.
  • XLOOKUP — современная функция-замена, доступна в новых версиях Excel.

Резюме

Комбинация INDEX и MATCH даёт гибкость, производительность и надёжность при поиске данных в Excel. Она пригодна как для простых одноизмерных задач, так и для сложных многомерных сценариев с несколькими критериями. Включите обработку ошибок и тесты, учитывайте локальные отличия синтаксиса (запятые или точки с запятой) и при необходимости используйте современные альтернативы вроде XLOOKUP или Power Query.

Важно: если вы используете русскую локаль Excel, проверяйте разделитель аргументов и формат дат перед развёртыванием формул в отчёте.

Краткие рекомендации:

  • Всегда тестируйте MATCH отдельно.
  • Используйте IFERROR для удобных сообщений пользователям.
  • Для больших наборов данных рассмотрите Power Query или базы данных.

Примечание: скачайте рабочую книгу с примерами для практики — шаблон поможет воспроизвести шаги и настроить формулы под свои данные.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Skype не запускается в Windows 10/11 — как исправить
Windows

Skype не запускается в Windows 10/11 — как исправить

Обслуживание электросамоката: безопасность и советы
Персональная мобильность

Обслуживание электросамоката: безопасность и советы

Что такое Spotify Daylist и как его найти
Музыка

Что такое Spotify Daylist и как его найти

7 способов сделать Spotify центром вечеринки
Музыка

7 способов сделать Spotify центром вечеринки

Контроллер Xbox One не работает — руководство по ремонту
Гайды

Контроллер Xbox One не работает — руководство по ремонту

Где найти бесплатный Wi‑Fi рядом — быстрые способы
Connectivity

Где найти бесплатный Wi‑Fi рядом — быстрые способы