ランダムグループ分け

無料のグループ分けツール。名簿を貼り付けてグループ数か1グループの人数を指定するだけで、公平にランダムで班分けできます。男女を均等に振り分けたり、リーダーを自動で決めたりでき、結果はコピーや共有リンクで発表できます。登録不要、名簿は送信されません。

  • グループ数・人数を指定
  • 男女を均等に
  • リーダー自動決定
  • 共有リンクで発表

分け方

🔒 計算はすべてブラウザ内で行われ、データがサーバーに送信されることはありません。

こんなときに使えます

  • 授業の班分け:クラス名簿を貼り付けて6班に分け、ラベルを均等に分けるにチェックを入れると、各班の男女の人数がそろいます。くじを作る手間がいりません。
  • 研修のグループワーク・アイスブレイク:参加者リストを貼り付け、「1グループの人数を指定」で5人ずつに分けて、共有リンクをLINEやSlackで送れば発表完了です。
  • フットサルや運動会のチーム分け:集まった人数に合わせて2チームや3チームに分けると、人数差は最大1人。経験者に同じラベルを付けておけば各チームに均等に入ります。
  • ゼミ・読書会のグループ決め:各グループからランダムにリーダーを1人選ぶか、名前の前に * を付けてリーダーを指定できます。リーダーは必ず別々のグループになります。

使い方

  1. 名簿欄に全員の名前を貼り付けます。改行・カンマ・読点(、)・スペースで区切れ、「整形」で1行に1人ずつ並べます。
  2. 「グループ数を指定」か「1グループの人数を指定」を選んで数字を入力すると、下に各グループの人数が表示されます。
  3. 必要に応じて「ラベルを均等に分ける(男女など)」にチェックして名前の後ろにカッコでラベルを書くか、「リーダー」で決め方を選びます。
  4. 「👥 グループ分けする」を押すと結果がカードで表示されます。グループ名はクリックして変更でき、やり直すときは「もう一度分ける」を押します。
  5. 「結果をコピー」でグループLINEなどに貼り付けるか、「共有リンクをコピー」で送れば、相手も同じ班分けを見られます。

使用例

23人を1グループ4人で分けると、23 ÷ 4 = 5グループ余り3人。余った3人は3つのグループに1人ずつ加わり、5人のグループが3つ、4人のグループが2つになります。3人だけのグループはできません。6グループと指定した場合は、4人が5グループ、3人が1グループです。

生徒30人(男子16人・女子14人)を6班に分け、ラベルを均等に分けるにチェックした場合:各班5人です。男子は 16 ÷ 6 = 2 余り4 なので4つの班が3人、2つの班が2人。女子は 14 ÷ 6 = 2 余り2 で、男子が2人の2つの班に1人ずつ多く入ります。実際の結果は「男 3・女 2」が4班、「男 2・女 3」が2班でした。

12人を5グループに分け、佐藤・鈴木・高橋・田中の前に * を付けてリーダーに指定した場合:人数は3・3・2・2・2人で、4人のリーダーはそれぞれ別のグループに入り、リーダー指定のないグループはメンバーの中からランダムに1人選ばれます。

名簿「佐藤、鈴木、佐藤、伊藤」には佐藤さんが2人いるので、「佐藤#1、鈴木、佐藤#2、伊藤」として扱います。2人とも残したまま番号を付けるので、結果でもどちらの佐藤さんか区別できます。

結果の見方

  • 設定欄の下に出るプレビュー(例:「23人 → 5グループ:5人×3、4人×2」)が、実際に分かれる各グループの人数です。分ける前に確認できます。
  • どのグループが1人多くなるかもランダムで、いつも1班が多いわけではありません。リーダーは各グループの先頭に「リーダー」と表示されます。
  • 「もう一度分ける」を押すたびに、前回とは無関係な新しい結果になります。4人を2グループに分けるとき、特定の2人が同じグループになる確率は1/3なので、2回続けて同じグループになるのも珍しくありません。
  • ラベルを均等に分けると、各カードにグループごとのラベル人数(例:「男 3・女 2」)が表示されるので、偏りがないか一目で確認できます。ラベルのない人は「ラベルなし」として、これも均等に散らばります。

