哪位高人琢磨出这个Vlookup公式,99%的人没见过

Vlookup函数常用于查找和核对,可今天介绍的Vlookup用途,你可能真的没见过。看一个示例:

【例】如下图所示,要求从A列的地址中提取出手机号码,如B列所示。

字符串截取,我们首先想到的是find、Mid等文本函数。可不知道哪位高手竟然用Vlookup函数完成了数字的提取。

=VLOOKUP(0,MID(A2,ROW($1:20),11)*{0,1},2,)

估计很多同学看到这个公式一头雾水,下面兰色就剖析一下这个公式。

首先,用mid函数+Row函数从第1个字符开始,截20次并得到20个结果(如果字符串比较长,可以用一个足够大的数字替代20,比如99),其中总有一个是11位的纯数字。

=MID(A2,ROW($1:20),11)

为了方便用Vlookup,用*{0,1}把截取的结果变成2列。

=MID(A2,ROW($1:20),11)*{0,1}

这样,就可以用0查找出第2列的电话号码了。

=VLOOKUP(0,MID(A2,ROW($1:20),11)*{0,1},2,0)

注:因为有数组运算,office365外的其他版本需要按Ctrl+shift+enter以数组公式形式完成输入。

本例也只是用了Vlookup的最基本查找用法,难的是很多人想不到这样使用。公式中值得我们学习的还有*{}一列变两列的技巧,非常的巧妙。

(0)

相关推荐