2015-11-05 43 views
-1

我需要從另一個工作簿VBA約400000細胞做一個Vlookup。這些單元格全部在一個列中。並且應寫入一個列。我已經知道,Vlookup是如何工作的,但是通過使用自動填充,我的運行時非常高。你有什麼建議我可以批准嗎?VBA:從另一個工作簿高效Vlookup

+0

請顯示您的嘗試。 [我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask) – agold

回答

0

如果你能調整什麼數據看起來像一個微小的量,你可能有興趣在使用二進制搜索。自從我上次使用了一個(爲小組練習簽到程序編寫代碼)之後,我已經有一段時間了。 https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/implementing-binary-search-of-an-array,有助於建立它背後的想法。

如果你能按順序對它們進行排序,按姓氏說(即時不確定你正在處理什麼數據),然後添加一個數字順序來用於二分查找。

編輯: 二進制搜索的推理是二進制搜索是需要的計算時間。迭代次數爲log2(400000)vs 400000.因此,如果使用二進制搜索的數據越多,那麼代替400000次迭代的次數就會多達19次。更快的時間。

如果您能夠以允許您使用二分查找的方式操作數據,這隻會是一種有益的方式。

因此,如果您可以給我們更多的背景知道您正在使用哪些數據以及您對這些數據有何限制,我們將能夠提供更多有建設性的反饋。

相關問題