专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
完美Excel  ·  宜昌二马路 ·  2 天前  
完美Excel  ·  每月安全动态(2024年9月) ·  6 天前  
完美Excel  ·  国庆快乐 ·  5 天前  
完美Excel  ·  使用VBA覆盖条件格式设置的单元格背景色 ·  4 天前  
Excel之家ExcelHome  ·  功能强大的GROUPBY函数,你的电脑里有没有? ·  1 周前  
51好读  ›  专栏  ›  Excel之家ExcelHome

REGEXP函数,基础用法请收好

Excel之家ExcelHome  · 公众号  · Excel  · 2024-10-03 06:45

正文

小伙伴们好啊,今天咱们一起学习REGEXP函数的几个基础用法。这个函数是WPS表格中的特有函数之一,能够根据正则表达式对字符串进行提取、判断或替换。函数语法如下:
=REGEXP(要处理的字符串,正则表达式,[匹配模式],[替换内容])

1、如下图,希望从A列混合内容中提取出电话和姓名
B2单元格输入以下公式,向下复制,提取出电话号码:
=REGEXP(A2,"[0-9]+")
公式中的 [0-9]+,表示连续数字。

2、C2单元格输入以下公式,向下复制,提取出姓名:
=TAKE(REGEXP(A2,"[一-龟]+"),,1)
公式中的 [一-龟]+,表示连续的中文。
先使用REGEXP函数提取出连续的中文,不连续的中文会被分组依次提取。最后使用TAKE函数在REGEXP的提取结果中截取第一列的内容。

3、如下图所示,希望提取出A列单元格中的费用总金额。
B2单元格公式输入以下公式,向下复制。
=SUM(1*REGEXP(A2,"[0-9.]+(?=元)"))

公式中的[0-9.]+ 表示包含小数点的连续数字,(?=元)表示字符“元”之前的内容。

4、如下图,希望从A列混合内容中,提取首个中文字符之前的全部内容。
B2单元格输入以下公式,向下复制。
=REGEXP(A2,"^[^一-龟]+")
公式中的第一个^表示字符开头。中括号中的^表示“非”,[^一-龟] 表示连续的非中文字符。
^[^一-龟]+,即表示字符开头部分的连续非中文字符。

5、如下图所示,需要判断A列混合内容的类型,如果包含有“邮箱”字样,就返回“邮箱”,否则返回“账号”。
B2单元格输入以下公式,向下复制。
=IF(REGEXP(A2,"邮箱",1),"邮箱","账号")
REGEXP第三参数使用1,表示判断模式,如果A2单元格中包含“邮箱”字样,返回逻辑值TRUE,否则返回FALSE。
最后使用IF函数,根据REGEXP的判断结果返回类型“邮箱”或“账号”。

6、第三参数使用2,表示替换模式,例如以下公式,可将A2单元格中的“邮箱”,替换为“Email”。
=REGEXP(A2,"邮箱",2,"Email")

7、在替换模式下,如果省略第四参数,则表示将指定内容删除。
例如以下公式,会将A2单元格中的“邮箱”字样删除。
=REGEXP(A2,"邮箱",2)

8、如下图所示,希望根据A列中的混合内容计算体积。
B2单元格输入以下公式,向下复制。
=PRODUCT(1*REGEXP(A2,"[\d]+"))
公式中的[\d]+,作用等同于[0-9]+,表示0-9的连续数字。
REGEXP将各个连续数字依次提取出之后,先用乘以1的方式转换为数值,再使用PRODUCT函数计算各个数值的乘积。

9、如下图,希望提取A列混合内容中括号内的颜色信息。
B2单元格输入以下公式,向下复制。
=REGEXP(A2,"(.*)")

公式中的小数点.表示任意字符,星号*是量词,表示前面的点号.可以出现零次或多次。(.*)表示全角括号及括号内的内容。

好了,今天的内容就是这些吧,祝各位假日好心情~


图文制作:祝洪忠

1、点击或搜索微信公众号【 Excel之家ExcelHome】到公众号首页。

2、点击右上角【···】,在下拉菜单中点击【设为星标】。

设置星标后,小伙伴们就不用担心错过咱们的推送了!

设为星标,精彩内容不错过

推荐文章
完美Excel  ·  宜昌二马路
2 天前
完美Excel  ·  每月安全动态(2024年9月)
6 天前
完美Excel  ·  国庆快乐
5 天前
Excel之家ExcelHome  ·  功能强大的GROUPBY函数,你的电脑里有没有?
1 周前
轻松读书人  ·  开挂的人生是从兴趣独立开始
7 年前