【发布时间】:2015-01-06 18:56:32
【问题描述】:
是否有 Excel 函数来计算两次之间的差异?如果第一次是昨天或少于第二次,我找不到任何可行的方法。
【问题讨论】:
-
@pnuts 没有成功...
-
我同意 pnuts,只要 C7 和 D7 是有效时间,那么使用 1 代替 12 应该可以工作 - 确保格式化列 E 以显示时间值 - 然后你的示例中的 E7 将显示9:00
是否有 Excel 函数来计算两次之间的差异?如果第一次是昨天或少于第二次,我找不到任何可行的方法。
【问题讨论】:
Excel for Windows 中的时间表示为从 1900 年 1 月 1 日开始的小数天数。要计算两个时间或日期之间的差异,您只需将两者相减即可。然后,您可以将结果相乘以将天数转换为所需的单位。 (即:*24 获取小时,*1440 获取分钟,*86400 获取秒等)
从技术上讲,旧版本的 Mac 版 Excel 默认使用 1904 年日期系统,该系统使用 1904 年 1 月 1 日作为第一天。即使在 Windows Excel 中使用 Excel 选项对话框的高级选项卡中的设置,也可以启用 1904 日期系统。 (就在 Lotus 1-2-3 兼容性和 DDE 配置旁边。)
【讨论】:
优雅的做法是:
=MOD(finish-start,1)*24
如果开始时间和结束时间在同一天,则 MOD 函数不会改变任何内容。 如果时间越过午夜并且结束时间比开始时间早,MOD 函数会翻转差异的符号。
请注意,此公式将两次(实际上是两个日期)之间的差异计算为十进制值。您应该将结果显示为时间。
https://exceljet.net/formula/time-difference-in-hours-as-decimal-value
【讨论】:
这是一篇很好的文章,它快速解释了 excel 如何处理关于两次之间的差异的时间,以及如果它们落在午夜的任一侧该怎么办。
给出的公式是=MOD((end_time - start_time)+1,1)
关于如何将时间转换为十进制的后续内容
How to convert times into hours, minutes or seconds (decimal)
【讨论】: