Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
на массиве в 2^20 строк обычный бинарный поиск будет делать ~10 вычислений, формула выше — около 20, в то время, как линейный поиск — ~500.000
на текущий момент быстрее стандартного поиска по словарю не нашел, буду рад комментариям и по этой части.
С единственным ограничением — функция работает корректно только на массиве, сортированном от меньшего к большему.На мой взгляд, если уж написали пользовательскую функцию, так почему бы сразу не включить в код предварительную сортировку массива?

ВПР, к сожалению, требует слишком много условий для нормальной работы:Если в формулу последним параметром ставить «0» («ЛОЖЬ») то поиск ведется до победного и сортировка для ВПР не нужна.
— ключ сортированный по возврастанию
ВПР, к сожалению, требует слишком много условий для нормальной работы:Так ИНДЕКС+ПОИСКПОЗ при наличие дублей тоже вырнет только первое найденное вхождение.
— повторый ключа вносят неопределенность
— либо связка ПОИСКПОЗ+СЦЕПИТЬ+ИНДЕКС — для опятьже нескольких условий и получения текстового значения?
на данных в 200 тыс строк 50 сек вместо 45), что не критично, зато поддерживает целостность данных.
Упрощаем бинарный поиск в Excel — реализация Double VLOOKUP Trick с помощью UDF