如果是周末,我只想计算加班时间为.5hr的加班时间,而不是周末则按固定时间计算。直到我将“ time in”和“ timeout”时隙留空之前,它都可以正常工作,然后它会在加班时间下自动将第一个IF语句中的.5计算为-.5,而不是将其保留为0.00。反正还有吗?
=IF(WEEKDAY($A19,2)>5,(d19-c19)*24-**.5**,IF((D19-c19)*24>8,(d19-c19)*24-8.5,0
p.s。第一次在这里发布,如果所有这些都搞砸了,抱歉。感谢您的帮助。
答案 0 :(得分:3)
很难遵循您的要求,但这是我基于对您正在说的话的一些猜测来尝试解决的问题:
假设:
第1步:请确保您有几个小时甚至可以考虑。
= IF((D19-C19) > 0,<do something here>,0)
步骤2:在工作日与周末之间做一些不同的事情。
= IF((D19-C19) > 0, IF(WEEKDAY($A19,2)>5, <calculate weekend>, <calculate weekday>), 0)
第3步:计算周末,但绝对不能使用负数。 (假设:如果一个人加班15分钟,那根本就不是加班。)
= IF( (D19-C19) > 0,
IF(WEEKDAY($A19,2)>5,
MAX((D19-C19)*24-0.5, 0), <calculate weekday>), 0)
第4步:计算工作日,但绝不能使用负数。 (假设:如果一个人加班15分钟,那根本就不是加班。)
= IF( (D19-C19) > 0,
IF(WEEKDAY($A19,2)>5,
MAX((D19-C19)*24-0.5, 0),
MAX((D19-C19)*24-8.5, 0)
),
0)
步骤5:优化-由于当D19-C19为0时,看起来MAX函数可以处理这种情况,因此我们不需要外部IF语句
= IF(WEEKDAY($A19,2)>5,
MAX((D19-C19)*24-0.5, 0),
MAX((D19-C19)*24-8.5, 0)
)
...我认为这可以满足您的需求。