将时间跨度设置为天数,小时数和分钟数

这纯粹是一个Excel表单的问题。

我有一个时间跨度基本上是两个单元格之间的差异,每个包含一个date:

我设法通过将数字格式更改为[h]:mm来获得小时数和分钟数的时差。 现在我想获得天数,小时数和分钟数的差异。 我尝试将数字格式设置为[d]:[h]:[mm]但不被Excel接受。

这是我现在拥有的:

  ABC (=A2-A1) ---------------- ---------------- ---------- 1| 14/10/2011 00:00 17/10/2011 07:50 79:50 2| 14/10/2011 00:00 17/10/2011 11:00 83:00 

这是我想要得到的:

  ABC (=A2-A1) ---------------- ---------------- ---------- 1| 14/10/2011 00:00 17/10/2011 07:50 3:7:50 2| 14/10/2011 00:00 17/10/2011 11:00 3:11:00 

我怎样才能做到这一点? 有数字格式可用吗?

你可以使用TEXT
= TEXT(B1-A1,"d:h:mm")

注意直接在单元格上使用简单的数字格式也可以实现相同的效果

  • select你的范围(单元格C1, C2等)
  • 右键单击并格式化单元格
  • 习惯
  • 键入d:hh:mm

如果与您的示例数据不同,您的date差异超过了31天,则可以使用=INT(B1-A1)&":"&TEXT(B1-A1,"h:mm")
将工作

警告:以上仅适用于小于31天的范围。 使用

 =CONCATENATE(TEXT(FLOOR(B1-A1,1),"@")," Days",TEXT(B1-A1," h:mm:ss")) 

而不是31天以上的范围。 这样做sorting不好,所以最好在一列中进行计算,然后为最终结果对列进行美化。

下面的答案肯定不是最简单的公式,也不是问题的直接答案,而是以下面的格式显示正确的结果(同样在LibreOffice上):

#天##小时##分##秒

 =CONCATENATE(TEXT(FLOOR(B2-A2,1),"@")," days ", IF(HOUR(A12)-HOUR(A11)<0,HOUR(A12)-HOUR(A11)+24,HOUR(A12)-HOUR(A11))," hours ",IF(MINUTE(A12)-MINUTE(A11)<0,MINUTE(A12)-MINUTE(A11)+60,MINUTE(A12)-MINUTE(A11)), " minutes ", TEXT(B2-A2,"s"), " seconds") 

假设您的开始date位于单元格C2中,并且您的结束date位于单元格D2中,以下方法也适用:

  =TEXT((D2-C2)-MOD(D2-C2,1),"0") & " days " & TEXT(MOD(D2-C2,1),"hh:mm") 

不幸的是,它显示数字和date时间格式不能合并,否则自定义格式为:

 0:h:m 

将是票。 但是,如果跨度为32天或更长时间,则只需显示(小数)天数即可使用自定义格式,例如:

 [>=32] 0.00 "days"; d:h:m 

单元格值保持数字。

=IFERROR(INT(Date1-Date2)&" Days "&INT(MOD((Date1-Date2);INT(Datw1-Date2))*24)&" Hours "&MINUTE(Fate1-Date)&" Min";IFERROR((Date1-Date2);"NA"))enter code here

无论你有什么date,我都觉得这应该会有效果。