仕組みと計算方法

  • 乱数:ブラウザの crypto.getRandomValues(暗号論的に安全な乱数)を使い、剰余の偏りが出ないよう棄却サンプリングをしています。当サイトの「抽選ツール」と同じ方法です。
  • グループ数:グループ数を指定した場合はそのまま使います。1グループの人数 s を指定した場合は、グループ数 = floor(人数 ÷ s) とし、余った人を各グループに1人ずつ加えます。n人をkグループに分けると、n mod k グループが floor(n ÷ k) + 1 人、残りが floor(n ÷ k) 人になり、人数差は最大1人です。
  • シャッフル:名簿を Fisher–Yates 法(末尾から順に、前にあるランダムな位置と入れ替える)で並べ替えます。どの並び順も同じ確率で出て、その順に各グループの枠へ入れ、最後にグループの順番もシャッフルします。
  • ラベルの均等化:あるラベルが c 人いるとき、各グループに floor(c ÷ k) 人ずつ、c mod k グループには1人多く入ります。どのグループを1人多くするかは、全体の人数差を1人以内にしつつ、指定したリーダーを別々のグループにする必要があるため、「ラベル → グループ」の最大流問題として Dinic 法で割り当てを求めています。
  • 同じ名前:完全に同じ名前の人は全員残し、出てきた順に #1、#2… を付けます。番号を付けた名前が名簿の別の名前と重なる場合は、次の番号に進めます。

注意点と制限

  • ラベルは完全に一致したものだけが同じ種類になります。「男」「男子」「M」は別々のラベルとして扱うので、表記をそろえてください。1人に付けられるラベルは1つだけで、性別と学年のように2つの条件を同時にそろえることはできません。
  • 過去の班分けの記録は参照しないため、前回と違うメンバーになる保証はありません。「この2人は必ず同じ(別の)グループに」といった指定もできません。
  • 共有リンクはその時点の結果のスナップショットで、全員の名前がリンクに含まれ、リンクを受け取った人なら誰でも見られます。名簿が長いとリンクも長くなり、アプリによっては途中で切れることがあります。
  • 結果は自動では保存されず、ページを再読み込みすると消えます。残したいときは結果をコピーするか共有リンクを作成してください。

よくある質問

グループ分けの結果は公平ですか?

はい。ブラウザ内蔵の暗号論的に安全な乱数(crypto.getRandomValues)と Fisher–Yates 法のシャッフルを使っており、ラベルやリーダー指定がない場合はどの分け方も同じ確率で出ます。結果を予測したり操作したりすることはできません。

人数が割り切れないときはどうなりますか?

各グループの人数差は最大1人です。「1グループの人数を指定」では、余った人を各グループに1人ずつ加えるので、少人数のグループが1つだけ残ることはありません。たとえば10人を4人ずつにすると、5人のグループが2つになります。

同じ名前の人がいるときは?

2人とも残し、出てきた順に #1、#2 を付けて区別します。名簿の下にもお知らせが出ます。同じ人を2回入力しただけなら、片方を削除してください。

名簿は送信・保存されますか?

いいえ。グループ分けはすべてお使いのブラウザ内で行われ、ページを閉じるか再読み込みすると消えます。共有リンクの内容はURLの # 以降に入っていてサーバーには送られず、リンクを受け取った人だけが見られます。

男女が均等になるようにチーム分けするには?

「ラベルを均等に分ける(男女など)」にチェックし、名前の後ろにカッコで性別を書きます(例:「佐藤(男)」「鈴木(女)」)。各グループの男子・女子の人数差は最大1人になり、カードにも人数の内訳が表示されます。

班長やリーダーを指定できますか?

できます。「リーダー」で「リーダーを指定(名前の前に *)」を選び、名簿でリーダーを「*佐藤」のように書きます。指定したリーダーは別々のグループに入り、人数はグループ数までです。指定のないグループはランダムに1人選ばれます。

班分けの結果をプロジェクターで映したりLINEで共有したりできますか?

できます。「結果をコピー」で1グループ1行のテキストになるので、そのままLINEや連絡用の文面に貼れます。「共有リンクをコピー」で送れば、開いた人全員が同じ結果を見られ、教室で映すのにも便利です。

参考資料