Excel情报局
职场联盟Excel
今天遇到这样一个问题:从杂七乱八的数据中,找到倒数第2个数字?由于数据源中包含数字、字母和汉字等,并且数字部分并不是连续的。想要提取倒数第2个数字,显得有些困难了。不过,稍加思考后,也轻松解决了。
如下图所示:
A列为数据源,单元格中的数字并不是连续存在的,可能被一些非数字字符串间隔开,我们想要获取到倒数第2个数字。比如A2单元格的“123word8”,倒数第2个数字是“3”。
首先我们要说一个新函数,小编也是第一次用,在金山WPS表格的较新或最新版本中也可以使用了,那就是REGEXP函数。
REGEXP函数是正则表达式函数。可以用来提取或拆分等。
正则表达式就是用一些特殊的字符来表达或总结字符串的规律或特性。
函数基本语法:
=REGEXP ( 字符串,正则表达式,匹配模式,替换内容 )
第3参数的匹配模式有三种:0提取、1判断、2替换
比如我们在B2单元格输入函数公式:
=REGEXP(A2,"\d+")
用\d或[0-9]表示数字,而+表示前一个元素的1次或者无限次的扩展,所以我们就可以将不同分段的数字字符串提取到不同单元格中,以数组结果返回。
接着搭配CONCAT函数:
=CONCAT(REGEXP(A2,"\d+"))
目的就是将上一步中返回的一行多列的数组元素(多个单元格中的数字)进行合并到一个单元格中。
接下来我们使用RIGHT提取函数:
=RIGHT(CONCAT(REGEXP(A2,"\d+")),2)
使用RIGHT函数从右边开始提取,提取2位,即提取出倒数第2个数字+倒数第1个数字。
最后再使用LEFT提取函数:
=LEFT(RIGHT(CONCAT(REGEXP(A2,"\d+")),2),1)
使用LEFT函数将上一步中提取到的两位数字(即倒数第2个数字+倒数第1个数字)从左边开始提取1位,即获取到倒数第2个数字。
回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。
〖往期知识点精彩链接点击阅读〗