【Excel函数篇】你会提取单元格中的手机号吗? | 您所在的位置:网站首页 › steam手机令牌更换设备之后几天才能交易到 › 【Excel函数篇】你会提取单元格中的手机号吗? |
1、=MAX(IFERROR(--MID(A2,ROW($1:$50),11),0)) 2、=MIN(IFERROR(--MID(A2&"a",ROW($1:$50),11),"T")) 3、=VLOOKUP(,MID(A2,ROW($1:$50),11)*{0,1},2,) 4、=-LOOKUP(,-MID(A2&"a",ROW($1:$50),11)) 本例中,四个公式的计算结果相同,但由于它们的计算原理并不一样,在不同的例子上彼此之间还是有所区别的。 MAX函数是提取参数中的最大值,MIN函数是提取参数中的最小值。因此,当单元格存在多个手机号时,两者所提取的结果将不同。 VLOOKUP函数的查询机制是从前向后查,且查到即止,只提取首个查询结果。 LOOKUP(比查询范围内所有值都大的同类型的值,查询范围),该套路是提取最后一个符合条件的结果。 你瞧,两个函数的查询机制刚好是反过来的;没有优劣之分,只是各有所长。如果我们需要提取首个手机号,可以使用VLOOKUP;如果是提取最后一个手机号,可以使用LOOKUP。 2, 四个公式都用到了MID(A2,ROW($1:$50),11)语句。该语句的意思是,从A2单元格的第1~50位的位置分别提取11个字符。只所以提取11个字符是因为手机号为11位。 =MAX(IFERROR(--MID(A2,ROW($1:$50),11),0)) --MID()是将MID函数的计算结果转换为数值,当MID函数的计算结果为纯文本时,减负运算将返回错误值,因此使用IFERROR函数将错误值转换成0,最后使用MAX函数提取最大值。 =MIN(IFERROR(--MID(A2&"a",ROW($1:$50),11),"T")) 和MAX函数套路不同的是,MID的第一参数为A2&"a",这是防止数值存在单元格尾部时,造成公式计算错误。IFERROR将错误值屏蔽为文本”T”,是因为MIN函数计算时会忽略文本值,此处的”T”可以替换为其它文本字符,例如“星光”,”” “亲爱的”等等。 =VLOOKUP(,MID(A2,ROW($1:$50),11)*{0,1},2,) VLOOKUP的第一参数是0,公式做了省略处理。 MID(A2,ROW($1:$50),11)*{0,1},通过MID函数的计算结果和常量数组{0,1}之间运算,产生了两列50行的二维数组,从中查询首个数值。 =-LOOKUP(,-MID(A2&"a",ROW($1:$50),11)) LOOKUP的查找值为0,公式做了省略处理。 -MID(A2&"a",ROW($1:$50),11),该部分的计算结果有两种,一种为错误值,一种是小于等于零的数值。LOOKUP找到最后的数值后,再进行一次减法运算,将计算结果转换为正数。 数据分析就用Excel返回搜狐,查看更多 |
CopyRight 2018-2019 实验室设备网 版权所有 |