excel数据提取技巧:如何从拼单信息中提取客户手机号码
编按:拼单消费便宜,买家和卖家都喜欢。但拼单后同一个订单明细里有多位顾客的姓名和手机号,如何分别提取呢?学习更多技巧,请收藏关注部落窝教育excel图文教程。 转眼就要迎来疫情之后的第一个双11,电商客服的美眉们是不是已经做好了处理订单的准备呢? 去年双11,我们分享了从订单信息中提取单个手机号的经验。不论手机号位于订单信息的哪里,都可以用一个公式搞定。 《3分钟,带你看懂提取手机号码的经典公式套路》(官网链接) 《Excel教程:提取手机号码,这是最好用的方法!》(公众号链接) 但今年与往年不同,小李所在的公司今年推出了线上拼单服务,也就是说一张订单里,可能会有多个客户信息,如图所示。
小李最主要的任务是收集客户信息,尤其是手机号。现在同一订单明细中有多个顾客多个手机号,如何分别提取呢? 这是今天我们要解决的问题。 最终实现的是每个手机号单独存放在一个单元格,效果如图所示。
我们分享两个方法:操作法和公式法。 首先,来看操作法。 第一步,分列,操作方法看动画演示:
这一步其实就是用“(”进行了分列。 注意:是英文状态的括号,这个要和备注信息里的一致。 按符号分列,不仅仅是标点符号,字母、汉字都可以作为分列的判断依据。 第二步,查找替换,操作方法看动画演示:
这一步是把“)*”替换为空。 这里的“*”是通配符,表示任意长度的任意内容。 说白了就是把“)”包括“)”后面的所有内容都清理了,只留下了手机号。 到此,利用我们都很熟悉的【分列】和【查找替换】这两个基本功能,就完美解决了问题。学习更多技巧,请收藏关注部落窝教育excel图文教程。 接下来,再看看公式法的处理。 首先,这个公式利用了之前讲过的一个组合套路:TRIM-MID-SUBSTITUTE-REPT组合公式 如果还不清楚这个套路的话,可以先复习一下: 《Excel脑洞大开:用99个空格来提取单元格数据,你会吗?》(官网链接) 《Excel教程:用99个空格来提取单元格数据,你会吗?》(公众号链接) 完整的公式为: =IFERROR(--RIGHT(TRIM(LEFT(SUBSTITUTE($A2,")",REPT(" ",99)),COLUMN(A1)*99)),11),"") 这个公式的核心部分是TRIM(LEFT(SUBSTITUTE($A2,")",REPT(" ",99)),COLUMN(A1)*99)),作用类似按照“)”对数据进行分列,结果是这样的:
注意框出来的这几行,单元格最右边的就是手机号。 在此基础之上,只要将右边的11位数字提取出来,就是最终需要的结果,为了便于大家理解,用x这个字母来代替TRIM-LEFT-SUBSTITUTE-REPT这一串,公式其实是这样的: = RIGHT(x,11) RIGHT(x,11)的作用是提取右边的11个字符,结果如图:
这一步得到的结果,有电话号码,也有一些无用信息,在RIGHT外面加两个减号,可以将不是电话号码的内容变成错误值。
普及一个很重要的基础知识:--是比较常用的一种数据格式转换方法。在Excel中,除了加减乘除之外还有个针对数值型内容的负运算“-”。与减法的区别是,减法需要两个数据相减,而负运算只需要一个数据。如果数据可以转化为数值,负运算就可以将数据变成该数据所对应的数值的相反数。这里说的数据包括文本型的数字,逻辑值。反之,如果数据无法转换为数值,则会得到一个错误值。添加两个“-”,负负得正,就可把文本数字、逻辑值转换成了数值,同时不改变数据大小。 要想不显示错误值,可以借助IFERROR函数把错误显示为空。 因此最终的公式就是=IFERROR(--RIGHT(x,11),"")。
该公式比较“上头”,有朋友可能需要多花费时间去试试才能完全明白。不明白也没关系,套用公式也比较方便,只需修改单元格位置即可。 实际上,对于这个问题而言,还有其他一些公式方法,分享如下,有喜欢公式的朋友可以自己研究一下: 公式1: =IFERROR(MID($A2,LARGE(TEXT(MID($A2,ROW($1:$99),11),"1;;;?")*ROW($1:$99),COLUMN(A1)),11),"") 公式2: =MID($A2,SMALL(IF(LEN(IFERROR(--MID($A2,ROW(1:99),11),))=11,ROW(1:99),4^8),COLUMN(A1)),11) 公式3: =TEXT(LARGE(IFERROR(--MID($A2,ROW($1:$99),11),),COLUMN(A1)),"[>13000000000]0;") 公式4: =TEXT(LARGE(--TEXT(--(0&TEXT(0&MID($A2,ROW($1:$99),11),"0;;;")),"[>10000000000]0;!0"),COLUMN(A1)),"0;;;") 注:以上四个公式都是数组公式,需要三键输入。 公式5: =IFERROR(MID($A2,FIND("*",SUBSTITUTE($A2,"(","*",COLUMN(A:A)))+1,11),"") 今天的公式有点多,童鞋们静心琢磨下哦! |
