楼主你好,你在“excel中如何计算2个时间的时间差,但是要除去每天某一固定时间段,23:00---6:00,用分钟显示”问题里回复的“=TEXT((B2-A2)*24*60-(DATEDIF(A2,B2,"d")-1)*9*60-(9-24*(TEXT(A2,"hh:mm")-TIMEVALUE("23:00")>0)*(TEXT(A2,"hh:mm")-TIMEVALUE("23:00"))+24*(TEXT(B2,"hh:mm")-TIMEVALUE("8:00")<0)*(TEXT(B2,"hh:mm")-TIMEVALUE("8:00")))*60,"#") ”公式,当开始时间是当天00:00以后,最终答案就没有减去00:00-8:00这个时间段的时间,可否完善一下公式,万分感谢。
已测试正确!
C2
=TEXT((B2-A2)*24*60-(DATEDIF(A2,B2,"d")-1)*9*60-(9-24*(TEXT(A2,"hh:mm")-TIMEVALUE("23:00")>0)*(TEXT(A2,"hh:mm")-TIMEVALUE("23:00"))+24*(TEXT(B2,"hh:mm")-TIMEVALUE("8:00")<0)*(TEXT(B2,"hh:mm")-TIMEVALUE("8:00")))*60,"#") 下拉填充
其中:
1、(B1-A1)*24*60计算不考虑任何其他因素两个时间差的总分钟数。
2、(DATEDIF(A1,B1,"d")-1)*9*60计算当两个时间差大于等于2天,应去掉n-1个完整的23:00---8:00固定段时间9小时分钟数。
3、(9-24*(TEXT(A2,"hh:mm")-TIMEVALUE("23:00")>0)*(TEXT(A2,"hh:mm")-TIMEVALUE("23:00"))+24*(TEXT(B2,"hh:mm")-TIMEVALUE("8:00")<0)*(TEXT(B2,"hh:mm")-TIMEVALUE("8:00")))*60计算时间段在23:00---8:00这一固定时间段中不足9小时应去掉的分钟数。
4、TEXT函数将计算出来的总分钟数用常规数值显示出来。