私は高校の教師で、生徒の並べ替えの問題で助けが必要です。
- 学生は 6 週間ごとに 100 個の「トークン」を受け取り、約 30 の異なるプロジェクトに入札できます。
- 彼らは、関心に基づいてトークンを「使う」ように求める Google フォームを介して入札します。
- これにより、30 列 (プロジェクトごとに 1 つ) と 373 行 (生徒ごとに 1 つ) を持つ Google スプレッドシートが作成されます。
各プロジェクトに割り当てられた学生を含む新しいシートになるように、このシートの並べ替えを自動化する必要があります。
目標:
- 最上位の「入札」プロジェクトに最大数の学生が配置されます。
- どのプロジェクトにも 25 人を超える学生はいません。
- 「レベル 1」に分類される学生は 1 つのプロジェクトにのみ割り当てられますが、「レベル 2」に分類される学生は 2 つのプロジェクトの名簿に登録されています。このレベルは、フォームとともに送信される電子メールに関連付けられています。
- 最大 100 トークンを超えて入札した学生は、プロジェクト内の空いている場所にランダムに割り当てられます。
- プロジェクトの名簿は、学生の競合がない 5 つの「時間」に均等に分割されます。たとえば、「Science Project」と「Math Project」の名簿に同じ学生がいない場合、それらは同時に存在する可能性があります。同じ学生がいる場合、それらは異なる時期になります。
- 競合が発生した場合、学生には次に高い入札額が割り当てられます。次に高い入札額がない競合が発生した場合、学生には無作為に割り当てられたプロジェクトが割り当てられます。
- 例 1: 26 人の学生がプロジェクトで 100 トークンを入札します。26 個のうち 1 個がランダムなプロジェクトに配置されます。
- 例 2: 24 人の学生がプロジェクトで 100 トークンを入札します。5 人の学生が同じプロジェクトで 99 トークンを入札しました。5 人中 4 人は、「資格を得る」のに十分な場合、1 トークンを入札するプロジェクトに割り当てられます。そうでない場合は、他のプロジェクトにランダムに割り当てられます。
さまざまな Google スプレッドシートの数式を使用して手動で並べ替えることができますが、約 3 時間かかります。これを自動化するためのツールを構築するための見積もりをもらいましたが、それは私の価格帯からかなり外れています。友人がここに投稿することを勧めました。受けたい人いますか?配布物を求めていません。また、サンプル データを含む Google スプレッドシートを共有することもできます。
編集:これは、学生情報を削除して使用するプロセスへのリンクです。課題の 1 つは、生徒の情報を削除したときに「student1」などを入力したことです。ただし、「student1」は各シート全体で同じ生徒ではないため、追跡が少し難しくなります。これが私のプロセスを説明するスクリーンキャストです。質問やアイデアがあれば教えてください!