快速筛选符合要求的用户! excel表格中用FILTER+REGEXP正则表达式

快速筛选符合要求的用户! excel表格中用FILTER+REGEXP正则表达式

FILTER函数在Excel或WPS表格中一个超级智能筛子,下面我们通过一个简单的案例领会它的强大之处。

微软Office LTSC 2021专业增强版 简体中文批量许可版 2024年09月更新

  • 类型:办公软件
  • 大致:2.2GB
  • 语言:简体中文
  • 时刻:2024-09-12

查看详情

如下图所示:

A1:B7区域是客户与电子邮箱登记表。A列是客户名称,B列是邮箱地址,很简单。

我们要做的就是:将域名部分是163邮箱的,并且邮箱用户名部分是11位手机号码的,这种类型的电子邮箱地址筛选出来,筛选结局显示到D:E列。

正则表达式的基础外壳函数(wps版):

REGEXP函数是基于正则表达式,对复杂文本进行匹配、提取和替换的函数。

基本语法结构:

=REGEXP(原始字符串,正则表达式,[匹配模式],[替换内容])

匹配模式是可选项,0或忽略表示提取,1表示判断是否包含,2表示替换。

替换内容是可选项,仅在匹配模式为2时有效,用来替换匹配的内容。

第一步:正则判断

我们可以这样输入函数:

=REGEXP(B2:B7,"^1[3-9]d9}@163.com$")

REGEXP函数的第一参数B2:B7是要处理的单元格区域。

第二参数是正则表达式的书写方式:

符号^代表以此符号后面的字符开始。符号[3-9]是数字3~9中的任意一个。d代表任意的数字,9}代表前面元素重复9次。

  • ^1[3-9]d9}:表示以数字1开头且第2位数字是3~9范围内的,后面再连接9位任意的数字。这样就可以代表大陆地区合法的11位手机号码了。
  • .表示转义.(点),由于这个.在正则中代表匹配任意单个字符(除换行符),想要变成真正意义上的标点符号.,必须用转义。
  • $表示以该符号前面的字符串结束。
  • @163.com$表示以@163.com小编觉得的邮箱。
  • ^1[3-9]d9}@163.com$:整体就可以代表域名是163邮箱,并且邮箱用户名部分是11位手机号码的这种类型的邮箱。

REGEXP函数的第三参数省略了,默认是0,表示提取,因此符合这种类型邮箱格式的邮箱就被提取出来了,反之则返回错误值。

我们可以将REGEXP函数的第三参数设置为1:

=REGEXP(B2:B7,"^1[3-9]d9}@163.com$",1)

这样就是判断模式了,符合这种格式的邮箱就会返回判断结局TRUE,反之则会返回FALSE。

FILTER函数的定义与功能:

FILTER函数是Excel和WPS表格工具中的一种动态数组函数,核心功能是根据指定条件从数据区域中筛选出符合条件的记录。

FILTER函数语法为:

=FILTER(数组, 条件, [无结局时的返回值])

  • 数组:需要筛选的数据区域
  • 条件:逻辑表达式

无结局时的返回值(可选):当无匹配数据时显示的内容

第二步:筛选

我们可以输入函数公式:

=FILTER(A2:B7,REGEXP(B2:B7,"^1[3-9]d9}@163.com$",1))

FILTER函数会自动筛选B2:B7区域的数据,当第二参数条件为逻辑值TRUE真值的时候,执行对应行的筛选。这样会筛选出所有域名是163邮箱,并且邮箱用户名部分是11位手机号码的这种类型的邮箱。

推荐阅读:

  • excel中怎么使用filter函数 Excel函数FILTER的三种实用技巧
  • excel表格中FILTER+SORT函数实现动态排序筛选的技巧
版权声明