同一单元格内多个排放混乱的时间数据,REGEXP正则逐个提取!

职场   职场   2024-12-05 11:30   河北  


Excel情报局

职场联盟Excel

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


    


大家好,今天我们来解决这样的一个问题:同一单元格内多个排放混乱的时间数据,REGEXP正则如何逐个提取


如下图所示

B列为对应人员的跑步读秒数据,同一个单元格中存在若干个读秒记录,每个读秒的时间格式固定,都是“m:ss”分秒格式。但是每组时间数据之间有的以空格作为间隔,但是空格符长度不等;有的则没有空格间隔符,也就是说每组时间数据粘连在一起了。现在我们想要将B列每个单元格中的多个时间数据分别提取出来,放置到一行的多个单元格中显示。



这个问题如果要用普通的分列的话,由于数据的空格分隔符时有时无且长度不等,有些困难,我们可以用REGEXP正则表达式函数解决


首先大致了解一下REGEXP函数的基本概念


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


基本语法结构

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


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

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


由于每个单元格中的多个时间数据格式固定,都是“m:ss”分秒格式,即“1位数字:2位数字”,所以我们抓住这个特点。



我们输入正则函数REGEXP
=REGEXP(B2,"\d:\d{2}",0)


正则表达式\d,代表任意的单个数字。
正则表达式\d{2},代表任意的2个数字。


所以"\d:\d{2}"就可以代表本例中的时间固定格式“m:ss”分秒格式,即“1位数字:2位数字”。


所以使用REGEXP正则函数,用第二参数正则表达式"\d:\d{2}"提取B2单元格内所有的“m:ss”分秒格式的数据,最终结果以数组溢出的方式显示在一行多列的单元格中。



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


 

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

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

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