专业编程基础技术教程

网站首页 > 基础教程 正文

两个很短的数字与字母万能提取公式,好用到爆~

ccvgpt 2025-03-30 14:39:39 基础教程 11 ℃

今天给大家分享两个提取函数~

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($97:$122))函数来表达从A到Z的26个字母。

因此,在B2输入公式即可则提取英文:

=TEXTSPLIT(A2,TEXTSPLIT(A2,CHAR(ROW($97:$122)),,1,1,""),,1,,"")


D5之所以是错误值,是因为A5中没有英文字母。

用TEXTSPLIT套路公式还是繁琐了点,可以用WPS最新函数正则表达式函数REGEXP。

2. REGEXP函数万能提取——无须嵌套

公式:=REGEXP(A2,"正则表达式")

说明:REGEXP是WPS最新版本中才有的。需要根据提取数据的类型编写正则表达式。

在B2输入“=REGEXP(A2,"[0-9.-]+")”下拉填充即可提取数字。使用正则表达式“[0-9.-]+”匹配所有整数和小数。

提取英文则输入“=IFERROR(REGEXP(A2,"[A-z]+"),"")”。使用正则表达式“[A-z]+”匹配所有的大小写字母。

提取中文输入“=IFERROR(REGEXP(A2,"[一-龥]+"),"")”。

一是中文的第一个Unicode编码,“龥”(读“yù”)是中文最后一个Unicode编码,[一-龥]+可指代所有汉字。如果不提取生僻字,也可以使用“[一-龟]+”替代,更方便输入。

好了,今天的分享就到这里,欢迎大家在评论区评论哦~

最近发表
标签列表