Excel и Google Workspace / Поиск и подстановка

INDEX и MATCH для поиска значения слева

Связка INDEX и MATCH ищет значение E2 в C2:C20, определяет номер найденной позиции и возвращает значение с той же позиции из A2:A20. Такой прием особенно полезен, когда результат расположен левее столбца поиска.

Опубликовано: Обновлено:

Формула

$$=INDEX(A2:A20,MATCH(E2,C2:C20,0))$$

Обозначения

$A2:A20$
диапазон результата, из которого INDEX возвращает значение
$E2$
искомое значение для MATCH
$C2:C20$
диапазон поиска, где MATCH ищет значение из E2
$0$
точное совпадение в функции MATCH

Условия применения

  • Диапазон результата A2:A20 и диапазон поиска C2:C20 должны быть одной высоты.
  • MATCH с аргументом 0 ищет только точное совпадение, поэтому ключи должны совпадать по тексту и типу данных.
  • Если в диапазоне поиска есть дубликаты, будет использована первая найденная позиция.

Ограничения

  • Формула выглядит сложнее, чем VLOOKUP или XLOOKUP, поэтому ее труднее читать новичкам.
  • При несовпадении размеров диапазонов можно получить неправильное соответствие строки.
  • MATCH не очищает пробелы и не приводит текстовые числа к обычным числам автоматически.

Подробное объяснение

MATCH выполняет поисковую часть. Она просматривает C2:C20 и возвращает не само найденное значение, а его порядковый номер внутри диапазона.

INDEX выполняет часть возврата результата. Получив номер позиции от MATCH, она берет элемент с таким же номером из диапазона A2:A20.

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

Аргумент 0 в MATCH означает точное совпадение. Для офисных кодов это защищает от ситуации, когда ближайшее по сортировке значение ошибочно принимается за найденное.

Сегодня в новых версиях Excel часто проще использовать XLOOKUP. Но INDEX и MATCH остаются важными, потому что работают в старых книгах и хорошо подходят для сложных вложенных формул.

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

Как пользоваться формулой

  1. Определите, из какого столбца нужно вернуть результат.
  2. Определите, в каком столбце нужно искать ключ.
  3. Внутрь INDEX поместите MATCH как аргумент номера строки.
  4. В MATCH обязательно укажите 0 для точного совпадения.
  5. Проверьте, что оба диапазона начинаются и заканчиваются на одинаковых строках.

Историческая справка

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

До появления XLOOKUP эта связка была главным профессиональным способом обойти ограничение VLOOKUP на поиск только вправо.

В финансовых моделях и управленческих отчетах INDEX и MATCH ценили за устойчивость к вставке столбцов. Формула не зависит от числового индекса столбца внутри большой таблицы.

Даже в современных книгах эта техника встречается часто, потому что совместима со старыми версиями Excel и понятна многим аналитикам.

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

Историческая линия формулы

INDEX и MATCH являются функциями Microsoft Excel. Их совместное применение сформировалось как профессиональная практика работы с табличными справочниками, особенно в финансовых моделях и отчетах. Связка не приписывается одному автору, а выросла из возможностей Excel по адресации и поиску в диапазонах.

Пример

Дано: A2:A4 содержит артикулы P-100, P-200, P-300. C2:C4 содержит штрихкоды 46001, 46002, 46003. В E2 введен штрихкод 46002. MATCH(E2,C2:C4,0) возвращает позицию 2, а INDEX(A2:A4,2) возвращает второй артикул. Результат формулы =INDEX(A2:A4,MATCH(E2,C2:C4,0)): P-200. Важно, что результат берется из столбца A, который находится левее столбца C. VLOOKUP в такой структуре потребовал бы переставить столбцы или добавить вспомогательный справочник, а INDEX и MATCH работают с исходной таблицей как есть. Если E2 заменить на 46003, MATCH вернет позицию 3, а итогом станет P-300.

Частая ошибка

Первая типичная ошибка: использовать диапазоны разной высоты, например A2:A20 и C3:C20, из-за чего позиция поиска перестает соответствовать строке результата. Вторая ошибка: заменить 0 в MATCH на 1 и случайно включить приблизительный поиск. Третья ошибка: искать число в столбце, где значения сохранены как текст. В Excel это часто возникает после импорта из CRM или сайта.

Практика

Задачи с решением

Найти артикул по штрихкоду

Условие. A2:A4 содержит M-1, M-2, M-3. C2:C4 содержит 111, 222, 333. В E2 введено 333.

Решение. MATCH(333,C2:C4,0) вернет 3. Затем INDEX(A2:A4,3) вернет третий артикул из диапазона результата.

Ответ. M-3

Найти причину ошибки #N/A

Условие. Формула ищет значение 222, но в C2:C4 оно записано как текст с пробелом: "222 ".

Решение. MATCH с точным совпадением не считает 222 и "222 " одинаковыми. Нужно очистить исходные данные через TRIM или привести значения к одному типу.

Ответ. Ошибка вызвана лишним пробелом или разным типом данных

Дополнительные источники

  • Microsoft Support: INDEX function - https://support.microsoft.com/en-us/office/index-function-a5dcf0dd-996d-40a4-a822-b56b061328bd
  • Microsoft Support: Excel functions by category - https://support.microsoft.com/en-us/office/excel-functions-by-category-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb
  • Dan Bricklin: VisiCalc and the origins of spreadsheets - https://www.bricklin.com/visicalc.htm

Связанные формулы

Excel и Google Workspace

VLOOKUP для точного поиска в Excel

$=VLOOKUP(E2,A2:C20,3,FALSE)$

Функция VLOOKUP ищет значение из E2 в первом столбце диапазона A2:C20 и возвращает значение из третьего столбца найденной строки. Последний аргумент FALSE включает точное совпадение, поэтому формула подходит для артикулов, кодов клиентов и других ключей, где приблизительный поиск недопустим.

Excel и Google Workspace

XLOOKUP для точного поиска в Excel

$=XLOOKUP(E2,A2:A20,C2:C20,"Не найдено",0)$

XLOOKUP ищет значение из E2 в диапазоне A2:A20 и возвращает соответствующее значение из C2:C20. В отличие от VLOOKUP, диапазон поиска и диапазон результата задаются отдельно, поэтому функция спокойно ищет как вправо, так и влево.

Excel и Google Workspace

SUMIFS для суммы по нескольким условиям

$=SUMIFS(D2:D100,B2:B100,"Москва",C2:C100,">="&DATE(2026,1,1))$

SUMIFS суммирует значения из D2:D100 только по тем строкам, где город в B2:B100 равен Москве, а дата в C2:C100 не раньше 1 января 2026 года. Функция подходит для отчетов продаж, расходов и оплат с несколькими фильтрами.

Excel и Google Workspace

COUNTIFS для подсчета строк по нескольким условиям

$=COUNTIFS(B2:B100,"Москва",D2:D100,">5000")$

COUNTIFS считает строки, которые одновременно удовлетворяют нескольким условиям. В этой формуле учитываются только строки, где в столбце B указана Москва, а значение в столбце D больше 5000.