Excel Vlookup太慢了

我有一个Excel文件,在大约10000行上使用了一个Vlookups每行8个Vlookups 。 其可笑的慢。

它查找另一个在线的Excel文件 –

 =IF(ISERROR(VLOOKUP(E12,'Filepath.xlsx]Data'!$U:BV,54,0)),"None",VLOOKUP(E12,Filepath.xlsx]Data'!$U:BV,54,0)) 

我环顾四周,vlookups似乎是相当必要的。 有没有可能使这个更快的结构变化,比如在SQL数据库上查找?

谢谢

根据我的意见,使用LOOKUP公式与一个sorting的查找范围比使用VLOOKUP 快得多,在这种情况下速度超过100倍 ,例如,如果使用这个公式,做一些速度testing

=VLOOKUP(B3, $D$3:$D$10002, 1,0)

然后用G3:G10002包含与D3:D10002相同的值,但是按照LOOKUP公式进行升序排列

=IF(LOOKUP(B3, $G$3:$G$10002) = B3, LOOKUP(B3, $G$3:$G$10002), NA())

公式产生完全相同的结果,但第二个公式比第一个公式一致120-140倍,因为“二进制search”

如果我使用INDEX/MATCH等价物,即

=INDEX($D$3:$D$10002,MATCH(B3, $D$3:$D$10002,0))

那么这实际上比VLOOKUP版本稍慢,但是,正如Doug所说,如果您在多次计算中使用相同的MATCH公式,那么您可以计算一次只针对多个结果,这样可能比VLOOKUP更有效

当然,在您的设置中可能还有其他因素正在减慢计算速度…..