完全に希望通りとはいきませんが、一つの方法です。
●抽選
B C D E F G H I J
4 氏名 入力 確認 調査 レベル 1 2 3 ←入力
5 社員1 5 5 5 3 0.225560151 3
6 社員2 5 5 5 3 0.3882304 2
7 社員3
8 社員4 5 5 5 2 0.493205119 4
9 社員5 5 1 0.962810836 1
10 社員6 5 5 5 2 0.643787536 2
11 社員7 5 5 5 3 0.223476178 4
12 社員8 5 5 5 2 0.892161323 1
13 社員9 5 5 5 2 0.283325128 6
14 社員10 5 5 5 2 0.523452283 3
15 社員11 5 3 0.964078535
16 社員12 5 5 5 3 0.148343103 5
17 社員13 5 5 5 1 0.771740558 3
18 社員14 5 5 5 2 0.437697384 5
19 社員15 5 5 5 3 0.829057765 1
20 社員16 5 1 0.936339612 2
H5
=IF(C5="","",IF($F5=H$4,COUNTIFS(C$5:C$200,">0",$F$5:$F$200,H$4,$G$5:$G$200,">"&$G5)+1,""))
右方向・→下方向・↓
●割り当て
B C D E F G H
3 入力 確認 調査
4 A 社員11 社員16 社員10 3 1 2
5 B 社員5 社員6 社員1 1 2 3
6 C 社員14 社員2 社員13 2 3 1 ←本当は2 ,2 ,2のレベルの
組み合わせもあるが、面倒なので無視
D4
=INDEX(抽選!$B$5:$B$200,MATCH(COUNTIF($F$4:F$6,G4)+COUNTIF(G$3:G3,G4)+1,INDEX(抽選!$H$5:$J$200,,G4),0))
右一つ・→下方向・↓
F4
=VLOOKUP(C4,抽選!$B:$F,5,FALSE)
下方向・↓
G4
=MOD($F4,3)+1
下方向・↓
H4
=MOD($F4+1,3)+1
下方向・↓