excel如何实现分组随机抽签?

假设A列为部门,B列为姓名,从5个部门中随机抽取8人,每个部门至少1人。

添加辅助列C,公式为=rand(),即在列C生成随机数。

提取公式为=LET(a,REDUCE ("name "),C2: C32,lambda (x,y,if (y = max (filter (C2: C32,A2: A32 = offset (y,-2))),vstack (x,offset (y,-2))。TAKE(SORTBY(FILTER(B2:B32,ISNA(MATCH(B2:B32,a,)),RANDARRAY(26)),3)))

思路是:先抽取每个部门得分最高的成员,这样才能保证每个部门先有一个名额。然后去掉刚入选的五个人,剩下的随机排列,然后取前三名。

因为C列的值是一个随机数,抽取后三个人是随机排列的,保证每次刷新抽取八个随机不重复的人。