Привет. Когда речь идёт о поиске по дате, времени, возрасту, сумме – чаще всего применяют приблизительный поиск. Я рассказывал, как это делать, здесь. А что, если нужен поиск по двум параметрам? Рассказываю, как это делается.

Например, вы премируете продавцов за продажи, и размер бонуса зависит от суммы выторга. При этом, в разных регионах процент отличается. Нужно вычислить процент, зная регион и сумму.

Применяем такую формулу:

=ИНДЕКС(массив_приблизительного_поиска ; ПОИСКПОЗ(величина_приблизительного_поиска ;ЕСЛИ( массив_точного_поиска = значение_точного_поиска ; массив_для_вывода );1))

Это формула массива, после её ввода нажмите Ctrl+Shift+Enter, чтобы вычислить результат!

Как это работает? По алгоритму:

  1. Сначала функция ЕСЛИ( массив_точного_поиска = значение_точного_поиска ; массив_для_вывода ) отбирает из всех исходных данных те, что соответствуют точному поиску. То есть данные Южного региона из нашего примера. Возвращает список контрольных сумм в таком виде: {ЛОЖЬ, ЛОЖЬ, ЛОЖЬ, ЛОЖЬ, 3000, 10000, 20000, 30000}
  2. Функция ПОИСКПОЗ осуществляет приблизительный поиск заданной величины продаж в массиве из предыдущего пункта. В нашем случае, ищет позицию ближайшей меньшей величины, т.к. способ сопоставления мы указали равным 1. ПОИСКПОЗ возвращает индекс найденной величины
  3. Функция ИНДЕКС получает результат вычисления из п.2 и выводит на экран значение процентов, соответствующих этому порядковому номеру.

Поскольку функция ПОИСКПОЗ требовательна к сортировке, нужно предварительно отсортировать таблицу с исходными данными по возрастанию значений приблизительного поиска (сумм продажи).

Кстати, если вы запишете регион – Центральный, формула вернет ошибку #Н/Д. Это может поломать последующие расчеты. Вы можете обернуть описанную формулу функцией-обработчиком ЕСЛИОШИБКА, чтобы, например, вывести ноль или произвольную строку вместо кода ошибки.

Вот так мы с вами сделали поиск по двум параметрам, один из которых – приблизительный. Если у вас появились вопросы – задавайте их в комментариях. Спасибо за прочтение, не забудьте поделиться ссылкой на статью с друзьями!