我正在尝试计算两个日期/时间之间的小时和分钟差,其中开始时间和结束时间延续到第二天,即开始时间和结束时间。
例如,开始时间是下午 23:11:00(插图 3月24日)结束时间为上午 02:04(插图 3月25日)。
我正在使用=TEXT(A2 - A1, "h:mm:ss")
并且它返回#VALUE
错误,结果为负面。
我并不在意日期,我只想知道时间的流逝。
答案1
您的条目似乎没有日期信息。完全有可能,因为如果手动输入,Excel 不会添加日期。而且如果它们包含自然日期,您的公式就会起作用,它们显然没有日期信息。所以我将假设情况确实如此。
那么问题就变成了,由于 Excel 没有不同的日期来允许计算值不为负数,所以您遇到了问题。您可以通过多种方式解决它。
一种方法是添加日期。如果它们在制作时存在但后来被删除,也许您可以不删除它们,或者从原始数据中获取这些条目,而不是从删除的集合中获取。还有其他方法可以调整日期的想法。Ron Rosenfeld
给出了最简单的解决方案=End-Start+(Start>End)
,但一定要包含 TRUE/FALSE 测试的括号,这样您就会得到 1 或 0。如果没有它们,您将得到结果为 TRUE 或 FALSE。
如果您认为在您或其他人升级电子表格的一年内这可能不是最容易记住的逻辑,那么您可以使用一个简单的IF()
测试来制作计算:
=IF(Start>End, 1 + (End - Start), End - Start)
这应该很快就能理解。
实际上,有一种古老的技术可以让您在公式或公式的一部分中添加“注释”。该函数N()
甚至可以评估字母输入,而不是像上面那样给出错误VALUE()
。因此,您可以像这样在公式中添加一段:
=End-Start+(Start>End + N(This part adds one day if the times cross midnight.))
它会将文本字符串评估为 0,因此您最终添加的是 0,这不会改变测试“Start>End”的结果,因此也不会改变公式的结果。然而,一两年后,您或其他人会阅读它并立即理解公式的机制。