王志军
很多时候,我们需要从混合字符串提取所需要的数据,例如图1所示的表格,A列的混合字符串包含了相应的手机号码,现在要求将这些手机号码提取到B列。由于实际的数据量很大,手工提取既麻烦而且也容易出错,该如何操作呢?
由于是2016版本,因此首先想到的是快速填充,但快速填充之后看到的却是提取结果,这其中存在这样或那样的错误,如果数据不是太多的话,手工修改即可,但数据量比较大时,手工修改就不太现实了。
我们可以利用公式完成提取任务,选择B2单元格,在编辑栏输入公式“=-LOOKUP(,一MID(A2&”a”,ROW($1:$50),11))”,这里的LOOKUP函数是提取最后一个符合条件的结果,“MID(A2,ROW($1:$50),11)”表示从A2单元格的第1-50位的位置分別提取11个字符,之所以提取11个字符是因为手机号码为11位,“A2&”a””是为了防止数值存在单元格尾部时造成公式计算的错误。“MID(A2&”a”,ROW($1:$50),11)”部分的计算结果有两种,一种为错误值,一种是小于等于零的值。LOOKUP函数找到最后的数值之后,“一”表示再进行一次减法运算,将计算结果转换为正值。
公式执行之后向下拖拽或双击填充柄,很快就可以看到图3所示的提取结果。