【问题标题】:Excel Function (employee time-sheet): Subtract one hour for lunch each dayExcel函数(员工时间表):每天减去一小时的午餐时间
【发布时间】:2019-03-07 06:35:06
【问题描述】:

我需要日历将每天的工作时间加起来,然后每天自动减去 1 小时的午餐时间。下面是我用于 Excel 函数的代码,但需要将其固定为每天花一个小时吃午饭。现在它加起来很好,但我不知道如何每天减去一个小时的午餐时间。

例如,在下图中,周一和周二的工作时间显示为 16 小时,而实际上应该显示 14 小时,因为这两天有 2 小时的午餐时间。

如果有人知道,请您帮我解决这个问题。提前谢谢。

这是 Excel 文件的链接: https://drive.google.com/file/d/121i-3DQ30Zs_UHI4w1QPak8WaQk7_qb0/view?usp=sharing

代码: =IF(((D5-C5)+(F5-E5)+(H5-G5)+(J5-I5)+(L5-K5)+(N5-M5 ))*24>40,40,((D5-C5)+(F5-E5)+(H5-G5)+(J5-I5)+(L5-K5)+(N5-M5))*24)

【问题讨论】:

  • 从总数中减去 COUNTA(C5:N5)/2(假设每天的工作时间都有“In”和“Out”值,并且这些值跨越午餐时间)
  • 也使用 MAX 公式将小时数限制为 40:MAX((D5-C5)+(5F-E5)+...+(N5-M5))*24, 40)
  • 不确定我是否理解正确。您能否使用我上面的代码实现您的建议?
  • @Tim Williams,有些日子不会有任何工作时间,因为他们没有安排在那些日子工作。
  • 因此在我的评论中“每一天都工作” - 我意识到可能会有空旷的日子。全文:=MIN(24*((D5-C5)+(F5-E5)+(H5-G5)+(J5-I5)+(L5-K5)+(N5-M5)),40) - (COUNTA(C5:N5)/2) 或类似的东西 - 不确定午餐时间从哪里减去。

标签: excel excel-formula


【解决方案1】:

如果您始终输入“IN”和“OUT”时间,则可以使用 COUNTA 来执行此操作。 COUNTA 计算范围内非空白单元格的数量。非空白单元格的一半等于工作天数,因此需要减去的小时数。 我们还假设每天工作都包括午休时间。

你的公式会变成:

=IF(((D5-C5)+(F5-E5)+(H5-G5)+(J5-I5)+(L5-K5)+(N5-M5))-COUNTA(C5:N5)/2*24>40,40,((D5-C5)+(F5-E5)+(H5-G5)+(J5-I5)+(L5-K5)+(N5-M5))-COUNTA(C5:N5)/2*24)

【讨论】:

  • 我尝试使用您上面的代码,但它甚至没有显示任何数字。请问有什么不对的地方吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-20
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多