我们的一天 24 小时是晚上 8 点到晚上 7:59。这算作 1 天,而不是凌晨 12 点到晚上 11:59。对于晚上 8 点以后的时间,我需要将记录视为第二天的一部分。例如:
Actual Date/Time How Excel should treat it
30-Sep 11:52 PM 1-Oct +3:52
1-Oct 6:00 AM 1-Oct +10:00
2-Oct 7:00 AM 2-Oct +11:00
我如何让 Excel 将 9 月 30 日晚上 11:52 视为 10 月 1 日,并将早上 6:00 视为一天运营的最初几个小时而不是结束时间?
答案1
最简单的方法是翻译时间,然后正常计算。
您的每日开始时间比“标准”定义的一天早 4 小时。如果您将时间向前移动四个小时,它们将与 Excel 正常工作时的设计相匹配。请这样想:如果您的时间为 9 月 30 日晚上 8 点,那么对于位于您东部时区四小时的某人来说,这是 10 月 1 日的开始。这相当于让他们为您输入实时数据。它不会改变时间之间的关系,更像是将它们格式化为不同的时区。
执行
时间偏移值
如果您有一个重复使用的常量,尤其是您可能需要更改它时,最好将该值存储在一个地方并在那里维护。这样可以避免在许多地方更改硬编码的值,以及潜在的拼写错误。然后您可以在公式中引用该值。
在电子表格的其他部分,比如 X1,您可以放置一个标签,如time offset:
,并在 Y1 中输入 4 小时值。一种用户友好的方法是在 Y1 中输入:=TIME(4,0,0)
。这等于四小时零分钟零秒的值。
时间翻译
因此,如果 A1 包含实际日期/时间,则 B1 中的公式将为:
=A1+$Y$1
在您的示例中,您将日期和时间显示在单独的列中。不清楚这只是应用于重复日期/时间值的格式,还是单元格仅包含日期或时间。如果是后者,您可以简单地将它们组合在公式中。因此,公式将进入 C1,如下所示:
=A1+B1+$Y$1
输入第一个单元格的公式,然后将其复制到整个数据范围。美元符号固定 Y1 引用,这样当您将公式复制到其他单元格时,它不会进行调整。
新列将包含您使用的翻译值。(如果结果显示为数字,只需将单元格格式化为日期/时间即可。)
如果您只是使用这些值进行时间计算(例如时差),则可以直接使用这些值,并且计算结果是正确的。如果您需要将翻译后的时间显示为实际时间,只需执行相反的操作即可。显示的值将是翻译后的值减去四个小时。例如:
=C1-$Y$1