欢迎光临散文网 会员登陆 & 注册

用这两种方法识别AAAABB型手机号,我成了同事眼中的Excel大神~

2023-08-22 07:00 作者:秋叶Excel  | 我要投稿

小伙伴们,大家好,我是农夫,专治疑难「数」的农夫;她是小爽,注定要站在 Excel 顶端的大佬~


今天,同事小李在处理一份包含两万条手机号的数据。


她想从这些手机号里筛选出包含 AAAABB 型的靓号(从第 2~6 位开始),分析一下这些靓号的消费习惯等特征,方便后面进行精准推广。



面对一堆数据,她无从下手,于是特地跑来求助我,问我,用 Excel 到底有没有办法筛选出包含 AAAABB 型的手机号呢?


这个问题看起来很复杂,但是 Excel 确实有办法~



到底怎么处理呢?请仔细看我为你带来的两种方法:


❶ 余数判断法

❷ 拆分判断提取法

余数判断法



手机号一共有 11 位,要判断手机号是否存在 AAAABB 型的靓号,首先,我们就需要使用到的是文本提取函数——MID 函数。


MID 函数表示:按照指定的条件对字符串进行截取。


其语法结构如下:


=MID(目标单元格,开始位置,截取长度)


需要注意的是:MID 函数的提取方法是,从左指定开始的位置,向右提取指定数量的数据。


如我们需要提取电话号码中,从第 3 位数字开始算起的 4 位数字,这个时候 MID 函数如下:


=MID(A2,3,4)


假设手机号为:16222211625
❶ 从第 2 位开始提取 4 位:6222;接着从第 6 位开始提取 2 位:21

MID(A2,2,4),MID(A2,6,2)


❷ 从第 3 位开始提取 4 位:2222;接着从第 7 位开始提取 2 位:11

MID(A2,3,4),MID(A2,7,2)


❸ 从第 4 位开始提取 4 位:2221;接着从第 8 位开始提取 2 位:16

MID(A2,4,4),MID(A2,8,2)


❹ 从第 5 位开始提取 4 位:2211;接着从第 9 位开始提取 2 位:62

MID(A2,5,4),MID(A2,9,2)


❺ 从第 6 位开始提取 6 位:2116;接着从第 10 位开始提取 2 位:25
MID(A2,6,4),MID(A2,10,2)


从中我们发现包含 AAAABB 的手机号,提取的前四位会是 1111 的倍数,接着提取的两位会是 11 的倍数。


所以我们可以利用 MOD 函数,判断 AAAA 是否是 1111 的倍数和 BB 是否是 11 的倍数。


MOD 函数是一个求余函数,它可以返回两数相除的余数。


MOD 函数的语法:=MOD(被除数,除数)

 

MOD(MID(提取四位),1111)=

0MOD(MID(提取后面两位),11)=0


如果 MOD 函数结果都为 0,也就是对应 1111 和 11 的倍数。


因为 AAAABB 需要同时满足,所以还需要使用 and 函数。


=AND(MOD(MID(提取四位),1111)=0,

MOD(MID(提取后面两位),11)=0)


如果同时满足,则返回原值(包含 AAAABB 型的手机号),否则继续判断,所以还需要用到 if 函数。


