加班调休不用再记Excel了:我用多维表格做了一张申请表,加班自动攒、请假自动扣

加班时间换成调休的公司,最常问的一句是”我还能休几个小时”。这篇用两张数据表做了一套加班调休申请表:员工用一张表单提交加班或请假,上级在飞书消息里点「通过」或「退回」,可调休余额由审批通过的记录自动计算,员工只看得到自己的余额和申请记录,每周、每月的加班按视图导出。

小周在一家50人左右的贸易公司做行政。公司加班要提前跟主管报备,加了几个小时就记几个小时,以后用来调休。账记在一张Excel里:谁要加班,先在群里说一声,加完她记一笔;谁要请假,她再减一笔。

麻烦出在请假那天。仓库的老陈发微信问她:”我还能休几个小时?”小周把老陈这两个月的加班一行行加起来,再减掉请过的假,算出来6.5小时。老陈说不对,他记得是8小时。两人对了半天才发现,有一次加班主管在微信里回了”可以”,小周没看到,也就没记上。账对不上,问题出在加班和请假都靠人转述、靠人手动加减。

所以我在想,能不能把加班和请假放进同一张表单,员工自己提交,上级在飞书里点一下就算批了,余额不靠谁去加减,从审批通过的记录里自动算出来。这篇用一个多维表格做了这套加班调休申请表:员工交申请,上级收到消息直接点「通过」或「退回」,员工点开链接只能看到自己的余额和申请记录,每周、每月加了多少班,打开视图就能导出。以前每一笔加班、请假小周都要手动记一行,员工每问一次余额她就要算一次,现在这两件事都不用她做了。模板文末可以领取。

先看效果

员工打开表单,先选加班还是请假,再填开始时间、结束时间和事由。时长不用自己算,时间填完,表单里就显示出这次是几个小时。

图片展示的是加班调休申请表单界面

提交以后,上级的飞书里会收到一条审批消息,写着这次申请几个小时、提交时还剩多少可调休,底部有「通过」「退回」「打开记录」三个按钮。点「通过」或「退回」,审批结果就写回了表里。

图片展示的是多维表格中“加班调休申请”表单界面

员工表里每人一行,已批加班、已批调休、可调休余额都是自动计算的。

图片展示的是多维表格中加班调休申请表的视图界面

目录

1. 两张表的字段设计

2. 时长公式:加班按半小时取整,请假每天最多8小时

3. 可调休余额:从审批通过的记录算出来

4. 表单:员工提交加班和请假申请

5. 工作流:提交后通知上级,审批后通知员工

6. 高级权限:员工只能看到自己的记录

7. 视图:按人按周、按人按月统计加班

8. 改造前后对比

一、两张表的字段设计

这套表只有两张:员工表一个人一行,记录这个人是谁、上级是谁,以及他的余额;申请记录表一次申请一行,加班和请假都记在这里。两张表用一组双向关联连起来,员工表的「申请明细」里能看到这个人提交过的所有申请。

(1)员工表:第一列「员工」是人员字段,直接选这个人的飞书账号,显示出来就是他的名字。另外要填的是「上级」,它决定审批消息发给谁,必须填。已批加班、已批调休、可调休余额这三个字段都是公式,第三节细讲。

(2)申请记录表:字段多一些,但员工自己只填四个,其余由系统、工作流、上级或公式补上:

谁来填 字段
员工(在表单里填) 类型、开始时间、结束时间、事由
系统自动记录 申请编号、提交人、提交时间
工作流 员工、上级、提交时余额、审批时间
上级 审批结果、审批意见
公式 时长、余额提醒、所在周、月份

「类型」是单选,两个选项:加班、请假。「审批结果」三个选项:待审批、通过、退回,默认值设成待审批,员工新交的申请自动就是待审批。

图片展示的是加班调休申请记录表界面

二、时长公式:加班按半小时取整,请假每天最多8小时

时长是这套表里所有数字的源头,余额、每周统计都从它算出来。规则我定得比较简单。

图片展示了一张多维表格中的加班和请假时长计算表

加班按结束时间减开始时间算,按半小时取整,18:00到20:30就是2.5小时。请假如果在同一天,同样是结束减开始,但最多算8小时,9点到18点算8小时。请假跨了几天,就按天数乘8小时,从开始那天数到结束那天。

公式如下(字段名按你表里的实际名称写):

