CountIfs 的条件包括 A 列单元格 > B 列单元格

CountIfs with critera that includes if Column A cells > Column B cells

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

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

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

我正在尝试按小时计算可用人力,例如如果 1 班是开始时间 10:00 和结束时间 15:00 - 这将计算 1 小时 11:00,12:00,13:00(在 AE:BB Table ).

目前使用的公式是

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

当轮班开始时间早于 24 小时内结束时间时(例如 07:00 - 18:00),此方法有效。但是,当夜班在下一个工作日结束时(例如19:00-07:00),该时间内的任何可用人力都不会计算。

有没有办法将考虑单元格 W > 相邻单元格 X 的条件合并到公式中?

示例来源

当前结果

预期结果

基于移位table如下:

请注意,在轮班时间中添加了一个额外的列。这是我在第二天创建结束时间的方法。在 Y5 中,我放置了以下公式并复制下来:

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

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

将以下公式放在AE5中,根据需要复制到右边:

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

定期检查一次,第二天再检查一次,然后合并结果。不是 > 而不是 >=。如果班次在 1700 点结束,则该班次无法在 1700-1800 点工作。在您之前的示例中,您将它们用于开始时间块和结束时间块。您应该数 1 或另一个,但不能同时数,除非您有说明轮班可以在结束时间后 1 小时或类似时间工作的内容。