Excel时间加减:搞懂底层逻辑,再也算错时间

Excel时间加减:搞懂底层逻辑,再也算错时间

Excel所有时间加减,本质都是小数运算,不用复杂函数也能精准算出时长、推算时间。大部分人算错超时工时、跨天时间差,核心是没摸清它的计数规则,只会套公式。

Excel默认把一整天记为数字1,这是所有时间计算的底层根基。24小时均分1,1小时就是1/24,1分钟是1/1440,1秒钟就是1/86400。我们肉眼看到的08:30、18:20,只是小数的时间格式展示,单元格后台存的全是小数数值。

特别简单。

日常最简单的时间加减,直接用加减号就能搞定。想给A1单元格的原有时间,加2小时30分钟,输入=A1+TIME(2,30,0)就行,三个参数分别对应小时、分钟、秒。想减去15分钟,就写=A1-TIME(0,15,0),零基础也能一秒上手。

很多人卡在这里,是分不清时间格式结果数值时长结果

我之前统计员工加班时长,踩过一个特别典型的坑。当时两个时间相减,单元格直接显示0:45,看着是45分钟,我直接复制数值汇总,最后整张表的总加班时长少了整整8小时。后来才反应过来,0:45是时间格式,对应的后台小数只有0.03125天,直接累加根本得不到真实小时数。

想要可统计的真实时长,必须做数值换算。

想要小时数,就乘以24。结束时间减开始时间,再乘24,得出的就是纯小时数值,比如5.5小时。

想要分钟数,就乘以1440。24×60的换算逻辑,算出来的数字可以直接求和、做薪资核算。

想要秒数,就乘以86400,精准适配秒级考勤、设备计时数据。

跨天时间差,是最容易翻车的场景

比如夜班班次,22:00上班,次日06:00下班,直接用结束减开始,Excel会显示负数,直接报错。

为什么会这样?因为Excel判定06:00比22:00时间更早,小数数值更小,相减自然为负。

解决办法只有一个通用公式,适配所有跨天场景:=结束时间-开始时间+(结束时间<开始时间)。括号里的条件成立会返回1,不成立返回0,跨天就自动加1天,完美抵消负数,算出准确的8小时工时。

还有个懒人万能工具,TEXT函数。

  • =TEXT(A2-A1,"[h]小时m分钟")

这个公式的优势是自带格式,不用手动改单元格属性,直接输出“8小时15分钟”这种可读结果。重点是括号里的[h],中括号能突破24小时限制,超过一天的时长也能正常统计,不会归零重置。

很多新手改半天格式,结果越改越乱。

记住一个核心原则:看需求改格式。只想看时间段,保留时间格式就行;需要汇总、求和、算薪资,一定要转成常规数值格式,用乘24、乘1440的方式算出真实时长。

不用死记公式。

只要记住“1天=数字1”,所有时间加减问题都能变通解决。后续所有考勤、工时、时长统计,直接套用对应的换算方式和跨天公式即可。

了解更多百科知识请访问 百科