如何在Excel中用函数将通话时长折算成分钟数?

 

近日公众号后台有位网友提出了这么个问题

 

 

D列的通话时长要折算成分钟数,不足1分钟的按照1分钟计算。听说移动计算手机话费是这样的,通话时长不足1分钟的也按照1分钟计算。

 

也就是要实现如下所示的转换

 

 

这是一个典型的在Excel中做数值修约的问题,涉及到数值的进位函数。

 

在B2单元格输入如下的公式

 

=ROUNDUP(SUBSTITUTE(SUBSTITUTE(IF(LEN(A2)<4,”0分”&A2,A2),”分”,”.”),”秒”,””),0)&”分钟”

 

双击填充柄填充即可实现想要的结果。

 

接下来,我们来分析下这个问题的解题思路

 

首先A列的时间都是文本形式的,要变成数值形式才能进行进位。

 

比如10分30秒,如果变成了10.30,只要用往上进位函数就可以变成11。

 

但是A列的时间有些连1分钟都不到,比如20秒,要变成0.2才能直接往上进位到1。

 

所以先用函数

 

IF(LEN(A2)<4,”0分”&A2,A2)

 

给A列的时间进行规范化,对于不足1分钟的时间,在它的前面添加0分,比如20秒,就变成0分20秒,如下所示

 

 

现在B列的数据都是规范的分秒格式,然后用函数SUBSTITUTE将分和秒替换,把分替换为小数点,把秒替换为空。

 

就变成了如下所示

 

 

最后用ROUNDUP函数将C列的结果向上进位,就得到了最终要的结果。

 

 

最后,让我们来回顾下整个问题,通过将文本形式的时间转成对应的数值,然后用向上进位函数向上进位是整个问题的解决思路。

 

但是要实现这些过程,需要熟练运用Substitute函数、RoundUP函数、以及字符串的补位思想。

 

要用函数解决一个问题,最难的其实是思路,思路有了只要分步拆解,将每一步都用函数解决,再嵌套起来就容易了。

 

今天的分享就到此为止。

       

发表评论