【Excel函数使用】时分秒时间怎么转换成秒?(一)

本节主要分享的函数是MID和FIND

今年春天大家都过了一个特殊的春天,因为疫情,全国人民都变“宅”了。

为了能够持续推进公司的产品,很多公司都开展了直播。那么直播结束以后,从平台上也导出了一些数据,我们也希望通过这些数据能够分析出直播的效果。

公司负责直播的小姐姐找到了表姐,因为她在分析这些数据的时候遇到了一些小困难。以下是导出类的原始数据:

【Excel函数使用】时分秒时间怎么转换成秒?(一)

小姐姐的诉求是以下两点:

1、 对观看时长进行排序,查看最长时间与最短时间

2、 平均观看时长是多少

由于直播平台导出的数据“观看总时长”是文本,非标准的时间格式,所以没有办法进行直接的排序,那么需要进行排序,就必须得转化成统一的时间单位的数据方才可行。表姐决定把这些包含“时分秒”的文本数据全部转化成秒,以实现小姐姐的诉求。


以“2小时26分钟42秒”为例,我们需要提取文本里面的数值,需要用到的函数是MID与FIND。

MID函数用于返回文本字符串中指定位置开始的特定数目的字符,数目由用户指定。

MID(text, start_num, num_chars)

【Excel函数使用】时分秒时间怎么转换成秒?(一)

FIND函数用于返回两个文本串之间的值

FIND(find_text. Within_text, [start_num])

【Excel函数使用】时分秒时间怎么转换成秒?(一)

以上图为例,要将F3“2小时26分钟42秒”转化为秒,那么需要将里面小时、分钟以及秒的值提取出来。

步骤一:提取小时之前的值,也就是提取文本“小”所在位置之前的值。

“小”所在位置之前的字符值,公式为=FIND("小",F3)-1;

从第一个字符起,提取“小”之前的文本串,公式为:

<code> H3=MID(F3,1,FIND("小",F3)-1)/<code>

步骤二:提取“时”和“分”之间的分钟值。

首先返回“时”和“分”之间的字符长度,公式为:

<code>I3=FIND("分",F3)-FIND("时",F3)/<code>

接着继续用MID函数来提取文本,和小时值不同的是,这次开始的值是从“时”后面的字符开始的,也就是公式

<code>FIND("时",F3)+1/<code>

提取分钟的值公式:

<code> =MID(F3,FIND("时",F3)+1,(FIND("分",F3)-FIND("时",F3)-1))/<code>

步骤三:提取“钟”和“秒”之间的秒数值,原理跟提取分钟值一样。

<code>J3=MID(F3,FIND("钟",F3)+1,(FIND("秒",F3)-FIND("钟",F3)-1))/<code>
【Excel函数使用】时分秒时间怎么转换成秒?(一)


根据以上的公式,我们分别提取了小时、分钟、和秒的值,那接下来是不是可以用公式计算出秒数值呢?答案是不可以的,因为MID函数返回的是文本串,不能直接用于计算的,上图中显示的提取值靠左,而不是数值默认的靠右。

现在还出现了另外一个问题,对于“31分钟23秒”、“16秒”也就是没有包含的小时的值,我们无法提取分钟值,而可以提取秒的值,因为上面提取分钟值得公式是需要找到“时”的字符才有效,因此我们这里的返回值是错误的。

为了能够有效地提取这两种格式文本的值,我们还需要添加两个公式来提取。

分钟值:

<code>K3=MID(F3,1,FIND("分",F3)-1)/<code>

秒钟值:

<code>L3=MID(F3,1,FIND("秒",F3)-1)/<code>
【Excel函数使用】时分秒时间怎么转换成秒?(一)

可是结果也不是我们想要的,那我们该如何处理呢?下一节继续分解。


分享到:


相關文章: