当前位置: 代码迷 >> Office >> Excel公式计算告假时间(小时数)
  详细解决方案

Excel公式计算告假时间(小时数)

热度:10437   发布时间:2013-02-26 00:00:00.0
Excel公式计算请假时间(小时数)
前提:
1:有些人上班时间是8:30到17:30,另外有些人是9:00到18:00
2:中午都是12:00休息到13:00
3:要能计算两个请假时间的差额是几个小时,不算午休时间。
4:目前不考虑周末时间。

我自己写的公式只能计算同一天内的两个时间差,如果从2010-9-1 10:00请假到 2010-9-2 9:00,我的公式就算不出来了。请大侠们帮忙

附上我的公式:其中B1为结束时间  A1为开始时间

=((TEXT(B1,"hh:mm")-TEXT(A1,"hh:mm"))-IF((AND(HOUR(A1)=12,HOUR(B1)=12)),TEXT(B1,"hh:mm")-TEXT(A1,"hh:mm"),IF(AND(HOUR(A1)<12,HOUR(B1)=12),IF(HOUR(A1)=12,"13:00"-TEXT(A1,"hh:mm"),TEXT(B1,"hh:mm")-"12:00"))))
------解决方案--------------------------------------------------------
用函数days360,比较一下这两个日期的天数差异。


如果日期差1天以上,则
(天数差额-1)×每天工时 + 第一天到下班的工时 + 最后一天上班到结束的工时

如果日期相同,则
同你的处理方法


------解决方案--------------------------------------------------------
没看懂,直接相减不行么
------解决方案--------------------------------------------------------
直接相减之后,就要处理非工作时间的逻辑了。

既然能够把1天内的和相邻天的请假处理好,那么多余这个天数的,处理起来就容易多了呀。
------解决方案--------------------------------------------------------
木懂,帮顶吧
  相关解决方案