ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2366|回复: 16

请教钉钉考勤表的考勤统计

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-6-4 13:34 | 显示全部楼层 |阅读模式
微信图片_20220604133121.png
111111111111111111111111111.zip (10.28 KB, 下载次数: 23)
请教各位网友,我们单位使用钉钉考勤,每周单休一天,每天按8销售工作制,如何设置公式统计考勤,和每周加班(如果换休就不算加班),每天超过8小时的工作日加班,还有节假日加班! 谢谢

TA的精华主题

TA的得分主题

发表于 2022-6-7 20:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 sunya_0529 于 2022-6-16 13:07 编辑

这种时间存储格式的,用公式非常麻烦。写了一个自定义函数——


  1. Option Explicit

  2. Function KaoQin(rngKQ As Range, rngSJ As Range, str As String)
  3. 'rngKQ 定义“考勤组”所在单元格区域
  4. 'rngSJ 定义“考勤时间”所在单元格区域
  5. 'str 定义要统计的数据类别
  6. With Application.WorksheetFunction
  7. If Not rngKQ Is Nothing And Not rngSJ Is Nothing Then
  8.   Dim c As Range, i%, d As Double
  9.   Const w As Integer = 8 '定义每日标准工作时数
  10.   For Each c In rngSJ
  11.     d = 0 '求每天两个时间之差,精确到0.5小时,不足0.5小时的忽略不计
  12.     If Len(c.Value) > 0 Then
  13.       d = CDate(Split(c.Value, Chr(10))(1)) - CDate(Split(c.Value, Chr(10))(0))
  14.       d = Hour(d) + Minute(d) / 60 + Second(d) / 3600
  15.       d = Int(d / 0.5) * 0.5
  16.     End If
  17.     Select Case str
  18.       Case "考勤" '统计有时间记录的出勤天数
  19.         If d > 0 Then KaoQin = KaoQin + 1
  20.       Case "节假日" '统计标记为“节”的节假日加班时数
  21.         i = i + 1
  22.         If rngKQ.Cells(i).Value = "节" Then
  23.           KaoQin = KaoQin + .Max(d - w, 0)
  24.         End If
  25.       Case "休息日" '统计标记为“休”的休息日加班时数
  26.         i = i + 1
  27.         If rngKQ.Cells(i).Value = "休" Then
  28.           KaoQin = KaoQin + .Max(d - w, 0)
  29.         End If
  30.       Case "工作日" '统计工作日加班时数
  31.         i = i + 1
  32.         If rngKQ.Cells(i).Value <> "休" And rngKQ.Cells(i).Value <> "节" Then
  33.           KaoQin = KaoQin + .Max(d - w, 0)
  34.         End If
  35.     End Select
  36.   Next
  37. End If
  38. End With
  39. End Function
复制代码




加班时数统计.png

统计考勤.rar

20.21 KB, 下载次数: 82

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-6-9 18:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
怎么回复了跟新不出来呢

TA的精华主题

TA的得分主题

发表于 2022-6-7 17:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
同问;这边也是用钉钉,发现统计是个大问题!

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-6-9 16:05 | 显示全部楼层
sunya_0529 发表于 2022-6-7 20:57
这种时间存储格式的,用公式非常麻烦。写了一个自定义函数——

微信图片_20220609155309.png
   谢谢老师   
  还有点问题可以修改下吗?  我们的考勤要区别工作日和工作日之外的,所以如果上班时长大于等于5月到的22天工作日*8小时时长。
工作日考勤都是22天。剩下的时长要单独计算多余的工作日加班时长/8小时*1.5倍=工作日加班考勤,
周末加班,前提是如果有换休要先抵扣换休的周末,剩余计算加班时长/8小时*2-周末加班考勤天数。
节假日加班, 节假日加班不抵扣换休,如果节假日有加班的统一按照时长/8小时*3=节假日加班天数。




TA的精华主题

TA的得分主题

 楼主| 发表于 2022-6-9 16:20 | 显示全部楼层
sunya_0529 发表于 2022-6-7 20:57
这种时间存储格式的,用公式非常麻烦。写了一个自定义函数——

微信图片_20220609155309.png
老师你好  可以修改下吗? 我们的考勤按工作日,休息日、节假日三个类型单独计算,比如5月工作日为22天,所以工作日如果时长大于22天*8小时=176小时的人员,考勤统一是22天全勤,  周末加班的人员要先减掉换休的周末,在计算周末的加班时长,节假日的时长单独计算不考虑换休,

TA的精华主题

TA的得分主题

发表于 2022-6-12 09:42 | 显示全部楼层
南城青山 发表于 2022-6-9 16:20
老师你好  可以修改下吗? 我们的考勤按工作日,休息日、节假日三个类型单独计算,比如5月工作日为22 ...

把你这份5月份的模拟数据发一份上来,我来修改一下计算逻辑。

TA的精华主题

TA的得分主题

发表于 2022-6-12 10:29 | 显示全部楼层
南城青山 发表于 2022-6-9 16:05
谢谢老师   
  还有点问题可以修改下吗?  我们的考勤要区别工作日和工作日之外的,所以如果上班 ...

关于计算的逻辑,我们校准一下——
1、“考勤”:
① 单位:天数;
② 逻辑:统计当月所有有出勤记录的出勤小时数之和,这个和超过当月应出勤工作日累计小时数(如5月份的“22天×8小时/天”)的,则统一计为应出勤工作日数(如5月份的“22天”),否则按“8小时/天”折算到天;
③ 精度:小时数和天数的精度是截尾取整(舍去所有小数部分,即不满1天或1小时的都不予计算)还是四舍五入到0.5的整数倍?

2、工作日
① 单位:加班天数
② 逻辑:计算每个工作日超过8小时的加班小时数,除以8小时后乘以1.5倍,得到工作日加班考勤天数;
③ 精度:同“1”

3、“节假日”
① 单位:加班天数
② 逻辑:计算节假日的出勤小时数,除以8小时后乘以3倍,得到节假日加班考勤天数;
③ 精度:同“1”

4、“休息日”
① 单位:加班天数
② 逻辑:计算休息日(周末)的出勤小时数-工作日未出勤或未出满勤的小时数,再除以8小时后乘以2倍,得到休息日加班考勤天数;
③ 精度:同“1”

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-6-12 22:18 | 显示全部楼层
sunya_0529 发表于 2022-6-12 10:29
关于计算的逻辑,我们校准一下——
1、“考勤”:

钉钉 22年5月考勤【模板】.zip (74.11 KB, 下载次数: 38)
微信图片_20220612221704.png
老师已上传  

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-6-12 22:19 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 15:58 , Processed in 0.039262 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表