Приближённое сопоставление для интервальных таблиц
Находите нужный интервал в таблице цен или оценок с помощью отсортированной MATCH.
«Приближённое сопоставление для интервальных таблиц» — бесплатный урок 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 — локальная установка не требуется.
Все уроки этого курса
- Двунаправленный поиск с INDEX-MATCH-MATCH
- Поиск последнего совпадающего значения
- Поиск по нескольким условиям с INDEX-MATCH
- Приближённое сопоставление для интервальных таблиц