加速VLOOKUP

时间:2015-04-16 12:51:17

标签: excel excel-vba excel-formula vba

我有以下公式:

=VLOOKUP(VLOOKUP(A1,[Clients]Sales!$B$1:$C$6,2,0),[Ledger]Sheet1!$G$1:$H$6,2,0)

这是有效的,但我有超过10万行数据,需要几分钟才能提取所有结果。

可以加速吗?
VBA是最快的选择吗?

2 个答案:

答案 0 :(得分:2)

如果没有样本数据,很难完全回答您的问题,但我认为这正是您所寻找的:How to optimize vlookup for high search count ? (alternatives to VLOOKUP)

如果您不熟悉VBA,我肯定会考虑使用INDEX-MATCH。

希望这有帮助!

答案 1 :(得分:1)

我想你会想要使用索引匹配。它是一对可以复制vlookup的函数,但速度比vlookup快得多。我再也不会因此而使用vookup了。

我认为你想要的是下面的样子。没有看到你的工作簿就没有承诺。

  

=指数([总帐] Sheet 1中$ H $ 1:!$ H $ 6中,匹配(指数([客户]销售$ C $ 1:$ C $ 6中,匹配(A1,[客户]销售$ B $ 1:$! B $ 6,0)),[总帐] Sheet 1中$ G $ 1:!$ G $ 6,0))

解释是索引从特定列中提取第n个项目。匹配找到恰好是n。