👷在线排班表生成器 - 自动排班、三班倒、值日表,按规则求解
给门店、工厂、医院科室、客服团队或班级排班,最费脑子的是同时照顾很多条件:每个班要几个人,不能连续上太多天,夜班后要休息,每周至少休两天,有人请假、有人不能上夜班,还要让每个人的班数、夜班和周末班尽量一样多。这个工具把这些规则交给求解器:先按“谁最该上”逐天贪心排好,再用带固定种子的模拟退火反复交换、调整,硬性规则优先,其次追求公平,几十人一个月通常一眨眼就能排完。如果按当前设置根本排不满(例如某天能上班的人少于需要的人数,或扣掉每周休息后人力不够),工具会直接告诉你哪一天、差多少,而不是给出一张看似完整却违反规则的表。也可以切换到固定轮换:内置三班倒(早早中中夜夜休休)、做二休一、做一休一、大小周等模式,每人自动错开起点。点表格里的格子可以把某人某天固定为某个班、休息或请假,重新生成时会保留。表头会标出法定节假日和调休上班日,可选择节假日按周末人数排班。右侧给出每个人的班数、工时、各班次数量、周末和法定假日班数,以及规则检查清单。排好后可以打印成 A4 横向表格或另存为 PDF,导出 PNG 图片和 CSV(可用 Excel 打开),设置和结果自动保存在本机浏览器。
免费 · 无需注册 · 浏览器本地处理最后更新:
正在加载工具...
如何使用排班表生成器
- 1选择一个预设(门店早中晚、三班倒、值日表等),设置开始日期和天数
- 2在“班次 / 人员 / 规则”里修改班次时间与每天人数、添加人员和不上的班次、设置连续上班与休息规则
- 3点格子标记请假或固定安排,点“生成排班”,查看规则检查与每人统计后打印或导出
常见问题
- 自动排班是怎么算的?
- 先逐天为每个班次挑人:优先选择上班次数少、该班次上得少、周末班少,并且不会因此违反连续上班或夜班休息规则的人。然后用模拟退火做几万次局部调整:交换同一天两个人的安排,或者改变某人某天的班次,硬性规则(人数、连续天数、休息)的权重远高于公平性,最后保留最好的结果。随机数用固定种子,同样的设置每次得到同样的表,点“换一个方案”会换一个种子。
- 为什么提示“无法排满”?
- 排班前会先做人力检查:某天需要的总人数是否超过当天没请假的人数,某个班次(例如夜班)能上的人是否够,扣掉每周必须休息的天数后一周的人力是否够,以及在“最多连续上班 N 天”的限制下,任意连续 N+1 天的人力是否够。只要有一项不够,就一定排不满,工具会列出具体日期和缺口,你可以增加人员、减少每班人数或放宽规则。
- 三班倒、做二休一这些轮换怎么用?
- 点上方的预设即可,它会设置好班次、规则和轮换序列,例如三班倒为“早 早 中 中 夜 夜 休 休”,8 人时每天早中夜各 2 人。轮换序列从开始日期所在周的周一算起,勾选“每人错开起点”后每个人依次错开,人员均匀分布到各班。你也可以自己改序列,用空格分隔班次简称。
- 排班数据会上传吗?节假日准确吗?
- 不会上传,所有计算都在浏览器里完成,人员名单和排班结果只保存在本机的 localStorage 中,可以导出 JSON 备份。法定节假日和调休上班日按国务院办公厅公布的安排标注,目前收录 2025、2026 年,其它年份不显示。