EXCEL参数太多,如何解决??谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/11 21:27:29
=IF(AND(HOUR(F3)<12,HOUR(G3)<=12),SUM(HOUR(SUM(G3,-F3),MINUTE(SUM(G3,-F3))/60),IF(AND(HOUR(F3)<12,21>HOUR(G3)>12),SUM(HOUR(SUM(G3,-F3,-E3)),MINUTE(SUM(G3,-F3))/60),IF(AND(HOUR(F3)<12,HOUR(G3)>=21),SUM(HOUR(SUM(G3,-F3,-E3,-D3)),MINUTE(SUM(G3,-F3))/60),IF(AND(HOUR(F3)>=12,21>HOUR(G3)>=12),SUM(HOUR(SUM(G3,-F3,)),MINUTE(SUM(G3,-F3))/60),IF(AND(HOUR(F3)>=12,HOUR(G3)>=21),SUM(HOUR(SUM(G3,-F3,-D3)),MINUTE(SUM(G3,-F3))/60))))))
是一个加班的计算,如中午超过12点,需减去午休一小时,晚上超过21点,需减去休息半小时 比如:
8:00-12:00,中午不休
8:00-14:00,中午休1小时
8:00-22:00,中午休1小时,晚上休0.5小时
13:00-17:00,没有休息,直接差额时间
13:00-22:00,晚上休0.5小时
19:00-7:00,休1小时

刚才看错了。IF没错

错的是HOUR() 你给你两个函数。多了一个

你可能需要修改的部份是
SUM(HOUR(SUM(G3,-F3),MINUTE(SUM(G3,-F3))/60)
改成
SUM(HOUR(SUM(G3,-F3)+MINUTE(SUM(G3,-F3))/60)
试试

你可以需要的函数
time()
请自己看函数帮助

条件有限。。。只能解答到这里了。。

=IF(AND(G3<F3,HOUR(F3)<=17),G3-F3+"23:30:00",IF(AND(G3<F3,HOUR(F3)>17),G3-F3+"24:00:00",IF(OR(HOUR(G3)<12,AND(HOUR(F3)>12,HOUR(G3)<21)),G3-F3,IF(AND(HOUR(F3)<12,HOUR(G3)>=12,HOUR(G3)<21),MAX(G3-F3-"1:00:00","12:00:00"-F3),IF(AND(HOUR(F3)<12,HOUR(G3)>=21),G3-F3-"1:30:00",G3-F3-"0:30:00")))))

多次修改讨论,最终公式。

=B1-A1-IF(AND(A1<=TIME(12,0,0),B1>=TIME(13,0,0)),TIME(1,0,0),0)-IF(AND(A1<=TIME(21,0,0),B1>=TIME(21,30,0)),TIME(0,30,0),0)
其中A列是上班时刻,B列是下班时刻,计算结果是扣除了休息时间后的实际工作时间。

你想达到什么目的?说清楚一些

我们可以帮你重写公式

楼主,公式太花了,没人想看完。你说说你想表达什么意思吧。简洁点……