一般機能でも、下の手順で出来そうですけどね。。
1.グループ別の当選者数を下図(G1:I2)の様に埋める(サンプルでは、3グループ、計10人)
2.C2セルに=RAND() と入力して、フィルダウン
3.C列全体をコピーして、値の貼付け
4.乱数にダブりがないか、D2に数式を入れて、念のため確認する。
D2セル =IF(OR(COUNTIF(C2:C1200,C2:C1200)>1),"有","無")
5.G3セル =XLOOKUP(TAKE(SORT(FILTER($C$2:$C$1200,$B$2:$B$1200=G1)),G2),$C$2:$C$1200,$A$2:$A$1200,"")
と入力して、右へコピー
<結果図>
行 ___A___ ____B____ _______C_______ __D__ _E_ ____F____ ___G___ ___H___ ___I___
1 氏名 グループ 乱数生成後値化 重複 グループ A B C
2 Name01 A 0.594714537 無 当選者数 5 2 3
3 Name02 A 0.554952974 Name07 Name12 Name14
4 Name03 A 0.323293225 Name03 Name09 Name16
5 Name04 A 0.723990988 Name02 Name13
6 Name05 A 0.974484221 Name01
7 Name06 A 0.939029356 Name04
8 Name07 A 0.085922578
9 Name08 B 0.94932929
10 Name09 B 0.264407234
11 Name10 B 0.564305458
12 Name11 B 0.554734358
13 Name12 B 0.030535968
14 Name13 C 0.478480494
15 Name14 C 0.058312015
16 Name15 C 0.82291206
17 Name16 C 0.153581672