必修科目のクラス配属を自動化するローカル動作の Web アプリです。
Microsoft Forms の希望調査データを読み込み、抽選アルゴリズムに従ってクラスを割り当てます。
- 完全ローカル動作 — 入力データは外部に送信されません
- xlsx 入出力 — Forms の出力ファイルをそのまま使用可能
- バリデーション — 対象外学生・重複回答を自動検出
- 未回答学生の自動補完 — 希望調査に回答しなかった学生もランダムに配属
- 再現性のある抽選 — シード値を固定することで同じ結果を再現可能
- インストール不要 — ブラウザで HTML ファイルを開くだけで動作
配属対象者の名簿(学籍番号・メールアドレス・氏名)を xlsx でアップロードします。
「📄 リストのテンプレDL」でサンプルファイルを取得できます。
DUET出席簿(xlsx形式)をそのまま利用できます。
| 列名 | 内容 | 例 |
|---|---|---|
学生ID |
学生ID | XXXXYYZ001 |
メールアドレス |
メールアドレス(一意の識別子) | xxxx0001@example.ac.jp |
氏名 |
氏名 | 山田 太郎 |
アップロードすると、配属対象人数とクラス定員が自動更新されます。
Microsoft Forms のエクスポートファイル、または手動作成の xlsx をアップロードします。
「📄 希望調査テンプレDL」でサンプルファイルを取得できます。
対応している列名の形式:
| 項目 | 通常形式 | Microsoft Forms 形式 |
|---|---|---|
| 識別子 | 学籍番号 |
メール |
| 氏名 | 氏名 |
名前 |
| 第1希望 | 第1希望 |
第1希望のクラスを選んでください。 |
| 第2希望 | 第2希望 |
第2希望のクラスを選んでください。 |
| 第3希望 | 第3希望 |
第3希望のクラスを選んでください。 |
クラス名は クラス2:英語講読 のようなコロン付き形式にも対応しています(コロン以降は無視)。
アップロード時に以下のバリデーションが自動で実行されます。
| チェック内容 | 表示 |
|---|---|
| 対象学生リストに存在しないメールアドレス | 🔴 赤パネル「対象外の学生」+行番号 |
| 同一メールアドレスの複数回提出 | 🟡 黄パネル「重複提出」+初出行番号 |
| 問題なし | 🟢 緑パネル「バリデーション通過」 |
- クラス数と各クラスの定員をサイドバーで調整
- シード値を固定すると抽選結果を後から再現できます(空欄の場合は実行のたびにランダム)
「▶ 配属を実行」を押すと即座に結果が表示されます。
「⬇ 結果をxlsxでDL」で以下のシートを含む xlsx ファイルを取得できます。
| シート名 | 内容 |
|---|---|
| 配属結果一覧 | 全学生の学籍番号・メール・氏名・配属クラス・配属方法 |
| クラス別集計 | クラスごとの人数・希望別内訳 |
| クラス1〜N | クラスごとの名簿 |
1. 回答済み学生を第1希望のクラスに仮配属する
2. 定員内であれば確定し、定員を超過したクラスでは抽選を実施
→ 当選:第1希望に確定
→ 落選:次のステップへ
3. 落選した学生を第2希望のクラスに仮配属する
4. 定員内であれば確定し、定員を超過したクラスでは抽選を実施(抽選対象は仮配属のみ)
→ 当選:第2希望に確定
→ 落選:次のステップへ
5. 第3希望についても同様に仮配属と抽選をおこなう
4. 第3希望まで決まらなかった学生と、希望調査に未回答だった学生を
空きのあるクラスにランダムで配属
配属方法は結果ファイルの「配属方法」列に記録されます。
| 配属方法 | 意味 |
|---|---|
| 第1希望 | 第1希望のクラスに配属(定員内) |
| 第1希望(抽選) | 定員超過クラスの抽選に当選 |
| 第2希望 | 第1希望に落選、第2希望に配属(定員内) |
| 第2希望(抽選) | 第1希望に落選、第2希望で定員超過、抽選に当選 |
| 第3希望 | 第1~2希望に落選、第3希望に配属(定員内) |
| 第3希望(抽選) | 第1~2希望に落選、第3希望で定員超過、抽選に当選 |
| ランダム | 第3希望まで決まらなかったためランダムに配属 |
| 未回答 | 希望調査に回答しなかったためランダムに配属 |
モダンブラウザ(Chrome / Firefox / Edge / Safari)で動作します。
インターネット接続は Google Fonts の読み込みにのみ使用されます(オフライン時はフォントが変わりますが機能します)。
| ライブラリ | バージョン | ライセンス | 用途 |
|---|---|---|---|
| SheetJS | 0.18.5 | Apache 2.0 | xlsx の読み書き |
| Google Fonts (Noto Sans JP, DM Mono) | — | SIL OFL 1.1 | フォント |