两个不用嵌套的万能提取公式,含用REGEXP函数提取
作者:ITFANS来源:部落窝教育发布时间:2024-07-25 10:46:19点击:337
编按:
介绍两种超简单的提取数字、字母、汉字的万能函数公式。其中包括运用WPS最新REGEXP正则表达式函数。REGEXP通过正则表达式进行提取数字、字母、汉字,不需要嵌套其他函数,非常简洁、高效。
之前介绍过很多提取数字或者字母的方法,要么限制多,要么公式嵌套复杂。今天,教大家用TEXTSPLIT和WPS最新函数REGEXP来提取,勿需嵌套其他函数,轻轻松松,简直就是万能提取。
1.TEXTSPLIT函数万能提取
套路公式:
=TEXTSPLIT(单元格,TEXTSPLIT(单元格,提取参数,,1,1,""),,1,1,"")。
说明:
用两个TEXTSPLIT函数进行嵌套。需要提取什么数据,就将什么数据组成填写在“提取参数”里。如果数据组成是常量,可以使用“{“参数1”,”参数2”,……}”的形式。
1)提取数字
比如下面表格,需要将其中的数字全部提取出来。这些数字的组成就包括0~9的阿拉伯数据,还有小数点、负号,可以写成:
{"0","1","2","3","4","5","6","7","8","9",".","-"}
因此,在B2输入公式下拉填充即可:
=TEXTSPLIT(A2,TEXTSPLIT(A2,{"0","1","2","3","4","5","6","7","8","9",".","-"},,1,,""),,1,,"")
2)提取英文字母
英文字母有26个,如果写成常量数组太繁琐。此处可以用CHAR(ROW($65:$90))函数来表达从A到Z的26个字母。
因此,在B8输入公式即可则提取英文:
=TEXTSPLIT(A8,TEXTSPLIT(A8,CHAR(ROW($97:$122)),,1,1,""),,1,,"")
B11之所以是错误值,是因为A11中没有英文字母。
用TEXTSPLIT套路公式还是繁琐了点,必须请出WPS最新函数正则表达式函数REGEXP。
2.REGEXP函数万能提取——勿须嵌套
公式:
=REGEXP(A2,"正则表达式")
说明:
REGEXP是WPS最新版本中才有的。需要根据提取数据的类型编写正则表达式。
在B2输入“=REGEXP(A2,"[0-9.-]+")”下拉填充即可提取数字。使用正则表达式“[0-9.-]+”匹配所有整数和小数。
提取英文则输入“=IFERROR(REGEXP(A8,"[A-z]+"),"")”。使用正则表达式“[A-z]+”匹配所有的大小写字母。
提取中文输入“=IFERROR(REGEXP(A14,"[一-龥]+"),"")”。
一是中文的第一个Unicode编码,“龥”(读“yù”)是中文最后一个Unicode编码,[一-龥]+可指代所有汉字。如果不提取生僻字,也可以使用“[一-龟]+”替代,更方便输入。
本文配套的练习课件请添加客服微信buluowojiaoyu索取。
做Excel高手,快速提升工作效率,部落窝教育Excel精品好课任你选择!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
版权申明:
本文作者ITFANS;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。