excel

关注公众号 jb51net

关闭
软件教程 > 办公软件 > excel >

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

脚本之家

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

如下图所示:

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

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

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

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

基本语法结构:

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

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

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

第一步:正则判断

我们可以这样输入函数:

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

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

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

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

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

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

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

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

FILTER函数的定义与功能:

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

FILTER函数语法为:

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

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

第二步:筛选

我们可以输入函数公式:

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

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

推荐阅读: