sl14, то, что Вы неправильно понимаете написанное в справке, не значит, что написано неправильно )
Цитата |
---|
НЕ УКАЗАН, ЗНАЧИТ... |
Указываем и пишем:
=ВПР(что;где;столбец;0) или
ЛОЖЬ=ВПР(что;где;столбец;1) или
ИСТИНАУказываем, но не пишем (то же, что 0 или ЛОЖЬ):
=ВПР(что;где;столбец;)Не указываем и, естественно, не пишем (то же, что 1 или ИСТИНА):
=ВПР(что;где;столбец)Так понятнее?
============================================================
==
Цитата |
---|
sl14 написал: вариант быстрого ВПР... ВПР... ИСТИНА у меня подкинет похожее, не точное значение |
Нужно понимать, почему ВПР с параметром ИСТИНА названа быстрой.
=ВПР(что;$A$1:$B$1000000;2;ЛОЖЬ) ищет точное совпадение, но при этом перебирает ячейки последовательно, по одной, пока не найдет точное совпадение. И если искомого в диапазоне нет, будут просмотрены все ячейки диапазона (в данном примере -
миллион итераций)
=ВПР(что;$A$1:$B$1000000;2;ИСТИНА) ищет похожее значение
в отсортированном диапазоне. Если диапазон несортирован, применять ВПР с приблизительным соответствием нельзя.
А вот почему только в отсортированном и почему такая конструкция быстрая? Да потому, что поиск происходит совсем не так, как в первом случае.
Делим диапазон посередине. Если верхняя граница нижней части больше искомого значения, делим нижнюю часть посердине, верхняя игнорируется (в противном случае берем для работы верхнюю половину)... и.т.д. Для диапазона в миллион строк имеем не более
20 итераций (2^20 = 1048576)
Сравниваем количество с первым вариантом (точное совпадение) и понимаем, почему назвали вариант быстрым.
Вывод. При сортированных данных и при наличии искомого в этом диапазоне поиск происходит бывстрее в сотни/тысячи раз (в зависимости от размера диапазона).