= ЕСЛИ( ВПР ( ID ; данные ; столб ; ИСТИНА ) = идентификатор ; ВПР ( идентификатор ; данные ; столб ; ИСТИНА ); НА())
При использовании ВПР в «режиме с точным соответствием» на большом наборе данных, он действительно может замедлить время вычисления в рабочем листе.
Точное совпадение устанавливается путем подачи ЛОЖЬ или равен нулю, как четвертый аргумент:
= ВПР ( значения; данные ; столб ; ЛОЖЬ)
Причина медленной работы ВПР в этом режиме в том, что он должен проверить каждую запись в наборе данных, пока не будет найдено совпадение. Это иногда называют линейный поиск.
В режиме приблизительного совпадения, ВПР очень быстр. Чтобы использовать приближенное совпадение ВПР, вы должны сортировать данные по первому столбцу (столбец поиска), а затем указать значение ИСТИНА для 4-го аргумента:
= ВПР ( значения; данные ; столб; ИСТИНА )
Проблема с ВПР в режиме «приближенного совпадения» заключается в следующем: ВПР не будет отображать сообщение об ошибке , если значение поиска не существует. Хуже того, результат может выглядеть совершенно нормально, несмотря на то, что это совершенно неправильно.
Решение состоит в том, чтобы использовать ВПР дважды, оба раза в режиме приближенного совпадения:
= ЕСЛИ( ВПР ( ID ; данные ; столб; ИСТИНА ) = идентификатор ; ВПР ( идентификатор ; данные ; столб; ИСТИНА ); НА())