Excel - 流量计算 - 设定报告周内缺勤天数

Excel - 流量计算 - 设定报告周内缺勤天数

首先,我要为这个复杂的请求道歉。我知道我想做什么,但我不确定我能否表达得足够清楚。

我有一份员工缺勤清单,上面列有缺勤开始日期和结束日期。我需要计算出他们在特定报告周内缺勤了多少天,然后我需要将这个数字乘以他们每天工作的小时数。

例子如下:

报告周日期
开始日期 2019 年 9 月 30 日 结束日期 2019 年 10 月 6 日

缺席

开始日期 结束日期

2019 年 5 月 16 日 2019 年
10 月20 日 2019 年
5 月21 日 2019 年 5 月 23 日
2019 年 6 月 25 日 2019 年 10 月 13 日
2019 年8 月 6 日 2020 年 1 月 8 日 2019 年
8 月 6 日 2020 年 1 月 8 日
2019 年 8 月 12 日 2019 年 10 月 4 日

我可以看到,对于其中大多数情况来说,应该是 7 天,但由于存在 5/7 模式,所以应该是 5 天。但对于最后一个在一周中途回来的人来说,情况并非如此。但我不确定在 excel 上正确的语法是什么,才能始终如一地实现每个缺勤情况。

任何帮助都将非常感激!

谢谢

露西

答案1

一般来说,您可以使用该函数计算两个日期之间的工作日数NETWORKDAYS。这需要三个参数:

  1. 开始日期
  2. 结束日期
  3. 假期(可选的公共假期范围,将从计算中减去)

因此,简单计算一下您的行从开始日期到结束日期之间缺少的总工作日数,并假设您使用的是标准英国公共假期(我假设您的日期格式,但您可以使用任何假期列表):

=NETWORKDAYS(A2,IF(B2="",TODAY(),B2),$I$2:$I$8)

这里我说的是计算开始日期和结束日期之间的工作日,或者如果结束日期为空白,则计算开始日期和今天之间的工作日。

在此处输入图片描述

参照您的实际问题,我认为您想计算特定报告周内的缺勤天数。因此,您实际上想使用上面指定的假期来计算{一周开始日期和缺勤开始日期}的最大值与{周末结束日期和缺勤结束日期}的最小值之间的差值。

因此,我将每个报告周作为每行旁边的不​​同列,然后使用这个公式,其中假期像以前一样在第 I 列中。

=IF(NETWORKDAYS(MAX($A14,C$13),MIN($B14,C$13+6),$I$2:$I$8)<0,0,NETWORKDAYS(MAX($A14,C$13),MIN($B14,C$13+6),$I$2:$I$8))

您可以看到,在银行休假但员工整周缺勤的几周内,由于银行休假是“标准”休假,因此只计算缺勤 4 天。如果您不想在计算中考虑银行休假,只需从 NETWORKDAYS 函数中删除第三个参数即可。

在此处输入图片描述

由于此公式在缺勤结束后的几周内最终将返回负数,因此我使用 IF 来表示如果净工作日为负数,则仅返回 0。

相关内容