如图,需要在字符串中提取出电话
第一种方法:MID函数,嵌套FIND函数
1.电话号码都是11位数,且开头第一位数是1,所以,我们可以用find函数查找“1”在字符串中的位置
FIND函数是返回一个字符串在另一个字符串中的位置
第一个参数:查找的文本,在这里,查找值就是“1”
第二个参数,在哪里查找,在A2单元格中进行查找
=FIND(1,A2)
2.用FIND函数找到“1”在字符串中的位置后,用MID函数进行中间文本字符串的截取
公式为:=MID(A2,FIND(1,A2),11)
第二种方法:VLOOKUP函数,嵌套MID函数
完整公式 =VLOOKUP(0,MID(A2,ROW($1:$99),11)*{0,1},2,0)
第一步先用MID函数进行截取,知道文本,知道截取位数
截取位置我们不知道,那么,我们用MID函数分别从字符串的第一位,第二位,第三位···进行截取,这里需要借助ROW函数来表示,因为不知道文本字符串长度,所以截取位置从第一位开始,一直到从第99位开始,设置一个尽可能大的数值
=MID(A2,ROW($1:$99),11)
截取的结果是分别从第一位,第二位,第三位一直到从第位截取的11个字符长度
截取的值既有纯文本,纯数字,也有文本和数字的组合
第二步,将MID函数截取到的数据进行数学运算,转化成常规数据
=MID(A2,ROW($1:$99),11)*{0,1}
{0,1}是一个一行两列的内存数组,分别给MID函数乘以0和1,文本值进行数学运算反回错误值,文本型数字进行数学运算返回常规数值
返回两列数据,一列数据是0和错误值,一列数据是由错误值和常规数值
第三步,VLOOKUP查找匹配
现在用VLOOKUP函数进行查找匹配,查找值是0,查找区域是MID(A2,ROW($1:$99),11)*{0,1},返回值在查找区域的第2列,返回精确查找
注意因为使用数组,需要Ctrl+shift+enter三键返回值