前几天一个同事遇到一个问题,导出的一份报表里面的一个时长数据是数字和中文混合的,他需要计算平均时长,而数据总量上千条,手动处理太慢,针对这个问题,我们该怎么处理呢?
首先我们观察这份数据的特点,数据包含时分秒,但是有的数据没有小时,有的没有秒,所以数据没有对齐,无法直接用“:”替换文字来转换数据格式,所以要么提取对应的数字乘以换算比例,直接换算成秒来计算,另一种方式就是把数据规范为时间格式,就可以直接计算了。
方法1:
思路:使用substitute函数,来把小时,分,秒替换为*3600,*60,*1
在B2中输入="="&IF(ISNUMBER(FIND("秒",A2)),SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"秒",""),"分","*60+"),"小时","*3600+"),SUBSTITUTE(SUBSTITUTE(A2,"分","*60"),"小时","*3600+")),然后向下填充
说明:“if(isnumber(find(”是一个常用的组合ÿ