0Pricing
Excel Formulas Academy · Урок

Поиск по нескольким условиям с INDEX-MATCH

Одновременно сопоставляйте несколько столбцов, чтобы точно определить строку.

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

Когда одного ключа недостаточно

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

В таком случае нужен поиск по нескольким условиям: сопоставление по двум или более столбцам одновременно, чтобы точно определить одну строку.

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

Подход со вспомогательным столбцом

Проще всего представить это так: объедините ключевые столбцы в один. Добавьте вспомогательный столбец, соединяющий товар и размер, а затем выполните обычный поиск по нему.

Например, вспомогательная ячейка может содержать =A2&"|"&B2, что даст значение "Shirt|Large". Затем выполните MATCH для поиска "Shirt|Large" в объединённом столбце.

Это работает, но загромождает таблицу. В следующих разделах показано, как полностью отказаться от вспомогательного столбца.

=A2 & "|" & B2

Сопоставление двух условий одновременно

Основной приём: перемножьте проверки двух условий внутри MATCH.

(A2:A10=G1) создаёт массив TRUE/FALSE для первого условия. (B2:B10=G2) делает то же самое для второго. Их перемножение, (A2:A10=G1)*(B2:B10=G2), даёт 1 только там, где оба условия равны TRUE, и 0 в остальных случаях.

Затем MATCH ищет значение 1, чтобы найти строку, соответствующую обоим условиям.

=(A2:A10=G1) * (B2:B10=G2)

Почему умножение означает AND

В электронных таблицах TRUE ведёт себя как 1, а FALSE — как 0. Перемножение этих значений имитирует логическое AND:

  • 1 умножить на 1 = 1 (оба условия выполнены)
  • 1 умножить на 0 = 0
  • 0 умножить на 1 = 0
  • 0 умножить на 0 = 0

Поэтому только строки, в которых выполнены оба условия, дают 1. Во всех остальных строках получается 0. Эта единственная 1 отмечает нужную строку.

Поиск строки с помощью MATCH

Теперь оберните перемноженный массив в MATCH и выполните поиск точного значения 1.

MATCH(1, (A2:A10=G1)*(B2:B10=G2), 0) возвращает позицию первой строки, в которой оба условия равны TRUE.

Если подходящее сочетание находится в четвёртой строке данных, MATCH возвращает 4. Именно эта позиция нужна INDEX для получения результата.

=MATCH(1, (A2:A10=G1)*(B2:B10=G2), 0)

Возврат значения с помощью INDEX

Передайте результат MATCH в INDEX, указав столбец, из которого нужно получить значение, например цены в C2:C10.

Полная формула означает: в диапазоне C2:C10 вернуть значение строки, где товар равен G1 и размер равен G2.

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

=INDEX(C2:C10, MATCH(1, (A2:A10=G1)*(B2:B10=G2), 0))

Правильный ввод формулы

Эта формула обрабатывает массивы условий. В современном Excel и Google Sheets достаточно нажать Enter — формула будет работать.

В старом Excel (до появления динамических массивов) необходимо подтвердить формулу массива сочетанием Ctrl+Shift+Enter, после чего появятся фигурные скобки. Если в устаревшей версии Excel результат неправильный или отображается ошибка, обычно отсутствует именно этот шаг подтверждения.

=INDEX(C2:C10, MATCH(1, (A2:A10=G1)*(B2:B10=G2), 0))

Добавление третьего условия

Нужно использовать три условия? Просто добавьте ещё одну проверку при умножении. Предположим, Вы также хотите сопоставить цвет в столбце D со значением из G3.

Каждый дополнительный множитель (range=criterion) ещё сильнее сужает результат. Только строки, в которых все условия равны TRUE, сохраняют произведение 1; любое FALSE превращает всё произведение в 0.

Этот принцип можно расширять на любое необходимое количество столбцов.

=INDEX(C2:C10, MATCH(1, (A2:A10=G1)*(B2:B10=G2)*(D2:D10=G3), 0))

Разбор примера

Данные: A = товар, B = размер, C = цена. Нужно найти цену "Shirt" размера "Large".

  • G1 = "Shirt", G2 = "Large".
  • Массивы условий дают 1 только в строке Shirt+Large, например в строке 4.
  • MATCH(1, ..., 0) возвращает 4.
  • INDEX(C2:C10, 4) возвращает цену из этой строки.

Измените любое входное значение — и формула мгновенно найдёт нужную строку заново.

=INDEX(C2:C10, MATCH(1, (A2:A10=G1)*(B2:B10=G2), 0))

Ошибки и безопасность

Помните о следующем:

  • Одинаковые диапазоны: каждый диапазон условий и столбец INDEX должны иметь одинаковую высоту.
  • Отсутствие совпадений: если ни одна строка не соответствует всем условиям, MATCH возвращает #N/A. Оберните всю формулу в IFERROR.
  • Дубликаты: если подходит несколько строк, MATCH возвращает только первую. Сделайте условия достаточно точными, чтобы результат был уникальным.
=IFERROR(INDEX(C2:C10, MATCH(1, (A2:A10=G1)*(B2:B10=G2), 0)), "No match")

SUMPRODUCT как альтернатива

Если совпадения могут находиться в нескольких строках и вместо извлечения одного значения необходимо суммировать их значения, SUMPRODUCT станет удобной альтернативой INDEX-MATCH с вводом формулы массива.

Эта функция умножает массивы условий на столбец значений и складывает результаты, поэтому вклад в сумму вносят только строки, соответствующие обоим критериям. Нажимать Ctrl+Shift+Enter не требуется, поскольку SUMPRODUCT изначально работает с массивами.

Используйте INDEX-MATCH для извлечения одного подходящего значения, а SUMPRODUCT — для суммирования значений всех совпадений.

=SUMPRODUCT((A2:A10=G1) * (B2:B10=G2) * C2:C10)

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

Проверьте свои знания поиска по нескольким критериям.

Итоги урока

Для поиска по нескольким критериям с помощью INDEX-MATCH:

  • Перемножьте массивы условий: (A=G1)*(B=G2) даёт 1 только там, где выполняются все условия (логическое AND).
  • MATCH(1, ..., 0) находит позицию этой строки.
  • INDEX(returnCol, position) возвращает значение.

Для добавления условий используйте дополнительные множители *(range=criterion), следите, чтобы диапазоны имели одинаковую высоту, в старых версиях Excel подтверждайте формулу нажатием Ctrl+Shift+Enter и обрабатывайте ошибки с помощью IFERROR.

=INDEX(C2:C10, MATCH(1, (A2:A10=G1)*(B2:B10=G2), 0))

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

Урок «Поиск по нескольким условиям с INDEX-MATCH» бесплатный?

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

Чему я научусь в уроке «Поиск по нескольким условиям с INDEX-MATCH»?

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

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

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

Сколько времени занимает урок «Поиск по нескольким условиям с INDEX-MATCH»?

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

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

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

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

  1. Двунаправленный поиск с INDEX-MATCH-MATCH
  2. Поиск последнего совпадающего значения
  3. Поиск по нескольким условиям с INDEX-MATCH
  4. Приближённое сопоставление для интервальных таблиц
← Назад к Excel Formulas Academy