日常工作中,我们需要对Excel表格数据随机分组,比如说公司培训、团建活动,需要对参加人员随机分组;或者是公司安排值班人员值班出勤等。今天就跟大家分享一下Excel数据随机分组的方法,一个公式轻松搞定,简单又实用!
操作方法:
如下图所示,左侧是人员名单,一共18个人,我们随机分成3组,每组6人。
直接在目标单元格中输入公式:
=WRAPROWS(SORTBY(A2:A19,RANDARRAY(ROWS(A2:A19),1)),6,"")
然后点击回车,即可获取分组数据,按快捷键【Ctrl Alt F5】可以刷新,重新随机获取分组信息。
解读:
上面公式中分别使用到了ROWS函数、RANDARRAY函数、SORTBY函数、WRAPROWS函数,下面我们一一解读。
①公式中ROWS(A2:A19)就是获取名单数据区域一共有多少行,就是有多少个姓名,获取结果为18。
ROWS函数介绍
功能:主要是计算单元格行数。
语法:=ROWS(数组)
②然后使用RANDARRAY(ROWS(A2:A19))生成由18个随机数组成的数组。
RANDARRAY函数介绍
功能:RANDARRAY函数主要是随机返回一个数组的函数。
语法:=RANDARRAY([行数],[列数],[最小数],[最大数],[整数])
③接着利用
SORTBY(A2:A19,RANDARRAY(ROWS(A2:A19),1))
再对名单数据区域进行升序排序,第一参数是A2:A19名单区域作为排序的区域;第二参数是以RANDARRAY(ROWS(A2:A19)生成的18个随机数为排序依据,第三参数是1,表示是按升序排序。
SORT函数功能介绍
功能:SORT函数主要用来对某个区域或数组的内容进行排序。
语法:=SORT(数组,排序依据,排序顺序,按列)
④最后使用WRAPROWS函数,再把重新排序后的一列名单数据区域,转成6列,也就是3行6列。
WRAPROWS函数介绍
功能:将一行或者一列数据转换为多行数据
语法:=WRAPROWS(向量,列数,[异常返回值])
第一参数:向量就是要转换的将一行或者一列数据
第二参数:列数就是要把数据转换成几列显示
第三参数:就是出现异常时返回的值,默认可以忽略
因为使用随机数排序,每次刷新Excel表格或者重新打开Excel文件生成的分组顺序都是不一样的。如果我们想固定分组顺序,我可以使用选择性粘贴,把生成的分组信息转换成数值固定下来。
操作方法:
首先选中生成的名单信息,按【Ctrl C】复制→然后点击右键,选择粘贴为数值即可,这样分组顺序就固定下来了。
评论 (0)