IF(OR(ISBLANK([开始时间]),ISBLANK([结束时间])),0,
IF([类型]="Overtime / 加班",ROUND(MAX(([结束时间]-[开始时间])*24,0)*2,0)/2,
IF(TEXT([开始时间],"YYYY-MM-DD")=TEXT([结束时间],"YYYY-MM-DD"),
MIN(ROUND(MAX(([结束时间]-[开始时间])*24,0)*2,0)/2,8),
MAX(ROUND(TODATE(TEXT([结束时间],"YYYY-MM-DD"))-TODATE(TEXT([开始时间],"YYYY-MM-DD")),0)+1,0)*8)))
图片展示的是多维表格中“Hours / 时长(h)”字段的设置界面

跨天的请假中间如果有周末或法定节假日,公式不去扣,而是请员工拆成几条提交。比如周四请到下周一,周四、周五交一条,算16小时;周一单独交一条,算8小时。如果想让公式自动扣掉周末和节假日,可以把跨天那一行换成NETWORKDAYS函数,再建一张节假日表,每年把放假安排录进去。

三、可调休余额:从审批通过的记录算出来

余额用公式算:把这个人所有审批通过的加班时长加起来,减去所有审批通过的请假时长。待审批和退回的都不算。改了申请时间,时长跟着变,余额也跟着变;对任何一个数有疑问,顺着「申请明细」就能找到是哪几条申请。

员工表里的「已批加班」:

[申请明细].FILTER(AND(CurrentValue.[审批结果]="Approved / 通过",CurrentValue.[类型]="Overtime / 加班")).[时长].SUM()

「已批调休」把类型换成请假,其余一样。「可调休余额」就是两者相减:

[已批加班]-[已批调休]
图片展示了多维表格中员工表里关于加班和调休的统计信息

四、表单:员工提交加班和请假申请

在申请记录表里新建一个表单视图,题目放类型、开始时间、结束时间、事由四个,都设成必填;再把「时长」也放进表单。时长是公式,员工改不了,但填完开始和结束时间就能看到这次算几个小时。

图片展示的是多维表格中员工提交加班和请假申请的表单页面

表单页面每个人看到的都一样,显示不了某个人自己的余额。所以在表单描述里写清时长怎么算、跨周末要拆开提交,再放一个员工表的链接,员工点进去查自己的余额和申请记录。点进去只看得到自己,靠的是第六节的高级权限。

还有两处设置:

第1步:点表单右上方【填写设置】,打开【填写需登录验证】。不登录的话,表里记不到提交人,工作流就找不到这个人。

图片展示了多维表格表单填写设置界面

第2步:点【分享表单】,选【组织内获得链接的人可填写】,复制表单链接发到公司群里。

图片展示的是多维表格中表单分享设置界面

五、工作流:提交后通知上级,审批后通知员工

一共两条工作流,一条管提交,一条管审批结果。

第一条:新申请提交后,通知上级审批

第1步:设置触发条件。选【添加新记录时】,数据表选申请记录表。

第2步:添加【查找记录】,在员工表里找到这个人。条件是「员工」等于第1步的「提交人」,查找内容勾选「上级」和「可调休余额」,未查找到记录时选终止。员工表里没登记的人提交了申请,流程就停在这一步。

第3步:添加【修改记录】,把信息写回这条申请。修改第1步的记录:「员工」选第2步找到的记录,「上级」和「提交时余额」分别引用第2步查到的上级和可调休余额。

第4步:再添加一个【查找记录】,重新读一遍这条申请,查找内容勾选「时长」和「余额提醒」。工作流里要用公式字段的值,需要先用【查找记录】查出来,下一步才能引用;「余额提醒」又要等第3步写进提交时余额才算得出来,所以放在第3步之后。

第5步:添加【发送飞书消息】,接收人引用第2步的「上级」,内容引用类型、开始和结束时间、时长、提交时余额、余额提醒和事由。打开【添加底部按钮】,加三个按钮:「通过」和「退回」点击后执行修改记录,把审批结果分别改成通过、退回;「打开记录」执行跳转链接,链接引用第1步的记录链接。

这张图片展示的是多维表格加班调休申请工作流的运行设置界面,包含左侧工作流步骤列表

这里出现的两个字段多说一句。「提交时余额」是员工交申请那一刻还剩多少,写进去以后就不变了,员工表里的可调休余额会一直变。模板里9月25日那条搬家请假,提交时只剩4.5小时,上级照样批了。过几个月有人问起,翻这条记录就有答案。「余额提醒」只看请假,时长超过提交时余额,就显示超出余额:

