ВПР: определение данных в интервалах
Категория: Приемы и советы, Формулы и функции | Опубликовано 07-05-2013
|5
Определим стоимость доставки груза в зависимости от его массы.
Подобную задачу можно решить с помощью функции ЕСЛИ [IF], а можно и воспользоваться формулой ВПР [VLOOKUP]. Наиболее часто, функцию ВПР используют для определения точного совпадения искомого значения в другой таблице, но на этот раз рассмотрим использование функции ВПР для приблизительного поиска.
Отличия будут заключаться в следующем:
- таблица, в которой ведется поиск (таблица тарифов) должна быть отсортирована по возрастанию по первому столбцу, поэтому преобразуем таблицу тарифов доставки к правильному виду для работы – выделим границы диапазонов массы грузов и упорядочим их по возрастанию
- 4-й аргумент в функции ВПР – просматриваемый массив. Отвечает за то, как ведется поиск. При 0 ищет первое точное совпадение при просмотре сверху вниз, а при 1 если нет совпадения, то функция выдает максимальное значение из всех тех, что меньше искомого
Как же будет работать функция ВПР в данном случае? Рассмотрим 2 ситуации:
- масса груза совпадает, например, 250 г – ответ будет 33 у.е.
- масса груза будет 555 г – при просмотре сверху вниз, программа найдет первое значение, которое окажется больше заданного, т.е. 750, а ответ будет по предыдущей строке, т.е. 55 у.е. Получается, что там, где в строке указано 500, на самом деле от 500 (включительно) до 750 (не включительно)
29.05.2014 (13:36)
Решал подобное через ЕСЛИ, но так быстрее!
09.12.2014 (08:47)
Ольга, подскажите, если по аналогии с приведенным примером, нужно получить значение не выше, а ниже. Тогда как быть?
11.12.2014 (21:07)
Denis, в этом случае нужно воспользоваться двумя функциями: ИНДЕКС и ПОИСКПОЗ. Причем в ПОИСКПОЗ последний аргумент -1 и табличка отсортирована по столбцу по убыванию (при 1 она сортируется по возрастанию)
22.06.2017 (23:48)
Теперь понятно хоть зачем то приблизительное решение
21.02.2020 (07:27)
это гораздо лучше, чем вложенные “если”