Excel中算两个时间之间除去休息时间的时间差?

记录工单的开始时间和结束时间,需要计算两个时间差。但是其中有时间时间,分别是上午10点~10点15,中午11:20~12:00,下午14:00~14:15. 工作时间是8:30~17:00. 比如说A1是2020/7/7 9:51:58, B1是2020/7/7 12:21:50. 求其中的时间差,最好到秒。

你的数据格式是文本格式?还是日期时间格式?

你是想按描述的A、B列数据结构设置公式?还是按图片上的设置公式?

按文本格式理解,估计是在D2单元格输入公式:

=SUM(TEXT(86400*REPLACE(C2,1,FIND(" ",B2,3),)-{0,306,360,369,408,432,504,513,612}*100,"0;!0")*{0,1,-1,1,-1,1,-1,1,-1})-SUM(TEXT(86400*REPLACE(B2,1,FIND(" ",B2,3),)-{0,306,360,369,408,432,504,513,612}*100,"0;!0")*{0,1,-1,1,-1,1,-1,1,-1})

复制并下拉,即可得到除去休息时间以外的有效工作时间,单位是秒!

追问

图片上就可以。描述上是为了方便理解。数据格式是日期时间格式。

追答

图片上看看数据应该是文本格式呀!!

所以,就按文本格式理解,公式为:

=SUM(TEXT(86400*REPLACE(C2,1,FIND(" ",B2,3),)-{0,306,360,369,408,432,504,513,612}*100,"0;!0")*{0,1,-1,1,-1,1,-1,1,-1})-SUM(TEXT(86400*REPLACE(B2,1,FIND(" ",B2,3),)-{0,306,360,369,408,432,504,513,612}*100,"0;!0")*{0,1,-1,1,-1,1,-1,1,-1})

追问

看我最后实现的结果。也是对的,就是时间需要在转成秒。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-07-29
直接用结束时间减去开始时间再减去休息时间就行了。
不过要先判断结束时间是什么时候,再减去相应时间段内的休息时间就行了
需要用if 和time来解决追问

我想到是if和time,但是想不出来公式怎么搭建。

相似回答