最后,在 B2 单元格输入的公式为:


  1. =

  2. IF(AND(MOD(MID(A2,2,4),1111)=0,MOD(MID(A2,6,2),11)=0),A2,

  3. IF(AND(MOD(MID(A2,3,4),1111)=0,MOD(MID(A2,7,2),11)=0),A2,

  4. IF(AND(MOD(MID(A2,4,4),1111)=0,MOD(MID(A2,8,2),11)=0),A2,

  5. IF(AND(MOD(MID(A2,5,4),1111)=0,MOD(MID(A2,9,2),11)=0),A2,

  6. IF(AND(MOD(MID(A2,6,4),1111)=0,MOD(MID(A2,10,2),11)=0),A2,

  7. ""))))


公式下拉填充。



最后我们将空值筛选掉,就可以得到我们想要的结果了。


前面这种方法,是针对数值一个个进行判断,但是有时候 AAAABB 不是数值,这应该怎么解决?


下面提供一种拆分判断提取法,内容可能比较多,但重在理解一下思路,同学们可要耐心看完哦~

拆分判断提取法



我们要在数据中判断 AAAABB 型靓号,先要识别出众多手机号中,包含连续重复 4 次的数字,接着再重复 2 次的数字。如何做呢?


首先,要想整体识别,在现有 Excel 函数中是不可能做到的,这辈子都不可能的啦!


既然整体不行,那就单个识别呗~


确定了这一个思路,我们正式进入操作处理环节!


❶ 整体打散,提取数字


这里我们使用的是 MID 函数,将手机号打散为 11 个单独的数字。


MID 函数的用法前面有讲过,接下来,开始拆数!


首先,将 MID 函数开始位置的参数,替换为 COLUMN 函数。


PS.用 COLUMN 函数的目的是在开始位置获取按顺序变化的数值,如获取 1,2,3……


COLUMN 函数的作用是通过某个单元格的列号,即返回值是单元格的第几列。



因此,在 B14 单元格中输入如下公式:


=MID($A14,COLUMN(A1),1


并向右和向下填充,将电话号码整体拆分:



我们简单解析一下函数公式:


=MID(目标单元格,开始位置,截取长度)



函数公式的意思就是用 MID 函数,从第一位开始,依次提取一位,达到拆分手机号的目的。


❷ 前后数字判断,并与字母替换


将电话号码拆分后,接下来,就可以进行相应的判断了。


通过 IF 函数,判断前一个数字与后一个数字是否相等,根据判断结果将字母(如果前一个数字与后一个数字相等,返回 A;否则,返回 B)填入相应的单元格。



在 M14 单元格输入如下公式:

=IF(B14=C14,"A","B")



这里,需要注意最后一个数字。


因为横向拉动时,单元格位置会向后移动,这样最后一个数字会与第一个数字所返回的字母比较。



因此,需要对最后一个数字的判断公式进行修改,变成与倒数第二个数字比较:

=IF(K14=L14,"A","B")


这样就把电话号码替换为只有两个字母构成的数据了~



❸ 发现规律


接下来,观察符合靓号类电话号码的字母排列规律。


通过观察,我们找到了两个通用模式:AAABAB 和 AAABAA。


❹ 字符合并


现在将每一行对应的单个字母全部合并,这里使用 CONCAT 函数。


CONCAT 函数返回一个或多个字符串或区域内所有字符合并后的字符串。其语法结构如下:


=CONCAT( 文本 1, [ 文本 2, ... 文本 255 ] )

=CONCAT( 单元格 1:单元格 n )


这里我们使用区域内字符合并,在 X14 单元格中输入公式:

=CONCAT(M14:W14)


合并后,得到这样的结果~



❺ 筛选识别


以上准备完毕后,就可以识别包含已发现的通用模式了。


在 AC14 单元格输入如下公式并下拉:

=IF(COUNT(FIND({"AAABAB","AAABAA"},AA14))>0,"包含","")


PS.这是个数组公式,需要按【CTRL+SHIFT+ENTER】三键进行数组运算。



先重点说下本函数的灵魂:FIND 函数主要用于在一个文本中查找另一个文本的起始位置。


如查找「秋叶」一词在句子「我和秋叶一起学 Excel」中的位置,返回的数字为 3。


具体语法如下:


单个条件查找:

=FIND(要查找的文本,包含要查找文本的文本,[指定开始进行查找的字符])


多条件查找:

=FIND({"要查找的文本 1","要查找的文本 2","要查找的文本 3",......},包含要查找文本的文本,[指定开始进行查找的字符])


PS.将所有条件放入到花括号中,这代表条件之间为」或「的关系


因为,我们找到了两个模式,这里使用多条件查找~


如果电话号码中包含要查找的文本,返回所查找文本第一次出现位置的数字~


同时,为避免 FIND 函数返回错误值(当文本中没有匹配到所查找的文本时),使用 COUNT 函数在 IF 函数中建立逻辑判断值~


PS.COUNT 函数是统计区域内数字的个数,而文本、错误值和逻辑值不参与统计。


通过以上操作,就能最终识别出包含 AAAABB 类型的手机号啦~



到这里,本文的两种函数方法就讲完啦,除此之外,还有「M 函数」和「正则表达式」两种方法,我们下期继续!

知识回顾

余数判断法

❶ 利用 MID 函数分别提取可能出现的 AAAA,BB

❷ 利用 MOD 函数分别判断是否能整除 1111,11

❸ 利用 if 函数依次判断


拆分判断提取法

❶ MID 函数+COLUMN 函数将数据整体打散

❷ 判断前后数字是否相同

❸ 字母替换

❹ 发现规律

❺ CONCAT 函数字符合并

❻ FIND 函数+COUNT 函数+IF 函数筛选识别


好了,今天的文章就到这里了,喜欢的小伙伴就动动小手点赞和分享吧!


最后歪个楼,大家对选择手机号有什么特殊要求吗?欢迎留言说说看~


我是农夫,专治疑难杂「数」的农夫~

她是小爽,注定要成为站在 Excel 顶端的大佬

~


如果你想学习更多函数知识,想了解更多 Excel 技巧……


欢迎报名我们秋叶家的《3 天 Excel 集训营》,这里有老师直播+录播教学,有助教群内 1 对 1 答疑,还有同学一起交流进步!


3 天时间,每天 30 分钟左右,你也有可能成为 Excel 高手!


3 天 Excel 集训营
提升效率,助你准时下班数据可视化,让领导刮目相看


秋叶 Excel 读者专享

官网价 99

 现在仅需 1 元

扫描下方图片二维码即可报名👇👇👇



现在报名免费获取

307 个函数清

35 个常用函数说明

……

*广告

用这两种方法识别AAAABB型手机号,我成了同事眼中的Excel大神~的评论 (共 条)

分享到微博请遵守国家法律