减去两个日期(包括小时和分钟),仅考虑工作时间vba或Excel 我需要减去两个日期(包括时间和分钟),但我只需要考虑工作时间。也就是说,在一个工作日(从Mo到Fr),我需要省略午餐时间(从13到14小时)、周末和18小时后到次日9小时前的时间。有什么想法吗? 我不介意它是Excel公式还是vba代码。 我有这个公式,但它没有忽略午餐时间: 9*(NETWORKDAYS(initial_time;ending_time)-1)-24*((MOD(initial_time;1)-MOD(ending_‌​time;1)))

减去两个日期(包括小时和分钟),仅考虑工作时间vba或Excel 我需要减去两个日期(包括时间和分钟),但我只需要考虑工作时间。也就是说,在一个工作日(从Mo到Fr),我需要省略午餐时间(从13到14小时)、周末和18小时后到次日9小时前的时间。有什么想法吗? 我不介意它是Excel公式还是vba代码。 我有这个公式,但它没有忽略午餐时间: 9*(NETWORKDAYS(initial_time;ending_time)-1)-24*((MOD(initial_time;1)-MOD(ending_‌​time;1))),vba,excel,Vba,Excel,这里有一个可能的解决方案。除开始日期和结束日期外,它假定所有工作日为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

这里有一个可能的解决方案。除开始日期和结束日期外,它假定所有工作日为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。公式如下: 乘以网络天数*8 +从开始日期/时间到18:00的小时数减去1小时(如果开始时间在14:00之前) +从9:00到结束日期/时间的小时数减去1小时(如果结束时间在14:00之后)

当然,这不包括任何假期


你一定试过什么,你不可能是唯一一个问过这个问题的人。展示你的努力,并解释什么对你不起作用。我有这个公式,但它没有忽略午餐时间:9*(网络日(初始时间;结束时间)-1)-24*((MOD(初始时间;1)-MOD(结束时间;1)))这并不完美。如果其中一个日期超出9-13小时或14-18小时的范围,则公式将失败。例如,如果开始日期为9:00:00,结束日期为当天的13:10:00,则公式将抛出4,17,而该值应仅为4。我怎样才能解决这个问题@克莱顿·莫里斯:是的。正如我所说,它假设开始/结束时间在“工作日”内。它还假设日期不同。我需要一些示例数据来进一步计算。