公司的考勤,从18:30开始,加班到晚上xx点,有餐补,但加班时长需要扣减吃饭时间;工作日加班,按x元/小时,周六日加班,按y元/小时……计算每月的加班费。
打工人每天的工作本身已经够忙活的,每月还要额外花时间自己去计算并核对行政小姐姐计算的“加班费”(如下图),没办法,再忙也不能跟钱过意不去。
都说AI的发展,已经渗透到人们生活的方方面面,甚至是工作。本篇,笔者尝试让AI帮我计算“加班时长”和“加班费”。
首先从源头的打卡数据入手,以企业微信为例,【打卡】-【导出报表】选中日期范围,导出我的考勤汇总。
简化数据,导出数据剔除用处不大的姓名、班次等信息,留下核心的三列数据:“日期”、“星期”,“加班时段”,放在Excel表格中,这里我把它命名为“考勤打卡记录”,接下来的计算都是基于这份表格。
DeepSeek根据我的诉求,生成能跟Excel进行对话的VBA脚本,并告诉我使用说明
考勤打卡记录表格打开VB编辑器,新建模块,将DeepSeek生成的VBA代码复制到模块编辑器,点击运行,Excel秒出“计算结果”。
比单纯人为去计算要方便快捷,让人不得不怀疑,那么快出来的数据可不可靠?
拿计算出来的结果,与考勤表的数据进行比对,加班总时长、工作日/周末加班时长、餐补等数据基本一致。
唯独“加班费”却存在差异,VBA计算结果是1317.50元,考勤表显示的加班费却是1317.48元,两者相差0.02元。
是考勤表的数据有误,还是VBA计算结果有误?针对结果差异,追问DeepSeek,它告诉我VBA计算结果是正确的,并解释与考勤表的数据存在0.02元的差异,是因为考勤表人工计算过程多了一个步骤的舍入误差,并列出详细的计算过程。
同时也提供了“如果想两者的计算结果完全一致”的解决方法。
为验证猜想,假设我就是想要VBA的计算结果与考勤表的数值保持一致,参考DeepSeek给的做法,做以下两行代码的修改。
修改后运行,加班费重算为1317.48元,这时,与考勤表的结果一致。可见,这种小数点后面的精度值误差,正如DeekSeek说的那样,计算过程的舍入误差步骤导致的。
调整过后的这份脚本,是不是就能完整的计算其他月的加班费?
再次通过操作去验证,同样的方式,我们导出另一个月的考勤记录,让它再给执行计算,这时,VBA计算出来的加班费是1512.52元,考勤表结果是1521.28元,两者的金额相差比上个月更明显。
为啥这回的计算结果会相差那么大?
莫非这一次是考勤表计算得有问题?扫视了一遍考勤打卡记录,这个月与前面那个月的区别是的这个月的加班有1天是跨天,怀疑是DeepSeek提供的VBA代码逻辑没有处理跨午夜时段,认为这天的加班没餐补,导致总的加班费算错。
带着这个猜想,继续追问DeepSeek,果然就是个问题,DeepSeek也没有回避这个问题,给出代码BUG详解和修正方案。
参考DeepSeek给的修正方案,按它的指示再次修改VBA代码。
修改后运行,加班费重算后的结果为1521.28元,与考勤表的结果又保持一致。
1. AI能极大的给我们提供便利,只要有想法,目标明确,就能让AI帮忙去实现。
2. 关于数值计算,AI提供的计算方法往往要比纯手工计算要高效、精准。
3. 不要期望AI是万能的,它提供的内容未必就是完美无缺,需要我们不断的沟通、优化,才能越靠近预期结果。
更多精彩内容,下期继续分享!