查找某个时间段内的时间实例

时间:2016-07-13 13:15:07

标签: excel excel-formula

我想知道有人在他们的登录和退出时间完成的转移期间。但是,即使登录或退出时间是在时间之前或之后的15分钟(因为登录时间可能不是半小时),我也希望能够计算它。

目前我有:

=IF(AND("log in"< "shift end", "log out"> "shift start"),1,0)

这将捕获如果登录=班次开始,但如果他们在班次的晚班或早班登录,则无法正确捕获,因为有多个班次 - 例如11:30 - 12:30,12:30-2:30等。

最终,我试图找到他们完成的班次数量?如何捕获不准确的班次?

Here is the set up.

2 个答案:

答案 0 :(得分:0)

使用屏幕截图中的结构和以下公式(tolerance15/24/60中15分钟或D2:I2的命名范围:

=IF(AND($B2<=D$1+tolerance, $C2>=E$1-tolerance),1,0)
根据我的要求,

会为您提供所需的输出。

 |A    |B    |C    |D    |E    |F    |G    |H    |I    |J    |K
1|Name |Start|End  |11:50|14:00|15:00|17:30|18:30|20:30|21:30|#shifts
2|hugo |14:15|14:45|0    |1    |0    |0    |0    |0    |     |1

答案 1 :(得分:0)

正如评论中所建议的那样,您可以添加/子结构15分钟。从班次的开始/结束时间开始。将此公式放在最左上角的单元格中进行calaulate,并将其全部拖到表格上:

=IF(AND($A4<=C$2+TIME(0,15,0),$B4>=C$3-TIME(0,15,0)),1,0)

假设开始班次小时的行是2,结束班次小时的行是3,否则,将其更改为正确的位置,但请记住保持正确的引用:

counting shifts

我不确定截图中的设置有多重要,但可以轻松更改以适应它(尽管不需要最后一个移位列)。

希望这会有所帮助;)