添加輔助列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列的值是壹個隨機數,抽取後三個人是隨機排列的,保證每次刷新抽取八個隨機不重復的人。