【问题标题】:CountIfs with critera that includes if Column A cells > Column B cellsCountIfs 的条件包括如果 A 列单元格 > B 列单元格
【发布时间】:2019-07-02 15:11:33
【问题描述】:

我有一个 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)

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

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

示例来源

当前结果

预期结果

【问题讨论】:

  • Excel 中的时间以小数形式存储,表示一天的百分比/分数。官方没有 24:00,尽管某些功能(命中和未命中)可以使用它。然而,这是一个不可靠的使用时间(是的,完全除外)。日期(或天数)是整数。因此,处理第二天时间的一种方法是在时间上加 1。默认情况下,没有日期的时间将假定 0 作为日期。
  • 假设您的轮班时间不能超过 24 小时,一种处理方法是 IF(END TIME&lt;START TIME, END TIME + 1, END TIME)。
  • @ForwardEd - 我已经更新了一个屏幕截图,以帮助更清楚地说明这一点。是的,正如您所提到的,没有 24:00,因此该表仅限于 23:00。一个班次很少超过 12 小时,这绝不应该跨越两天。关于 IF 语句 - 这只能在逐个单元格的基础上工作吗?
  • 对于您的屏幕截图,是否可以将其分成两部分。源数据之一和预期结果之一?现在点击图像时仍然难以阅读。如果您使用的是 Windows,win+shift+s 是快速选择屏幕截图的好方法。
  • @forwardEd - 我已经上传了更多截图 - 我希望这会有所帮助:)

标签: excel excel-formula formula excel-2016


【解决方案1】:

根据班次表如下:

请注意,在轮班时间中添加了一个额外的列。这是我在第二天创建结束时间的方法。在 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 或其他,但不能同时计算两者,除非您有一些东西表明 shift 可以在结束时间后 1 小时工作或类似的东西。

【讨论】:

  • 另一种选择是安排两排夜班。第 1 行 19:00-23:59,第 2 行 00:00 -07:00
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多