2015-11-05 6 views
-1

Мне нужно сделать Vlookup из другой книги около 400000 ячеек с Vba. Эти клетки находятся в одной колонке. И должны быть записаны в один столбец. Я уже знаю, как работает Vlookup, но мое время выполнения намного выше, используя автозаполнение. У вас есть предложение, как я могу его одобрить?VBA: Эффективный Vlookup из другой рабочей книги

+0

Просьба указать, что вы попробовали. [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask) – agold

ответ

0

Dont использовать ВПР использовать Index Match: http://www.randomwok.com/excel/how-to-use-index-match/

+0

Пожалуйста, избегайте ответов «только ссылки». Можете ли вы немного объяснить, почему Index Match лучше и привести пример? – wmk

0

Если вы можете настроить то, что выглядит как данные с небольшим количеством, вы можете быть заинтересованы в использовании двоичного поиска. Это было некоторое время с тех пор, как я в последний раз использовал его (написав код для программы регистрации групповых упражнений). https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/implementing-binary-search-of-an-array, был полезен в создании идеи позади нее.

Если вы можете отсортировать их по заказам, например, по фамилии (im, не уверенным, с какими данными вы работаете), то добавьте порядок номеров для бинарного поиска.

Редактировать: Причиной для двоичного поиска было бы то, что с бинарным поиском это то, что требуется вычислительное время. Количество итераций, которые потребуются, это log2 (400000) против 400000. Таким образом, вместо 400000 возможных итераций это займет не более 19 раз с двоичным поиском, поскольку вы можете видеть, что чем больше данных вы используете, тем бинарный поиск даст много быстрее.

Это было бы выгодным способом, если вы сможете манипулировать данными таким образом, чтобы вы могли использовать двоичный поиск.

Итак, если вы можете дать нам немного больше информации о том, какие данные вы используете и какие ограничения у вас есть с этими данными, мы сможем дать более конструктивную обратную связь.

Смежные вопросы