复杂的库蒂夫公式

复杂的库蒂夫公式

我有一个数据集,其标题包含:(字符串员工姓名、字符串休息日、入住时间、退房时间)。

我想要做的是得到一个表格,其中行标签为从星期一到星期五,列标题为从 00:00 到 23:00 的时间。在该表格的每个单元格中,我应该有当天该时间工作的员工人数(即,轮班包括该小时且不在休息日的员工人数)。

不存在半工制,所有员工都工作整小时。每位员工都有一天休息日。

我尝试过使用数组公式、countif 等,但似乎并没有找到真正的解决方案。

答案1

好的,我做到了。方法如下——

首先,我扩展了您的数据集,以便更轻松地完成工作。因此,在前 4 列之后添加标题为(从 E1 开始)“00:00”、“01:00”...“23:00”的列。对于“00:00”(单元格 E2)中的第一位员工,请输入公式

=IF(AND(E$1>=$C2, E$1<=$D2),1,0)

如果该员工在该小时工作,则应显示 1,如果该员工不在工作,则应显示 0,方法是将列标题与上下班时间进行比较。将公式复制并填充到其他小时,然后向下填充到所有员工。

现在,为了让我自己的工作更轻松,我制作了总计表(即您想要的),并将小时数直接对齐在同一张表上的这些新列下。在我的示例数据中,我转到第 5 行获取员工数据,因此您需要将其调整为您拥有的行数。在星期一总计行中,对于 E 列(0:00)中的单元格,使用公式

=SUMIFS(E$2:E$5,$B$2:$B$5,"<>Monday")

仅当它们在星期一 0:00 不工作时,这才应该将上面的 1 加起来。将公式复制并填充到另外 4 个单元格中,然后将公式末尾的日期更改为星期二、星期三、星期四、星期五。在这些单元格的左侧添加从星期一到星期五的行标签。

最后,复制并填充此公式(5 个单元格)以填充整个总计表(即 23:00 列)。最后,它并不太复杂,而且很容易检查它是否按照您的预期运行。它都是动态的,更改进出时间或休息日,总计表将反映这一点。

相关内容