C1输入
=TEXT((B1-A1-INT(B1-A1)*17/24-MAX(35/96-MOD(A1,1),0)-MAX(MOD(B1,1)-35/48,0)-MAX(MIN(7/96,9/16-MOD(A1,1),MOD(B1,1)-47/96,MOD(B1,1)-MOD(A1,1)),0)-IF(MOD(B1,1)<MOD(A1,1),MIN(13/48,1-MOD(A1,1))+MIN(47/96,MOD(B1,1))+MIN(7/96,MAX(9/16-MOD(A1,1),0)+MIN(MAX(MOD(B1,1)-1/2,0),7/96)),0)-SUMPRODUCT(N(MOD(ROW(INDIRECT(INT(A1)&":"&INT(B1))),7)<2))*7/24)*24,"0.0")&"小时"
回车(可向下填充)。
【公式只剔除双休日。而对于节日的,没有现成的函数可用,虽可用IF函数逐个判断设置,但公式太累赘了,看有没有高手帮忙美化】
分数解释:
时间 换成分数
上午工作 8:45 35/96
11:45 47/96
午休 1:45 7/96
下午工作 13:30 9/16
17:30 35/48
一天工作 7:00 7/24
一天休息 17:00 17/24
温馨提示:内容为网友见解,仅供参考