需要快速筛选打卡数据,要求:上班打卡时间不得迟于八点半,下班不得早于5点半,
这里提供两种方法:一种是通过SQL,一种是通过Excel宏命令完成:

一、首先把excel导入到数据库,这里使用的是Navicat:首先右键表,选择导入向导,这里导入excel和csv文件都可以:

判断时间在某个区间内mysql excel判断时间在某个区间_microsoft


一直点击下一步,开始导入:

判断时间在某个区间内mysql excel判断时间在某个区间_microsoft_02


表已经导入成功,此处可以修改表名为sign

判断时间在某个区间内mysql excel判断时间在某个区间_右键_03


表中时间字段为f7,

判断时间在某个区间内mysql excel判断时间在某个区间_右键_04


把正常打卡时间删除,剩下的就是不合规的记录:执行命令:

DELETE FROM sign WHERE sign.f7 NOT BETWEEN '08:30:00' AND '17:30:00'如下图

判断时间在某个区间内mysql excel判断时间在某个区间_microsoft_05


判断时间在某个区间内mysql excel判断时间在某个区间_卡时间_06


剩下的就全是不合规的打卡时间。再点击导出向导,将它导出为excel即可二、由于需要人事操作,尽量简单,这里提供另一种简单的操作:

1、筛选打卡时间:

判断时间在某个区间内mysql excel判断时间在某个区间_判断时间在某个区间内mysql_07

在第一条记录的最后空格处选中单元格,输入以下公式:

=IF(AND(G4>“08:30:00”,G4<“17:30:00”),“不合规”,“合规”)

其中变量G4的确定方法:G为时间所在的列的名称,4为第一条记录开始的行数:如有变动,以此类推:

判断时间在某个区间内mysql excel判断时间在某个区间_字段_08


判断时间在某个区间内mysql excel判断时间在某个区间_卡时间_09

输入公式以后,选中单元格展示结果:

判断时间在某个区间内mysql excel判断时间在某个区间_右键_10

下拉单元格到最后一行,结果全部填充完成,全选状态下再右键快速分析:

判断时间在某个区间内mysql excel判断时间在某个区间_字段_11

选择第一个文本包含:为不合规单元格填充颜色。

判断时间在某个区间内mysql excel判断时间在某个区间_字段_12

2、筛选打卡次数:
此操作只能按人筛选,每次选中一个人的全部打卡日期,右键快速分析,选择重复的值。

判断时间在某个区间内mysql excel判断时间在某个区间_判断时间在某个区间内mysql_13

其中一天中只有一次的打卡记录就会展示出来:

判断时间在某个区间内mysql excel判断时间在某个区间_字段_14

完成第一个人的操作以后,再全选第二个人的打卡日期继续相同操作,以此类推。