具有critera的CountIfs包括if列A单元格>列B单元格

时间:2019-07-02 15:11:33

标签: excel excel-formula formula excel-2016

我有一个excel工作表(无宏),设置如下:

Column W = Shift Start Time 
Column X = Shift End Time

AE:BB列分别命名为00:00至23:00。

我正在尝试按小时计算可用的人力,例如如果1个班次是开始时间10:00和结束15:00-11:00、12:00、13:00(在AE:BB表中)的小时数为1。

当前使用的公式是

=COUNTIFS($B$5:$B$76,"<="&AE4,$D$5:$D$76,">="&AE4)

当Shift开始时间早于一个24小时周期(例如07:00-18:00)结束时,此功能有效。但是,当夜班在下一个工作日(例如19:00-07:00)结束时,将无法计算该时间内的可用人力。

是否可以将考虑单元格W>与单元格X相邻的标准纳入公式?

EXAMPLE SOURCE DATA

Current Results

Expected Results

示例来源

当前结果

预期结果

1 个答案:

答案 0 :(得分:1)

基于如下的移位表:

Shift table

请注意,在班次中增加了另一列。这是我在第二天创建结束时间的方法。在Y5中,我放置了以下公式并抄写下来:

=IF(X5<W5,X5+1,X5)

将结束时间小于开始时间的时间加1。这实际上增加了1天的时间。但是,只要像其他单元格一样将该单元格格式化为仅显示时间,用户就不会观察到1天。然后将修改后的结束时间用于检查计数。

在AE5中放置以下公式,并根据需要复制到右侧:

=COUNTIFS($W$5:$W$9,"<="&AE4,$Y$5:$Y$9,">"&AE4)+COUNTIFS($W$5:$W$9,"<="&AE4+1,$Y$5:$Y$9,">"&AE4+1)

定期检查一次,然后在第二天再次检查并合并结果。不是>,而不是> =。如果班次在1700年结束,则​​该班次从1700年至1800年不可用。在上一个示例中,您可以将它们用于开始时间块和结束时间块。您应该算一个或另一个,但不要两个都算,除非您有一些说明轮班可以在其结束时间之前1小时工作的东西或类似的东西。

Final Result