介绍如何使用 Excel 计算午夜附近跨日所经过的时间。

假设我们有一张 Excel 表格如下,有一栏“开始时间”与一栏“结束时间”的资料,而我们想要计算两个时间点之间所经过的时间。

若要修正计算时间为负值的错误问题,最直觉的做法就是使用 IF 来判断时间是否有跨日(若结束时间在开始时间之前就代表有跨日),如果遇到跨日的时间计算时,就在计算时加上 1(计算时间所使用的单位是天,也就是加上 24 小时的意思),这样就可以得到正确的时间了:

=IF(B2>A2B2-A2B2-A2+1)

除了使用 IF 之外,还有一种比较偷懒的做法,就是直接在计算“结束时间”减去“开始时间”,加上一项 结束时间 < 开始时间(也就是 B2 < A2),这一项的作用跟前面的 IF 判断有异曲同工之妙。

当有时间有跨日的时候,B2 < A2 这一项的计算结果会是 True,放在运算式中的话,True 就会被当成 1 来计算,这样就可以让跨日的时间计算自动加上 1;反之若没有跨日的时间问题,该项的计算结果就会是 False,在运算式中就会被视为 0 而自然被忽略。

所以这样写的效果跟 IF 的写法完全相同,而且语法更简洁: