くじ引き・抽選ツール
参加者名や応募番号を1行に1件ずつ貼り付け、当選数を決めて押すだけの抽選ツールです。当選者は既定で重複なく選ばれ、当選数を候補数と同じにすれば順番決めにも使えます。乱数はブラウザの暗号用乱数生成器を使い、処理はすべてブラウザ内で完結するため、貼り付けた名簿がサーバーへ送信されることはありません。
候補 0件 / 上限 10,000件
抽選はお使いのブラウザ内で完結します。貼り付けた名簿が当サイトのサーバーへ送信されることはありません。
くじ引き・抽選の使い方
候補を1行に1件ずつ貼り付ける
参加者名・応募番号・景品名などを、改行で区切って入力します。表計算ソフトの1列をそのままコピーして貼り付けても構いません。前後の空白と空行は自動で取り除きます。
当選数と重複の扱いを決める
何件選ぶかを指定します。既定では同じ候補が二度当たることはありません。景品側を候補にして「誰に何が当たるか」を決めるときなど、同じものが複数回出てよい場合は「重複当選を許可」を有効にします。
抽選してコピーする
「抽選する」を押すと、引いた順(1位・2位…)に当選者が並びます。結果はコピーして議事録や連絡文にそのまま貼り付けられます。もう一度押せば引き直しになります。
仕組みと考え方
抽選の公平さは、乱数の質と選び方の手順の両方で決まります。本ツールは乱数に Web Crypto API の crypto.getRandomValues() を使っています。JavaScript で手軽に使える Math.random() は、処理系によっては内部状態を推測できる疑似乱数で、当選者の決定のような「後から結果を説明する必要がある用途」には向きません。暗号用途の乱数源を使うことで、次に誰が当たるかを事前に計算することができないようにしています。
乱数のバイト列から「0以上、候補数未満の整数」を作るとき、単純な剰余(余り)で丸めると偏りが生まれます。たとえば候補が3件のとき、32bitの整数を3で割った余りを取ると、割り切れない端数のぶんだけ0と1が2よりわずかに出やすくなります。件数が少ないうちは差もわずかですが、「リストの上の方が当たりやすい」という性質がツールに残ることになります。本ツールは、偏りを生む範囲の乱数値を捨てて引き直す方法(拒否サンプリング)でこれを取り除いています。
重複なしの抽選では、引いた候補をリストから取り除いてから次を引きます(部分的なフィッシャー・イェーツのシャッフル)。「引いてみて既に当たっていたら引き直す」という方式ではないため、当選数が候補数に近い場合でも処理時間が伸びず、同じ候補が二度選ばれることが仕組みとして起こりません。当選数と候補数が同じときは、結果は全候補の並べ替え、つまり順番決めとして使えます。
処理はすべてお使いのブラウザ内で行われます。貼り付けた名簿が当サイトのサーバーへ送信されることはなく、当社が閲覧・保存することもありません。社内の名簿や応募者リストのように外部へ出したくないデータでも、そのまま貼り付けて構いません。
使いどころ・注意点
- 当選数を候補数と同じにすると、全員が1回ずつ並ぶ「順番決め・席順決め」として使える。
- 同じ人を複数口で応募させている抽選では、その人の名前を口数ぶんの行として貼り付けると当選確率に反映できる(重複当選を許可しない場合、当たるのは1回まで)。
- 「同じ内容の行をまとめる」を有効にすると、名簿の重複登録による二重当選を防げる。逆に上の口数方式を使うときは無効のままにする。
- 結果は端末内で作られるだけで記録されません。抽選の証跡を残したい場合は、結果をコピーして議事録やチャットへ貼り付け、日時とともに保存してください。
- 厳密な公正性が求められる懸賞・法的な効力を伴う抽選では、第三者の立会いや監査可能な記録が必要になることがあります。本ツールの結果はその立会い・記録の代わりにはなりません。
よくある質問
貼り付けた名簿は送信されますか?
いいえ。抽選はすべてお使いのブラウザ内で実行され、入力内容が当サイトのサーバーへ送信されることはありません。ページを閉じると入力も結果も残りません。
同じ人が二度当たることはありますか?
既定(重複当選を許可しない)では起こりません。引いた候補をリストから取り除いてから次を引くため、仕組みとして重複が発生しません。ただし同じ名前を複数行に書いた場合、それらは別の候補として扱われます。
何件まで抽選できますか?
候補は10,000件、当選数は1,000件までです。これを超える規模の抽選では、表計算ソフトや専用のシステムをご検討ください。
同じ結果をもう一度再現できますか?
できません。毎回新しい乱数で抽選するため、同じ候補でも押すたびに結果は変わります。結果を残したい場合はコピーして保存してください。
本当にランダムですか?結果が偏っている気がします。
乱数はブラウザの暗号用乱数生成器(crypto.getRandomValues)を使い、剰余による偏りも取り除いています。少ない回数では偶然の偏りが目につくことがありますが、これは乱数である以上避けられない性質です。特定の候補が有利になる処理は入っていません。
当選者を1位・2位のように順位付けできますか?
できます。結果は引いた順に並び、複数当選のときは番号が付きます。1等・2等のように景品を割り当てる用途にそのまま使えます。