Excel查找公式已分享过多次,但你知道哪个函数查找速度最快吗?今天就写了一段VBA代码,对常用的查找函数进行一次运算速度PK。
原表和查找公式表均为19999行
1、普通查找
Vlookup函数,平均速度 0.046秒
=vlookup(g2,a:b,2,0)
Xlookup函数,平均速度0.072秒
=xlookup(G2,A:A,B:B)
Index+match,平均0.045秒
=INDEX(B:B,MATCH(G2,A:A,0))
2、反向查找
Vlookup函数,平均速度 12.24秒
=VLOOKUP(G2,IF({1,0},B$2:B19999,A$2:A19999),2,0)
Xlookup函数,平均速度0.13秒
=XLOOKUP(G2,B:B,A:A)
Index+match函数,平均0.15秒
=INDEX(A:A,MATCH(G2,B:B,0))
3、多条件查找
Vlookup函数+辅助列,平均秒0.25秒
A2公式
=B2&C2
J2公式
=VLOOKUP(H2&I2,A:D,4,0)
Index+match多条件,平均9.10秒
=INDEX(C:C,MATCH(G2&H2,A$2:A$19999&B$2:B$19999,0))
Lookup函数多条件,平均用时7.17秒
=LOOKUP(1,0/(G2&H2=A$2:A$19999&B$2:B$19999),C$2:C$19999)
Xlookup多条件,平均用时12.262秒
=XLOOKUP(G2&H2,A$2:A$19999&B$2:B$19999,C$2:C$19999)
总结:
今天的测试还是有点意外,没想到index+match查找速度比Vlookup还快,xlookup除了反向查找,其他查找速度让人有点失望。另外,也提醒同学们,公式中如果含有 区域=单个值 或 区域 =区域,尽量不用,因为它属于数组运算,如果你的公式很多,表格会卡到你怀疑人生。这时,添加辅助列永远一个提高运算效率的方法。