最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Excel人员随机分组与排班怎么操作?快速处理技巧
时间:2026-07-14 11:48:46 编辑:袖梨 来源:一聚教程网
用excel做人员随机分组、排班,最省心的方法就是先给每个人生成一个专属随机数,按这个数排序之后,直接把排好的名单按人数拆成小组,后续就能直接往排班表里填。当前操作软件:microsoft excel;软件版本:microsoft 365。里面用到的动态数组函数效率更高,如果使用 wps 或旧版 excel,需要先确认是否支持对应函数。
别上来就手动抽签凑名单,人数超过十几个之后,手拖鼠标选人很容易重复、漏人,之后临时要调班也找不到原始记录溯源。下面我们拿「12人客服组,每3人分一组,再对应排早中晚班」当例子演示,你实际用的时候只要改公式里的分组人数、提前准备好自己的班次清单就行。
第一步:在名单旁边生成随机数
先把所有员工姓名整理在同一列,比如A列放姓名,B列表头填「随机数」。在B2单元格输入 =RAND(),往下拉填充到最后一名员工那行,等每行都出现一个不一样的小数,就相当于每个人都拿到了一个临时抽签号。
RAND 函数写法很简单:
| 函数 | 语法 | 返回结果 | 适合用途 |
|---|---|---|---|
| RAND | =RAND() |
0 到 1 之间的小数 | 给名单生成随机排序依据 |
这个函数不需要填任何参数,后面的括号也不能省。只要工作表触发重新计算,所有随机数就会自动刷新变化;要是已经确定好抽签结果,得先把随机数整列复制出来,用「选择性粘贴」转成纯数值,不然后面分组结果会跟着乱跳。
第二步:按随机数升序排序
选中姓名列和随机数列,千万别只选随机数那一列。点开顶部「数据」选项卡的排序功能,排序依据选「随机数」,次序设为升序。排序完成后,姓名的原有顺序就被打乱了,但每个人的信息还是和自己的随机数留在同一行。
如果排完发现姓名和随机数错位,基本都是之前选选区的时候只框了一列。碰到这种情况直接点撤销,把姓名、部门、岗位、随机数所有相关列一起选中,再重新排序就行。后面排班要用到岗位、部门字段的,排序的时候也得把这些列一起带上。
第三步:给排序后的名单自动分组
排好序的名单可以按固定人数直接切分小组。比如每3人一组,在C2单元格输入 =ROUNDUP(ROW(A1)/3,0) 再向下填充,就会自动生成1、1、1、2、2、2这样的组号。想要把组号显示成A、B、C、D这类自定义名称,可以先在空白区域比如E2:E5写好组名清单,再用公式 =INDEX($E$2:$E$5,ROUNDUP(RANK(B2,$B$2:$B$13)/3,0)) 直接根据随机数排名返回对应的组名。
| 函数 | 语法 | 关键参数 | 在分组中的作用 |
|---|---|---|---|
| ROUNDUP | =ROUNDUP(number,num_digits) |
number 是要向上取整的数;num_digits 为 0 时取整数 |
把第 1 到第 3 名归到第 1 组,第 4 到第 6 名归到第 2 组 |
| RANK | =RANK(number,ref,[order]) |
number 是当前随机数;ref 是随机数区域;order 省略时按从大到小排名 |
根据随机数算出每个人的抽签名次 |
| INDEX | =INDEX(array,row_num,[column_num]) |
array 是组名清单;row_num 是要返回第几个组名 |
把数字组号转换成 A、B、C、D 等名称 |
要是只想快速把名单平均分成4组,也可以用动态数组的简化写法:=WRAPROWS(SORTBY(A2:A13,RANDARRAY(ROWS(A2:A13))),3)。这里面 SORTBY 负责按生成的随机数组打乱排序,RANDARRAY 负责生成和名单行数一样多的随机数,WRAPROWS 负责每凑够3个姓名就自动换到下一行。这个写法出结果很快,但后续要补录部门、岗位、班次这类信息的时候,用传统辅助列的方式更容易核对排查。
第四步:把分组结果填入排班表
分组结果定下来之后,排班的时候就别再重新跑一次随机了。直接把每组成员复制到排班表对应的日期和班次栏里就行,比如A组排早班、B组排中班、C组排晚班,D组留作休息或者机动备用。之后需要轮班调整的时候,只改班次对应关系就行,别动最开始生成的那份原始随机名单,这样能保留第一次分组的完整依据。
排班也可以直接用公式自动取人。假设A2:A13是已经排好随机顺序的员工姓名,F2:H5是班次表,早班第一个单元格可以写 =INDEX($A$2:$A$13,ROW(A1)),往下拉就能取到前三个人;中班第一个单元格写 =INDEX($A$2:$A$13,ROW(A1)+3),晚班第一个单元格写 =INDEX($A$2:$A$13,ROW(A1)+6)。要是想实现每天自动轮换班次,可以把偏移量改成 MOD 计算,比如 =INDEX($A$2:$A$13,MOD(ROW(A1)+COLUMN(A1)*3-1,ROWS($A$2:$A$13))+1),向右拉填充之后就会按列错开自动取人。
这个操作最常踩的坑有三个:第一是RAND函数自动重算导致名单全变,抽完结果一定要先粘贴成数值锁定;第二是排序的时候只选了随机数列,把员工的对应信息全弄散了;第三是改分组人数之后,忘了同步改公式里的除数。处理排班的时候,建议单独存一张「原始名单」工作表,所有操作都在「随机分组」和「排班结果」两张表里做,后续要调班或者复盘的时候,记录全不会乱。
相关文章
- 搜狗五笔编码提示开启步骤 07-24
- 2023支付宝12月6日小鸡答题今日答案一览 07-24
- OPPO手机五笔提示关闭 07-24
- OPPO手机五笔编码开启方式 07-24
- 漫蛙2最新版-漫蛙21.1.8版 07-24
- 停用搜狗五笔拼音提示功能 07-24