在 Excel 中制作特殊工作日历时遇到问题

在 Excel 中制作特殊工作日历时遇到问题

设置如下:

1. 工作日 周一、周二、周三、周四、周五时间不同

2. 每日从周一至周四换班

  • 早 5:15 - 13:30 = 8:15
  • 晚 13:30 - 21:30 = 8:00
  • 晚上 21:30 - 5:15 = 7:45

3. 周五营业时间

  • 早 5:15 - 12:15 = 7:00
  • 晚 12:15 - 19:00 = 6:45
  • 晚上 19​​:00 - 3:00 = 7:45

4. 弹性工作

我的工作时间很灵活。假设我输入了 14:45,我想知道我什么时候停止工作(不包括加班),但我还想知道什么时候可以在 8 小时后重新开始工作,因为两班之间只需要 8 小时(不是每天都需要,但确实会发生),所以我只想每天输入我的开始时间,让 Excel 完成剩下的工作。这几乎可行,但我被卡住了。

╔════╦════════╦═══════════════════════╦═══════════╦═══════════╦═══════════════════════╦══════════════════════════════════════════╗
║    ║    A   ║           B           ║     C     ║     D     ║ E                     ║ F                                        ║
╠════╬════════╬═══════════════════════╩═══════════╩═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 1  ║        ║                 HOUR MON - THU                ║ 8 hours between       ║ TRUE/FALSE                               ║
╠════╬════════╬═══════════════════════╦═══════════╦═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 2  ║        ║         Early         ║    Late   ║   Night   ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 3  ║   MON  ║         10:30         ║   input   ║   input   ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 4  ║   TU   ║          1:00         ║   input   ║   input   ║ =SUM(B9;TIME(8;00;0)) ║ =IF(B4<E4;"not 8H between";"8H between") ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 5  ║   WED  ║         input         ║   input   ║   input   ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 6  ║   THU  ║         input         ║   input   ║   input   ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 7  ║   fri  ║         input         ║   input   ║   input   ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 8  ║        ║         until         ║   until   ║   until   ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 9  ║   MO   ║ =SUM(B3;TIME(8;15;0)) ║  Formula  ║  Formula  ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 10 ║   TU   ║ =SUM(B4;TIME(8;15;0)) ║  formula  ║  Formula  ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 11 ║   WED  ║        Formula        ║  Formula  ║  Formula  ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 12 ║   THU  ║        Formula        ║  Formula  ║  Formula  ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 13 ║   FRI  ║        Formula        ║  Formula  ║  Formula  ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 14 ║ MO-THU ║       5:15-13:30      ║   H-Info  ║   H-info  ║                       ║                                          ║
╠════╣        ╠═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 15 ║        ║          8:15         ║ H to work ║ H to work ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 16 ║   FRI  ║       5:15-12:15      ║   H-Info  ║   H-Info  ║                       ║                                          ║
╠════╣        ╠═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║ 17 ║        ║          7:00         ║ H to work ║ H to work ║                       ║                                          ║
╠════╬════════╬═══════════════════════╬═══════════╬═══════════╬═══════════════════════╬══════════════════════════════════════════╣
║    ║        ║                       ║           ║           ║                       ║                                          ║
╚════╩════════╩═══════════════════════╩═══════════╩═══════════╩═══════════════════════╩══════════════════════════════════════════╝

所以我已经学到了很多,输入字段是我输入小时数的字段,输出是生成工作小时数的公式,工作间隔的 8 小时,但我不只是说班次间隔的 8 小时,而是想看到它说间隔不是 8 小时,并且如果公式不起作用,它只会打印 1 个选项真或假,大多数情况下它都会说它是假的,即使它是真的。我仍然认为我的真/假语句公式应该是=IF(B4>=E4;"8H between";"not 8H between")因为如果差值 = 8 小时,它就是真的

之前我使用过类似 =SUM(b3:B16) 的方法,其中 B3 是输入小时数,B16 是时间 8:15。如果我能让 1 列工作,那么我就可以为 3 个人工作 3 班做所有字段。这样更清楚吗?顺便算一下我输入的 ABC 和 123。

答案1

要计算 8 小时后是什么时候,请使用以下公式:

=Q3+TIME(8,0,0)

Where Q3 has the time you want to reference.

或者,由于 Excel 将时间存储为一天的分数,将天数存储为自 1900 年 1 月 1 日(第 1 天)以来的整数,因此您可以将 8 小时转换为十进制格式,然后添加它,而不是使用时间公式。

=Q3+8/24

波克

相关内容