将分钟转换为百分之一excel公式

时间:2015-12-27 08:48:44

标签: excel excel-formula excel-2010

我需要准备一个Excel公式来执行以下时间等式:

04:15:30应转换为04:25

18:30:15应转换为18:50

33:45:59应转换为33:75

30:14:14应该转换为30:23

此公式应将分钟转换为百分之一,并且不应对小时数进行任何操作,如上例所示。

我已经搜索了几个小时,可以找到这样的精确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)

提前致谢。

3 个答案:

答案 0 :(得分:2)

正如我在评论中所述:当您希望ppl转换它而不使用excel的buildin转换时,您的33:45:59是转换日期/时间。

让你的时间成为字符串,这个公式非常完美:

=LEFT(A1,2)&":"&TEXT(MID(A1,4,2)/3*5,"00")
=LEFT(A1,2)&TEXT(MID(A1,4,2)/3*5,""":""00")

但是如上所述:它已经转换为时间/日期并存储为double。因此,33:45:591.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"),".",":")不包含任何日期/时间函数。

修改

使用substitude,它看起来像这样:( 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分钟...只是数学:)

答案 1 :(得分:1)

它相当简单:将单元格格式化为带有两位小数的数字,制作公式=A1*24

时间格式在内部存储为一天中的几分之一。

要削减秒数,您应该使用=HOUR(A1) &MINUTE(A1)/60

答案 2 :(得分:1)

也许这对你有用:

=MAX((24*INT(A1))+((A1-INT(A1))*24),(-1*((24*INT(A1))+((A1-INT(A1))*24))))