Hello,大家好,在很多人的印象中vlookup函数就是用来查询的数据的。今天跟大家分享一种vlookup函数全新的使用方法——提取固定长度的数值。如下图所示,我们想要在数据中将手机号码提取出来,很多人遇到这样的问题首先想到的就是利用Ctrl+E,但是在这里数据是毫无规律的,我们利用这个快捷键是不能提取到正确的数据的,如下图所示
一、所需函数
在这里除了vlookup函数,我们还需要用到mid函数,下面我们就来简单的了解下这个函数
MID:从一个字符串中截取中指定数量的字符
语法:=MID(text, start_num, num_chars)
第一参数:需要提取的字符串
第二参数:从哪一位开始提取
第三参数:提取几位
假如一个字符串是123456,他的单元格位置是A1,我们将公式设置为:=MID(A1,3,2)它的结果就是34,因为它是从字符串的第三位开始提取数据,提取两个字符长度
二、vlookup提取固定长度的数字
在这里我们只需要将公式设置为:=VLOOKUP(0,{0,1}*MID(A2,ROW($1:$30),11),2,FALSE)然后点击回车向下填充即可,这样的话就能提取到固定长度的数值。下面跟大家简单的讲解下这个函数的是如何理解的
公式在主体上是一个vlookup函数,我们先来看下这个vlookup函数
第一参数:0,也就是查找值第二参数:{0,1}*MID(A2,ROW($1:$30),11),利用mid函数构建的一个查找区域第三参数:2,在数据区域中返回第二列第四参数:false,精确匹配
在这里关键是如何理解vlookup函数的第二参数也就是{0,1}*MID(A2,ROW($1:$30),11)这个结果,我们以第一个数据为例来看下他的计算过程,如下图所示
在这里第一列是函数MID(A2,ROW($1:$30),11)的结果,他的第二参数是ROW($1:$30),第三参数是11(电话号码的长度),当我们向下拖动公式的的时候第二参数会变为1到30的序列向下填充,第三参数是11,所以mid提取的就是一个长度为11的数据。我们使用{0,1}乘以mid函数的结果,因为0和1在大括号中所以它是一个数组,0和1会分别与mid函数的每一个结果都计算一次。第二列是乘以0的结果,第三列是乘以1的结果
在这里我们查找值是0,黄色数据区域的结果是0。当vlookup函数查找数据遇到重复值,函数仅仅会返回第一个找到的结果,而在这里第一个结果又正好是我们所需要。这个就是函数的计算过程。它是一个数组公式,理解起来还是比较难的。如果你还是比较难理解,记得这个公式的套路即可
以上就是今天分享的方法,怎么样?你学会了吗?
我是Excel从零到一,关注我,持续分享更多Excel技巧