提取数字、汉字与字母,REGEXP函数解放生产力!

职场   职场   2024-11-29 09:03   河北  


Excel情报局

职场联盟Excel

生产挖掘分享Excel基础技能
Super Excel Man
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地


    


大家好,今天我们来讲讲REGEXP正则表达式函数如何解决提取数字、汉字与字母。以前很棘手的问题,自从有了REGEXP函数后就变得非常简单。


如下图所示

A2单元格是包含了数字、汉字与字母的混合内容。并且数字、汉字与字母并不是唯一的存在,可能包含多段。我们想要分别提取所有的汉字、数字与字母分别显示在B2、B4与B6单元格。



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


基本语法结构

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


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

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


我们首先提取汉字

=REGEXP(A2,"[一-龟]")


在Excel中正则表达式[一-龟]可以代表所有的汉字字符。所以我们使用REGEXP函数,用正则表达式[一-龟],省略第3参数,默认表示提取,提取A2单元格内所有的汉字字符。


返回的结果以数组溢出显示。我们发现所有的汉字字符以长度为1的形式显示在不同的单元格中。



本例数据源中的汉字字符被非汉字字符分成了多部分,比如本例中分成了两段,分别是“红色”和”绿色“。为了使“红色”和”绿色“两段分别连续,可以这样修改公式:

=REGEXP(A2,"[一-龟]+")


将[一-龟]加上+后,变成[一-龟]+,就可以连续显示提取内容了。



如果说,还想将提取到的“红色”和”绿色“放到一个单元格中,可以这样完善公式

=TEXTJOIN(",",,REGEXP(A2,"[一-龟]+"))


用TEXTJOIN函数,用分隔符号逗号",",省略第二参即忽略空值单元格后将REGEXP函数的返回结果合并起来。



然后我们提取数字

=REGEXP(A2,"[0-9]+")


在Excel中正则表达式[0-9]可以代表所有的数字字符。所以我们使用REGEXP函数,用正则表达式[0-9]+,省略第3参数,默认表示提取,提取A2单元格内所有的连续数字字符。



最后我们提取字母

=REGEXP(A2,"[A-z]+")


在Excel中正则表达式[A-Z]可以代表所有的大写字母字符;正则表达式[a-z]可以代表所有的小写字母字符;正则表达式[A-z]可以代表所有的大写与小写混合字母字符。


若不确定A2单元格中的字母是大写还是小写或是同时存在,可以用正则表达式[A-z]表示。


所以我们使用REGEXP函数,用正则表达式[A-z]+,省略第3参数,默认表示提取,提取A2单元格内所有的连续字母字符。



其实重复学习Excel,刚开始是挺难的,但重复的次数多了总会成为习惯,先从坚持一星期开始,你会爱上那种脑子又累,又无限充实的感觉。回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。


 

知识点精彩超链接点击阅读

VLOOKUP的新搭档HSTACK函数,实现逆向查询
一个小小的VSTACK函数,就能实现多工作表合并
VLOOKUP最新用法,提取混合内容中的手机号
带超链接的VLOOKUP函数,让查询体验起飞
最新方法来了:按指定的次数重复数据
合并工作表,用两个函数就搞定啦
比VLOOKUP还好用的多条件查找
点击谁就筛选谁,实现筛选自动化
以“数字”作为分隔符,进行分列
点击谁,就对谁自动条件求和
更多实用内容请在号内历史文章搜索 

Excel情报局
Excel表格爱好者,分享一些日常的积累。做一个职场人都能看懂的表格技巧公众号。多学一个Excel小技巧,会让你在职场中多一分底气与自信。
 最新文章