我需要减去两个日期(包括小时和分钟),但我只需要考虑工作时间。也就是说,我需要在一个工作日(从Mo到Fr)省略午餐时间(从13到14小时),18小时后的周末和小时以及第二天的9小时之前。有什么想法吗? 我不介意它是Excel公式还是vba代码。 我有这个公式,但它没有省略午餐时间:
9*(NETWORKDAYS(initial_time;ending_time)-1)-24*((MOD(initial_time;1)-MOD(ending_time;1)))
答案 0 :(得分:1)
这是一个可能的解决方案。它假设除了开始和结束日期之外的所有工作日都是8小时。此外,开始日期/时间是9:00或之后,结束日期/时间是18:00或更早,并且两者都在工作日。
=(NETWORKDAYS(A2,B2)-2)*8+IF(MOD(A2,1)>0.58333,(TIME(18,0,0)-MOD(A2,1))*24,(TIME(18,0,0)-MOD(A2,1))*24-1)+IF(MOD(B2,1)>0.58333,(MOD(B2,1)-TIME(9,0,0))*24-1,(MOD(B2,1)-TIME(9,0,0))*24)
.58333相当于14:00。公式: 乘以networkdays * 8 如果开始时间是14:00之前,从开始日期/时间到18:00的+小时减去1小时 如果结束时间是在14:00之后,则从9:00到结束日期/时间减去1小时
当然,这不考虑任何假期。