记录工单的开始时间和结束时间,需要计算两个时间差。但是其中有时间时间,分别是上午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})
看我最后实现的结果。也是对的,就是时间需要在转成秒。
我想到是if和time,但是想不出来公式怎么搭建。