在Michael的作品中,时间24:00与时间00:00之间存在细微但通常很重要的区别,但是Excel不支持24:00。 “午夜”是00:00:00,仅被识别为属于第二天。迈克尔想知道是否有任何方法可以指定24:00的时间,即“午夜”结束一天,而不是开始一天,并在该日期/时间运行正常功能?

在回答问题之前,重要的是要了解午夜本身就是一个时间。它只是一个瞬间,几分之一秒。用秒数字表示时间时,通常00:00:00是午夜,而24:00:00是不存在的时间。

为什么?因为前一个秒将被记为23:59:59,并且当您添加另一个秒时,时钟不会滴答至24:00:00,然后下一秒变成24:00:01。一天只有24小时,而这些小时的编号是0到23,而不是1到24。因此,当您从23:59:59开始“滴答”时,时间变为00:00:00。

可以假设这一天实际上要到00:00:01才开始,而直到24:00:00才结束,但这并不是大多数与时俱进的人普遍持有的感觉。感觉是,由于小时是使用从零开始的范围进行计数的,因此一致性指示秒数也应使用从零开始的范围进行计数。就像每小时从零秒开始一样,一天也应该如此。

理解可以以各种方式进行争论(关于如何在Excel中指定午夜),Microsoft选择使所有内容(小时,分钟和秒)都从零开始。在确定如何在工作表中存储日期和时间时,Microsoft设计了一个数字序列号系统。小数点左侧的序列号部分代表自基本开始日期(通常为1900年1月1日)以来的天数,小数点右侧的部分代表自午夜以来的一天的百分比。因此,请考虑以下序列号:

26442.636805556

这表示1972年5月23日下午3:17。如果时间再单击一秒(到下午3:17:01),则小数点右边的部分将变为.63681713,即午夜之后的63.681713%。如果小数点右边的部分是0(因此序列号仅为26442),则时间是午夜之后的0%。

有趣的是,如果您输入的时间为24:00:00,则Excel将显示该时间-不是因为它在内部允许这样的时间,而是因为它假定您已经输入了经过的时间。如果改为输入日期和时间(例如5/19/2020 24:00:00),则Excel会将其解析为日期和时间,并将其转换为5/20/2020 12:00:00 AM。

因此,对迈克尔最初的问题的简短回答是,他的前提在技术上是不正确的-午夜是一个独特的过渡时刻,实际上不属于前一天或后一天。但是,当计算秒数时,Microsoft支持从零开始的计数范围,并且一致性指示时间00:00:00属于新分钟,新小时和新日期。在这种记帐方法中,没有24:00:00这样的时间,因此它将在新的一天自动解析为00:00:00。

对于必须在前一天留些时间的人,解决该问题的通常方法是根本不输入24:00:00。相反,输入23:59:59并出于所有意图和目的将第二个差异视为“丢失”。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(9979)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。