Excel 如何用公式提取仅是工作日的考勤记录

Excel 如何用公式提取仅是工作日的考勤记录,第1张

1首先,看一下原始数据。一般打卡记录都至少包含姓名(或员工号)、日期和时间信息。实际可能出现的情况包括漏打卡,也就是某个人一天只有一次打卡记录;重复打卡,也就是一天超过两次打卡记录。下面,我们通过 *** 作来识别这些情况。

2首先,选中原始数据区域,选择功能区的插入-数据透视表。

3按照默认设置,点击确定按钮在新表中创建数据透视表。

4创建数据透视表后效果如下图,工作表界面是空的数据透视表,右侧是数据透视表各字段及行标签、数值等字段拖动区域。

5将姓名字段拖到行标签处,将刷卡时间拖到数值框。

6点击刷卡时间字段,选择值字段设置。

7如下图,更改名称为“上班时间”,下面选择最小值。

8同样的方法,再次拖动刷卡时间字段到数值框,设置字段,更改名称为“下班时间”,下面选择最大值。

9选中透视表中的数值区域,鼠标右键选择设置单元格格式,选择一个时间格式。

10这样,就生成了一个包含人名和上下班时间的统计表,一目了然。

11下一步可以进行如下 *** 作进一步 *** 作和识别异常情况:

1)如果上班时间和下班时间一致,则为员工漏打卡,如下图红色框中记录;

2)通过判断上班时间是否在规定的上班时间之前来识别员工是否迟到;

3)通过判断下班时间是否在规定的下班时间之后来识别员工是否早退。

1、date +%w

%w day of week (06); 0 is Sunday

2、如果星期2-6,上一个工作日肯定就是

t1=`date -d yesterday`

或者

t2=`date -d -1day`

3、如果星期天,上一个工作日肯定就是

t3=`date -d -2day`

4、如果星期1,上一个工作日肯定就是

t4=`date -d -3day`

5、法定节假日根据实际情况算吧

6、实例

#!/bin/sh

week=`date +%w`

case "$week" in

0)

last_work_day=`date -d -2day`

;;

1)

last_work_day=`date -d -3day`

;;

)

last_work_day=`date -d -1day`

;;

esac

echo $last_work_day

假设您的工作日表的结构如下:

CREATE TABLE workdays (

workday_date DATE,

is_workday BOOLEAN

);

其中,workday_date列存储日期信息,is_workday列存储该日期是否为工作日的信息。

要使用 LEAD 和 OVER 函数显示当前日期字段和下 3 个工作日字段,可以使用以下 SQL 查询语句:

SELECT

workday_date AS current_workday,

LEAD(workday_date, 1) OVER (ORDER BY workday_date) AS next_workday_1,

LEAD(workday_date, 2) OVER (ORDER BY workday_date) AS next_workday_2,

LEAD(workday_date, 3) OVER (ORDER BY workday_date) AS next_workday_3

FROM workdays

WHERE is_workday = TRUE;

这个查询语句中,LEAD 函数用于获取当前日期字段的下一个工作日字段,OVER 函数中的 ORDER BY 子句用于指定日期的排序方式。通过对 LEAD 函数的调用,我们可以获取当前日期字段的下 1、2、3 个工作日字段,从而实现了需求。同时,通过 WHERE 子句可以筛选出工作日表中的所有工作日记录。

以上就是关于Excel 如何用公式提取仅是工作日的考勤记录全部的内容,包括:Excel 如何用公式提取仅是工作日的考勤记录、linux 下 shell 脚本取上一工作日日期、我有一个工作日表,已定义日期是否为工作日,如何用lead、over函数显示当前日期字段和下3个工作日字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9748529.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存