![在 Excel 公式中转换日期格式](https://linux22.com/image/1260391/%E5%9C%A8%20Excel%20%E5%85%AC%E5%BC%8F%E4%B8%AD%E8%BD%AC%E6%8D%A2%E6%97%A5%E6%9C%9F%E6%A0%BC%E5%BC%8F.png)
有什么公式可以让我计算出两个日期和两个时间之间的差值?例如:在同一个单元格中,我有 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。
现在我已经翻译完毕,它可以正常工作了。