excel函数技巧:map+filter+randarray随机组队-趣帮office教程网

如图,A列为源数据,如何用公式将24个人,以3人为一组随机分组,分为8组?如何随机组队,即将组别一样的人放到同一个单元格中,公式如下:

=MAP(SEQUENCE(8)-1,LAMBDA(x,TEXTJOIN("、",1,FILTER(A2:A25,MOD(SORTBY(SEQUENCE(24),RANDARRAY(24)),8)=x))))

公式思路:24个人随机分配,要保证不能重复,一般用SORTBY RANDARRAY

以3人为一组以对24个数取余数的方式实现,最后得到0、1、2、3、4、5、6、7;每个数字有三个,正好形成8组。

map filter的意义就是将这8组数据分别提取出来,再用textjoin连接,将结果输出到8个单元格中,实现了将每组的姓名放到一个单元格的目标。

此题最巧妙的部分就是mod函数的应用,生成了需要的分组数列,mod函数在数列生成中有很多的用处,广泛应用在行、列数的取值方面。