工作中经常要将度分秒数据转为度,每次都得分列,再输入公式,很是繁琐,怎么办呢?当然是一键公式啦。但是公式是个非常烧脑的东西!那就专门花一点时间研究一下,以后就都套用啦!
话不多说开始正题。
首先,数据是类似 39:52:57.51743的这种东东,要转换成一个小数。假设这个数据位于E21的位置。
(1)找到第一个分隔符:的位置
x1=FIND(":",E21,1)-1
意思是找到第一个:的位置,数一数就是第三个啦,但是excel很变态,非要说是第4个,那就只能减去1了。
(2)找到第二个分隔符:的位置
x2=FIND(":",E21,FIND(":",E21,1)+1)-1
啥意思呢,就是从第一个:后面的数开始找,找到后还是要减去1才对。
(3)算出两个:中间的数长度
=x2-x1-1
=FIND(":",E21,FIND(":",E21,1)+1)-1-[FIND(":",E21,1)-1]-1
=FIND(":",E21,FIND(":",E21,1)+1)-1-FIND(":",E21,1)+1-1
=FIND(":",E21,FIND(":",E21,1)+1)-FIND(":",E21,1)-1
啥意思呢,就是:中间有几个数啦,一看就知道是两个,但还是要减一下的
(4)提取出度
=MID(E21,1,FIND(":",E21,1)-1)
MID(x,y,d)函数的意思是从x的第y位开始一直提取长度为d的数。这就把度的整数部分提取出来了。
(5)提取出分
=MID(E21,FIND(":",E21,1)+1,FIND(":",E21,FIND(":",E21,1)+1)-FIND(":",E21,1)-1)
把前面步骤的计算结果代进来就可以啦。
(6)提取出秒
=RIGHT(E21,LEN(E21)-(FIND(":",E21,FIND(":",E21,1)+1)-1)-1)
=RIGHT{E21,LEN(E21)-FIND[":",E21,FIND(":",E21,1)+1]}
RIGHT(x,y)的意思是从x的右面提取长度为y的数。Len的意思是整个数的长度,这就好理解了。
(7)计算
公式很简单!就是(秒/60+分)/60+度就行!
=(RIGHT(e21,LEN(e21)-FIND(":",e21,FIND(":",e21,1)+1))/60+MID(e21,FIND(":",e21,1)+1,FIND(":",e21,FIND(":",e21,1)+1)-FIND(":",e21,1)-1))/60+MID(e21,1,FIND(":",e21,1)-1)
搞定!
以后就用这个公式直接计算就可以啦!
=(RIGHT(a1,LEN(a1)-FIND(":",a1,FIND(":",a1,1)+1))/60+MID(a1,FIND(":",a1,1)+1,FIND(":",a1,FIND(":",a1,1)+1)-FIND(":",a1,1)-1))/60+MID(a1,1,FIND(":",a1,1)-1)
这个是A1版的,一个公式里11个地方用到A1,替换即可!