Excel:跟踪特定时刻的员工数量

我试图拿出一张Excel表,我有一整套30分钟的时间间隔(从10:00开始到20:00结束),我想计算在每个时间段内有多less员工可用他们。

我所掌握的数据是他们的换class开始/结束时间和午餐时间的开始时间(通常为1小时,但最后30分钟为兼职)。

这是一个示例文件: http : //www.mediafire.com/download/op3rarsiqj1sm77/time-tracker.xlsx

你有什么build议吗?

谢谢!

你应该可以用逻辑AND,NOT和IF公式来做到这一点,为每个员工进行testing,每次这个时间的“IF”大于(或者等于)比开始“AND”“IF”更小或者等于)换档停止,在午休期间使用“AND”“NOT”(使用类似的逻辑)。 假设当时还有一位即将到达或离开的员工,则可以在样本单元格G2中input公式

=AND( AND(IF(G$1>=$B2,TRUE(),FALSE()), IF(G$1<=$C2,TRUE(),FALSE())), NOT(AND(IF(G$1>$D2,TRUE(),FALSE()), IF(G$1<$E2,TRUE(),FALSE())))) 

将其复制并粘贴到G2:AA4中的其他单元格(每个员工和每个时间),并看到每个员工何时出现(“TRUE”)或不出现(“FALSE”)。 然后,您可以简单地为每列添加值,例如列G,您可以在单元格G5中写入:

 =SUM(G$2:G4) 

(再次复制并粘贴到其他列以获取其他时间的结果。)

编辑:正如德克在下面指出的,有更简洁的方式来写这个公式。 在这里使用更长的版本的优点是允许更多的定制。 但是,为了这个目的,我们需要把上面的公式放在“里面”。 因此,例如,如果您希望向员工缺席注册文本而不是TRUE / FALSE,例如“present”(如果存在),“if”(如果缺席),则必须使用IF作为外部函数,AND和NOT在IF条件下,像这样:

 =IF( AND(AND(G$1>=$B2,G$1<=$C2), NOT(AND(G$1>$D2,G$1<$E2))), "present","") 

你可以通过使用类似的东西来做最后的计数

 =COUNTIF(G$2:G4,"present") 

您可以使用COUNTIFS公式来实现这一点。

只要把这个在G2单元格中:

 =COUNTIFS($B$2:$B$4,"<="&G1,$C$2:$C$4,">"&G1)-COUNTIFS($D$2:$D$4,"<="&G1,$E$2:$E$4,">"&G1) 

并填写到AA2。