Excel Formulas Academy · Урок

Приближённое сопоставление для интервальных таблиц

Находите нужный интервал в таблице цен или оценок с помощью отсортированной MATCH.

Урок 4 из 413 шагов

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

Что такое ступенчатая таблица

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

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

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

Точное и приближённое совпадение

До этого мы использовали MATCH(value, range, 0) для поиска точного совпадения. Третий аргумент 0 означает «найти это значение точно или вернуть #N/A».

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

Есть одно строгое правило: при типе совпадения 1 список порогов должен быть отсортирован в порядке возрастания.

=MATCH(87, E2:E6, 1)

Настройка диапазонов

Представьте таблицу оценок. В столбце E хранятся нижние пороги, отсортированные по возрастанию: 0, 60, 70, 80, 90. В столбце F хранятся обозначения: F, D, C, B, A.

Баллы от 0 до 59 соответствуют F, от 60 до 69 — D и так далее. Мы храним только начало каждого диапазона, а не каждый возможный балл.

Наша цель — получить буквенную оценку по баллу, указанному в G1.

Поиск позиции диапазона

Используйте приближённый MATCH, чтобы определить, в какой диапазон попадает балл. Формула MATCH(G1, E2:E6, 1) для балла 87 ищет наибольший порог, не превышающий 87.

Пороги равны 0, 60, 70, 80 и 90. Наибольший из них, не превышающий 87, — это 80, расположенный на позиции 4. Поэтому MATCH возвращает 4.

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

=MATCH(G1, E2:E6, 1)

Возврат обозначения диапазона

Теперь передайте эту позицию в INDEX для столбца обозначений F2:F6.

INDEX(F2:F6, MATCH(G1, E2:E6, 1)) получает позицию 4 и возвращает четвёртое обозначение — «B».

Таким образом, балл 87 правильно преобразуется в оценку B. Если изменить G1 на 95, MATCH вернёт 5 и результатом будет «A»; если изменить его на 55, MATCH вернёт 1 и результатом будет «F».

=INDEX(F2:F6, MATCH(G1, E2:E6, 1))

Требование к сортировке

Приближённый MATCH (тип 1) требует сортировки по возрастанию в диапазоне поиска. Он предполагает, что значения увеличиваются, и останавливается, как только проходит искомое значение.

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

=INDEX(F2:F6, MATCH(G1, E2:E6, 1))

То же самое с XLOOKUP

XLOOKUP также умеет выполнять приближённый поиск. Его пятый аргумент, режим совпадения, принимает значение -1 для варианта «точное совпадение или следующий меньший элемент», который идеально подходит для ступенчатых таблиц.

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

=XLOOKUP(G1, E2:E6, F2:F6, "Out of range", -1)

Пример ценового диапазона

Рассмотрим скидку за объём. Пороги в столбце E (заказанное количество): 0, 10, 50, 100. Скидки в столбце F: 0%, 5%, 10%, 15%.

  • Заказ 7: наибольший порог, не превышающий 7, равен 0; это позиция 1, поэтому возвращается 0%.
  • Заказ 60: наибольший порог, не превышающий 60, равен 50; это позиция 3, поэтому возвращается 10%.
  • Заказ 200: наибольший порог, не превышающий 200, равен 100; это позиция 4, поэтому возвращается 15%.

Одна формула обрабатывает любое количество.

=INDEX(F2:F5, MATCH(G1, E2:E5, 1))

Обработка значений ниже первого диапазона

Что произойдёт, если значение меньше всех порогов? При приближённом MATCH подходящего значения, меньшего или равного ему, нет, поэтому MATCH возвращает #N/A.

Чтобы этого избежать, убедитесь, что первый порог охватывает нижнюю границу (часто это 0), или оберните формулу в IFERROR, чтобы показывать понятное сообщение, когда входное значение выходит за допустимый диапазон.

=IFERROR(INDEX(F2:F6, MATCH(G1, E2:E6, 1)), "Below lowest tier")

Распространённые ошибки

Остерегайтесь следующих ловушек при работе со ступенчатыми таблицами:

  • Несортированные пороги: главная причина неправильных результатов, которые не сопровождаются ошибкой.
  • Использование типа совпадения 0: требует точного совпадения и возвращает #N/A для любого промежуточного значения.
  • Сохранение концов диапазонов вместо их начал: MATCH с типом 1 ожидает нижнюю границу каждого диапазона, а не верхнюю.
  • Текстовые пороги: числа, сохранённые как текст, нарушают сравнение; храните их как числа.

Двумерные ступенчатые таблицы

Можно объединить приближённый поиск с техникой поиска по двум направлениям. Представьте стоимость доставки, зависящую одновременно от весового диапазона (строки) и зоны (столбцы).

Используйте один приближённый MATCH (тип 1), чтобы найти строку веса, и другой — чтобы найти столбец зоны, а затем передайте обе позиции в INDEX. Поскольку пороги по обеим осям отсортированы, каждый MATCH указывает на правильный диапазон.

Так INDEX-MATCH-MATCH объединяется с логикой ступенчатых таблиц для создания подробных таблиц тарифов.

=INDEX(B2:D6, MATCH(G1, A2:A6, 1), MATCH(G2, B1:D1, 1))

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

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

Итоги урока

Для поиска по ступенчатым таблицам и диапазонам:

  • Храните нижний порог каждого диапазона и сортируйте пороги в порядке возрастания.
  • Используйте MATCH(value, thresholds, 1), чтобы найти позицию диапазона (наибольшее значение, не превышающее входное).
  • Оберните формулу в INDEX(labels, ...), чтобы вернуть обозначение диапазона, или используйте XLOOKUP(..., -1) для получения того же результата.

Охватите нижнюю границу порогом 0 или используйте IFERROR для входных значений вне диапазона; никогда не оставляйте пороги несортированными.

=INDEX(F2:F6, MATCH(G1, E2:E6, 1))
Можно начать бесплатно

Изучай Excel с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

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

Урок «Приближённое сопоставление для интервальных таблиц» бесплатный?

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

Чему я научусь в уроке «Приближённое сопоставление для интервальных таблиц»?

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

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

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

Сколько времени занимает урок «Приближённое сопоставление для интервальных таблиц»?

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

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

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

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

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