excel 表格数据随机排序,核心方法就是新增辅助列,使用 RAND 函数生成随机小数,再按照这个辅助列升序或者降序排序,就可以把整行数据随机打乱,适合抽签、随机分组、随机抽取名单这类场景。很多新手想直接对原始数据一键随机打乱,Excel 本身没有自带一键随机排序按钮,必须借助随机数辅助列实现,而且 RAND 属于易失函数,单元格编辑、表格刷新的时候随机数会自动重新变化,所以排序之后如果想固定结果,需要把辅助列复制成数值,避免后续顺序再次变动。除了 RAND,新版 Excel 和 WPS 还可以使用 SORTBY 搭配 RARRAY 动态数组方案,不需要辅助列直接输出随机排序结果,但是旧版本不支持动态数组,优先推荐全版本通用的 RAND 辅助列方案,下面把基础操作、固定随机结果、随机分组、异常排查全部深度拆解。
方法一 RAND 辅助列 全版本通用首选
原理:每一行生成一个随机小数,按随机数排序,实现整行随机打乱。
1 在原始数据旁边新增一列辅助列,表头命名随机数
2 在第二行单元格输入公式 =RAND ()
3 鼠标下拉填充,每一行都会生成 0 到 1 之间的随机小数
4 选中全部数据区域,包含表头和辅助列
5 切换数据选项卡,点击升序或者降序排序
6 排序完成,原始整行数据就已经随机打乱
补充要点:
- 排序的时候一定要选中完整整行数据,不要只排序辅助列,不然原始数据和随机数错位,数据错乱
- RAND 每次工作表重算就会刷新,想要锁定这次随机顺序,选中辅助列,复制,右键选择性粘贴为数值,把公式变成固定数字
方法二 SORTBY+RARRAY 新版动态数组方案
Excel365、2021、新版 WPS 支持动态数组,不需要辅助列。
公式样例:=SORTBY (A2:B100,RARRAY (ROWS (A2:A100)))
含义:对 A2:B100 区域,按照随机数组排序,自动溢出输出随机排序后的整张表,原始表不会改动。
补充要点:旧版本 excel 输入会报 NAME 错误,旧版本继续使用 RAND 辅助列方案。
拓展 随机分组应用
学会随机排序之后,可以延伸随机分组,比如分成 3 组:
1 先用 RAND 辅助列随机打乱全部人员
2 新增分组列,依次填充 1、2、3 循环编号,实现随机均分分组
补充要点:分组前随机打乱,避免原本顺序影响分组结果。
两种方案对比表格
| 方案 | 是否需要辅助列 | 版本要求 | 特点 |
|---|---|---|---|
| RAND 辅助列排序 | 需要新增辅助列 | 全部版本支持 | 兼容性强,操作简单 |
| SORTBY+RARRAY | 不需要辅助列 | 新版 Excel/WPS | 动态输出,原表不变 |
常见异常排查
1 排序之后再次打开,顺序又变了:RAND 是易失函数,没有选择性粘贴成数值,随机数自动刷新
2 排序之后原始数据错位:排序时没有选中完整数据区域,只单独排了辅助列
3 生成随机数全部相同:下拉填充出错,检查公式是否正确,RAND 括号内部不需要参数
4 排序后想恢复原来顺序:随机排序前建议备份原表,随机打乱之后原始顺序没有标记就很难复原
5 WPS 表格和微软 excel 表格 RAND 随机排序逻辑一致
【常见问题】
问题 1 excel 表格数据随机排序有没有一键按钮
回答 1 excel 表格数据随机排序没有自带一键打乱按钮,通用做法是新增辅助列,使用 = RAND () 生成随机数,再按辅助列排序,实现 excel 表格数据随机排序。
问题 2 excel 表格数据随机排序为什么刷新之后顺序又变了
回答 1 excel 表格数据随机排序 RAND 属于易失函数,重算会自动更新随机数,排序之后选择性粘贴为数值就可以固定,解决 excel 表格数据随机排序顺序变动问题。
问题 3 excel 表格数据随机排序可以只打乱整行吗
回答 1 excel 表格数据随机排序排序的时候必须选中完整整行数据,按辅助列排序,保证每行数据保持绑定,实现 excel 表格数据随机排序整行打乱。
问题 4 excel 表格数据随机排序旧版本支持 SORTBY 吗
回答 1 excel 表格数据随机排序 SORTBY 动态数组函数旧版本不支持,旧版本继续使用 RAND 辅助列方案,兼容全部版本 excel 表格数据随机排序。
免责声明
本文教程基于微软 Excel 和 WPS 表格通用版本编写,不同版本动态数组函数兼容性存在差异,随机排序前建议备份原始数据,本文内容仅供学习参考,不承担操作失误带来的数据相关风险。


