将分钟转换为百分之一的Excel公式
我需要准备一个Excel公式,做下面的时间公式:
04:15:30应该转换为04:25
18:30:15应该转换为18:50
33:45:59应该转换为33:75
30:14:14应该转换为30:23
这个公式应该把分钟转换成百分之一,而不应该像上面的例子那样用小时来做任何事情。
我已经search了几个小时,可以find这样一个确切的excel公式。
FIRST NOTE : if you make some improve on this formula (=SUBSTITUTE(TEXT(A1*24,"00.00"),".",":")) it could be help. SECOND NOTE : as above formula note that it should not have any excel date conversion such as (MINUTE,HOUR,[hh]...etc)
提前致谢。
正如我的评论里面说的:你的33:45:59
是转换date/时间,而你想要ppl转换它而不使用excel的buildin转换。
把你的时间尽可能地串起来,这个公式是完美的:
=LEFT(A1,2)&":"&TEXT(MID(A1,4,2)/3*5,"00") =LEFT(A1,2)&TEXT(MID(A1,4,2)/3*5,""":""00")
但正如所说:它已经转换为时间/date并存储为双。 所以你的33:45:59
是1.40693287037037
。 (这样=LEFT(A1,2)
是"1."
而不是"33"
。
要改变它就像这样,你需要一个像这样的公式:
=TRUNC(A1*24)&":"&TEXT(ROUND(MOD(A1*2400,100)-MOD(A1*1440,1)/3*5,0),"00")
或者如果你想在几秒钟内完成,那么:
=TRUNC(A1*24)&":"&TEXT(ROUND(MOD(A1*2400,100),"00")
如果还没有显示TEXT
那么你需要这样的东西:
=TRUNC(A1*24)&":"&IF(ROUND(MOD(A1*2400,100)-MOD(A1*1440,1)/3*5,0)<10,0,"")&ROUND(MOD(A1*2400,100)-MOD(A1*1440,1)/3*5,0) =TRUNC(A1*24)&":"&IF(ROUND(MOD(A1*2400,100),0,"")&ROUND(MOD(A1*2400,100)
附注:公式=SUBSTITUTE(TEXT(A1*24,"00.00"),".",":")
不包含任何date/时间函数。
编辑
使用替代它将看起来像这样:(在A1中的完整值)
=SUBSTITUTE(TEXT(ABS(TRUNC(FLOOR((A1-"220:00"-(59/86400)*((A1-"220:00")<0))*24,IF((A1-"220:00")<0,-1/60,1/60)),2)),"00.00"),".",":")&IF((A1-"220:00")<0,"-","")
-(59/86400)*((A1-"220:00")<0)
部分是为了确保它正常工作。 没有,秒数的负数将下降1分钟…只是math:)
它相当简单:将单元格格式化为带两位小数的数字,使公式=A1*24
。
时间格式内部存储为一天几分之一的日子。
要减less秒数,你应该使用=HOUR(A1) &MINUTE(A1)/60
也许这可能适合你:
=MAX((24*INT(A1))+((A1-INT(A1))*24),(-1*((24*INT(A1))+((A1-INT(A1))*24))))