在 Excel 公式中转换日期格式

在 Excel 公式中转换日期格式

有什么公式可以让我计算出两个日期和两个时间之间的差值?例如:在同一个单元格中,我有 2005 年 1 月 1 日 07:30,在第二个单元格中我有 2010 年 1 月 6 日 19:29。如果我没记错的话,答案应该是 1832 天 11 小时 59 分钟。有人能帮我吗?

答案1

假设 A1 为01 January 2005 07:30, A2 为06 January 2010 19:29。转到一个空单元格(例如 A3),然后输入以下公式:

=A2-A1

现在,右键单击单元格 A3 并选择“设置单元格格式...”。在“数字”选项卡下,选择“自定义”。在“类型”框中输入以下值:

[hh]:mm

现在你可以看到小时和分钟的差异。我没有尝试让它同时显示天数、小时和分钟,但你可以使用类型变量来实现它。

在早期版本的 Excel 中,有一个名为DateDif()来实现您想要的效果,但它似乎并没有在 Excel 2007 和 Excel 2010 中实现。

答案2

我可能把这个答案复杂化了,因为公式太长了,但它确实有效。

假设您的开始日期在 A1 中,结束日期在 B1 中:

=(INT(B1-A1)) & " Days, " & (INT((B1-A1-INT(B1-A1))*24)) &" Hours, "& ROUND(((((B1-A1-INT(B1-A1))*24)-(INT((B1-A1-INT(B1-A1))*24)))*60),0) &" Minutes"

我得到的结果是:1831 天,11 小时,59 分钟

它与您预期的 1832 天不同,因为它不包括结束日期。如果您希望它包括在内,请将公式更改为:

=(INT(B1-A1)+1) & " Days, " & (INT((B1-A1-INT(B1-A1))*24)) &" Hours, "& ROUND(((((B1-A1-INT(B1-A1))*24)-(INT((B1-A1-INT(B1-A1))*24)))*60),0) &" Minutes"

我希望得到一个更简单的答案,但我现在想不出答案。希望有人能用更高效/更优雅的解决方案来解决这个问题。

答案3

正如 Mehper 提到的,简单的减法将得到结果 1831.49930555555。

小数点前的数字表示天数,小数点后的数字表示小时和分钟(以小时为单位)。

减去天数得到剩余的分数,即 1831.49930555555 - 1831 得到 0.49930555555

为了确定,您可以对剩余分数使用以下函数:

hour(CELL)

获得准确的时间,并且...

minute(CELL)

获得准确的分钟数...

Wolfram Alpha 对于这类东西也相当擅长。

答案4

我的公式不起作用,因为我使用的是法语版 Excel。

现在我已经翻译完毕,它可以正常工作了。

相关内容