IF(AND([类型]="Leave / 请假",NOT(ISBLANK([提交时余额])),[时长]>[提交时余额]),"⚠️ Over balance / 超出余额","")

它只提醒,不拦截:余额不够也能交、也能批,批不批由上级决定。

第二条:审批结束后,通知员工

第1步:选【修改记录时】,数据表选申请记录表,监听「审批结果」,条件设成审批结果为通过,或者为退回。

第2步:添加【修改记录】,把「审批时间」设成当前时间。

第3步:添加【发送飞书消息】,发给第1步的「提交人」,内容带上审批结果、时长和审批意见。

图片展示了多维表格中审批工作流的设置步骤

消息里只能点按钮,写不了审批意见。要写意见就点「打开记录」进表里写,先写审批意见,再改审批结果;顺序反过来,员工收到的通知里就没有意见。

六、高级权限:员工只能看到自己的记录

表单描述里放了员工表的链接,员工要打开它,得先有这个多维表格的权限。直接给阅读权限的话,每个人都能看到同事的余额和请假事由。所以要开高级权限,单独建一个「员工」角色,只让他看到和自己有关的那几行。

第1步:点多维表格右上角的【多维表格高级权限】图标,点【开启高级权限】。

第2步:在【自定义角色】下点【添加角色】,命名为「员工」。员工表和申请记录表的数据表权限都设成【仅可阅读】。

第3步:在【记录权限】里,可阅读的记录范围选【满足特定条件的记录】。员工表的条件设成「员工」包含【访问者本人】,申请记录表设成「提交人」包含【访问者本人】。

第4步:点右上角【添加成员】,把员工加进这个角色。上级和行政、人事用编辑者,能看到所有人的数据,也能改审批结果和审批意见。

图片展示的是多维表格中“高级权限”设置界面

七、视图:按人按周、按人按月统计加班

申请记录表里建了四个视图。「全部申请」按提交时间倒序;「待审批」只显示待审批的申请,上级积了好几条的时候,打开这个视图逐条处理。

另外两个是给行政、人事做统计用的。申请记录表里有两个辅助公式:「所在周」算出这条申请那一周的周一是几号,「月份」算出年月,两个分组视图就按它们分组。「按人按周」只显示审批通过的记录,先按员工分组,再按所在周、类型分组,每一组列出对应的申请。「按人按月」同理,把所在周换成月份,模板里9月份审批通过的加班有5条、请假有2条,10月份加班有3条。月底要汇报或者核对时,打开视图导出为Excel就行。

图片展示的是多维表格中“加班调休申请记录表”的“按人按月”视图界面

八、改造前后对比

人工登记(Excel) 加班调休申请表
记一笔加班或请假 员工在群里说一声,行政手动记一行 员工交表单,自动进表,行政不用记
上级审批 微信回一句”可以”,表里没有痕迹 消息里点通过或退回,结果和审批时间写回表里
员工查余额 问行政,行政把加班和请假逐行加减 点链接自己看,只看得到自己的
每周、每月统计 行政按人、按周手工汇总 打开视图导出
余额不够还想请假 当面问,口头定 记录上标出超出余额,上级决定批不批

这是一个轻量的加班调休申请表,规则比较简单,适合中小团队。如果公司的调休规则很复杂,比如有有效期、按半天计算,多维表格不一定能完全覆盖,可以考虑专业的考勤系统。

最后

小周现在不用再给人算余额了。老陈想请假之前,先点开链接看一眼自己还剩几个小时,再去交申请。

公司里管加班调休的如果不是你,可以把这篇转给行政或人事的同事。

这套加班调休申请表我整理成了模板,领取方式见文末。

相关阅读


📋 这套加班调休申请表,我整理成模板了

跟着上面步骤搭要花点时间。想直接拿现成的改,加我微信备注「博客 调休」,我发你。

🤔 卡在某一步了?

最容易卡的是时长公式和可调休余额这两步,还有审批结束后把结果写回表里的那条工作流。如果你照着做没跑通,或者你们公司情况不太一样,可以找我聊聊,我免费帮你看看怎么调。不合适我也会直说。

加吨师傅微信咨询飞书多维表格搭建

扫码加我,备注「博客 调休」领模板

想看更多这类方案,我都整理在 吨师傅工具箱 里了:客户管理、进销存、工单报修……按场景分好类,可以直接抄。

滚动至顶部