讲师中心 微信公众号
AI工具推荐 视频效率加速

Excel中如何利用MOD函数解决循环排班问题

冬雪酱_6443

冬雪酱_6443

发布时间:2026-07-15 15:38:58

|

1009人浏览过

|

来源于php中文网

原创

用excel做循环排班,靠mod函数就能把日期序号转成0、1、2、3……这样的循环余数,再搭配index函数直接返回早、中、晚、休这类班次。核心公式是 `=index($h$2:$h$5,mod(row(a1)-1,4)+1)`,往下一拉填充,4个班次就会自动反复轮转。

Excel 排班表中按日期展开班次和休息状态

这个方法专门适配固定周期的排班场景,比如早中晚休4天一轮、白夜休3天一轮,或是多人错位轮班的需求。只要轮班规则是按固定顺序重复,用MOD就能代替人工挨个复制班次,全靠公式自动生成。

第一步:先把循环班次单独列出来

先在表格旁边单独列好所有班次,比如H2:H5单元格依次输入“早、中、晚、休”,后面公式返回的结果就从这个列表里取。别把班次直接写死在很长的IF嵌套公式里,不然之后要调整班次顺序的时候会特别麻烦。

只排一个人的话,列表按实际轮换顺序写就行;要是需要给多个人错位排班,先定好第一个人的轮班顺序,再用公式偏移,后面第二、第三个人就能从不同的班次开始轮。

Excel 使用 MOD 和 ROW 生成循环余数

第二步:用 MOD 生成循环编号

MOD函数的功能是取余数。比如 `MOD(ROW(A1)-1,4)` 算出来的结果是0,往下填充到下一行,ROW(A2)-1变成1,结果就等于1,继续往下拖结果会依次得到2、3,到第5行又跳回0,刚好形成0、1、2、3、0、1、2、3的循环。

为什么公式里要减1?因为INDEX函数的位置参数是从1开始计数的,MOD生成的余数刚好可以从0起步,后面给最终结果再加1,就能把0、1、2、3转成1、2、3、4,刚好对应班次列表里第1到第4个项目的位置。

Excel 公式栏中查看 IF 和 MOD 组合公式结果

第三步:用 INDEX 把编号转换成班次

在第一个要填班次的单元格里输入公式:`=INDEX($H$2:$H$5,MOD(ROW(A1)-1,4)+1)`。其中 `$H$2:$H$5` 就是你提前列好的班次列表,`MOD(ROW(A1)-1,4)+1` 是用来指定取列表里第几个班次。

公式输完直接向下拖动填充,结果就会自动按“早、中、晚、休”循环。如果你的排班周期是3天,就把班次列表改成3个项目,同时把公式里的数字4改成3;周期是5天就改成5就行。

PDF to Excel
PDF to Excel

将PDF中的表格和文本提取到Excel工作簿(XLSX),每页对应一个工作表。

下载
Excel 月排班表模板中设置年份和月份

第四步:先生成日期,再让班次跟着日期走

排班表一般要先把日期列做出来,可以用 `DATE(年,月,1)` 生成当月第一天,下一行直接用上一行的日期加1,一直拖到当月最后一天。之后切换年月的时候,日期列会自动更新,班次公式也能跟着正常计算。

如果直接靠行号循环,中途插入空行很容易打乱结果。更稳妥的做法是用当前日期和排班起始日期的天数差来算班次,比如写 `MOD(A10-$A$10,4)`。A10是当前行的日期,$A$10是排班的起始日期,就算之后表格整体移动位置,循环逻辑还是按日期差计算,不会出错。

Excel 排班表中用 DATE 生成当月日期

第五步:多人排班时给每个人增加偏移量

多人排班不能所有人都从同一个班次开始,不然所有人每天的班都一模一样。可以给不同的人加不同的偏移量,比如第一个人偏移0,第二个人偏移1,第三个人偏移2。公式可以写成:`=INDEX($H$2:$H$5,MOD($A10-$A$10+COLUMN(A1)-1,4)+1)`。

这个公式里,`COLUMN(A1)-1` 随着你向右填充,会自动变成0、1、2、3,刚好用来给不同的人错开班次。向右拖填充完所有人员列,再向下拖覆盖整个排班周期,一张基础的循环排班表就出来了。

Excel 排班表中统计早中晚休各班次数量

第六步:用 COUNTIF 检查各班次数量

排班做完最好用COUNTIF核对一遍,比如统计某个人当月早班有几次、中班几次、晚班几次、休息几天。公式可以写成 `=COUNTIF(D10:D40,"早")`,再把条件换成其他班次逐一统计就行。

要是发现某个人的休息天数明显不对,先检查公式里的循环周期数有没有写错,再核对起始日期和偏移量的数值对不对。MOD排班最大的好处就是逻辑清晰:排班周期是几,余数就除以几;想要谁错开班次,就给谁的参数里加对应偏移量。

把这个逻辑摸透,固定周期的排班根本不用一格一格手填。先列好所有班次,用MOD取余生成循环位置,再用INDEX返回对应的班次名称,几秒钟就能自动展开一整个周期的排班表。

热门AI工具

更多
超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
excel对比两列数据异同
excel对比两列数据异同

Excel作为数据的小型载体,在日常工作中经常会遇到需要核对两列数据的情况,本专题为大家提供excel对比两列数据异同相关的文章,大家可以免费体验。

4921

2023.07.25

excel重复项筛选标色
excel重复项筛选标色

excel的重复项筛选标色功能使我们能够快速找到和处理数据中的重复值。本专题为大家提供excel重复项筛选标色的相关的文章、下载、课程内容,供大家免费下载体验。

3016

2023.07.31

excel复制表格怎么复制出来和原来一样大
excel复制表格怎么复制出来和原来一样大

本专题为大家带来excel复制表格怎么复制出来和原来一样大相关文章,帮助大家解决问题。

2800

2023.08.02

excel表格斜线一分为二
excel表格斜线一分为二

在Excel表格中,我们可以使用斜线将单元格一分为二。本专题为大家带来excel表格斜线一分为二怎么弄的相关文章,希望可以帮到大家。

1444

2023.08.02

excel斜线表头一分为二
excel斜线表头一分为二

excel斜线表头一分为二的方法有使用合并单元格功能方法、使用文本框功能方法、使用自定义格式方法。本专题为大家提供excel斜线表头一分为二相关的各种文章、以及下载和课程。

697

2023.08.02

绝对引用的输入方法
绝对引用的输入方法

绝对引用允许在公式中引用一个固定的单元格,而不会随着公式的复制和粘贴而改变引用的单元格。本专题为大家提供绝对引用相关内容的文章,大家可以免费体验。

5128

2023.08.09

java导出excel
java导出excel

在Java中,我们可以使用Apache POI库来导出Excel文件。本专题提供java导出excel的相关文章,大家可以免费体验。

6423

2023.08.18

excel输入值非法
excel输入值非法

在Excel中,当输入的数值非法时,有以下多种处理方法。本专题为大家提供excel输入值非法的相关文章,大家可以免费体验。

1661

2023.08.18

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

0

2026.10.08

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 43.9万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn