EXCELの関数で問題解決

[EXCEL]エクセルで抽選RANDBETWEEN関数

抽選の応募時に「厳正なる抽選により」との表記をよく見ますが方法は決まっているのでしょうか?

「抽選の実施方法」「厳正な抽選の根拠」については法律で定められていないそうで、実施側の都合で行っても問題ないということです。

やり方としては
1)抽選箱やサイコロを使う「手作業」
2)コンピュータを使う
の2種類があり、いずれも弁護士などの「第3者」同席で行われることが多いそうです。

「コンピュータを使う」場合、市販のソフト等をまず思い浮かべる方は多いと思いますが、エクセルでも同様に抽選は行えるのでご紹介します。

たくさんのデータ(応募者)から当選者を無作為に抽出するためには「乱数」を利用するのですが、抽選ソフトはコンピュータが発生させた「乱数」を基に抽選を行います。エクセルの関数で発生させる「乱数」も全く理屈は同じなので、自作は充分可能で「厳正なる抽選により」という文言も堂々と謳える、ということです。

エクセル2010以降のバージョンでRANDBETWEEN関数が登場し、指定した範囲で整数の乱数を発生させることができるようになりました。これなら加工も不要、エクセル向きなので乱数が必要な場面で活躍の機会も増えるはずです。

理解しやすいよう「RANDBETWEEN関数でできること」ではなく、「厳正な抽選を行うためにRANDBETWEEN関数を利用する」という解説をします。おみくじは公平でなくてはなりません、その意味ではコンピュータが出す乱数はまったく規則性が無く公平です。エクセルおみくじ作りを体験して業務改善のヒントとしてください。

エクセルは道具、シンプルに考えながら焦らず、階段を上がるように1つ1つ解決して行くようにしましょう。「目の前の実務を解決」することをくり返すうちに、解決手法の引き出しも整理されて行くはずです。

抽選をRANDBETWEEN関数で行う

最小値~最大値が指定できるRANDBETWEEN

RANDBETWEEN(最小値,最大値)

指定した範囲で一様に分布する整数の乱数を返します。

応募者一覧から抽選で当選者を「エクセルシート上で決定したい」ので、このようなシートを作成しました。(実際には応募者は何千名以上でも同じ方法です)

まず当選者の表示部分

①「当選NO」が決まったときに氏名等が表示するようにしておきます。セルC3へ「=VLOOKUP($B3,$B$7:$E$16,2,0)」と入力します。

②セルC3の「VLOOKUP式」をセルE3までコピーします。(表示列は適宜調整します)

乱数で抽選を行う

③RANDBETWEEN関数を使って、当選番号を抽出します。サンプルは応募者が10名なので、セルB3へ「=RANDBETWEEN(1,10)」と入力します。

抽選実施 当選者決定のタイミング

「ブックを読み込んだ時」「どれかセルを編集した時」に乱数が更新され、おみくじが引き直されます。

ブックが開いている時は [F9] ボタンを押した瞬間ブックの全シートを再計算しますので、乱数も更新され、あらためて「おみくじを引く」ことになります。

せーのっ [F9] といった操作になります。

EXCEL屋 無料活用術その1

働き方改革の名の元、業務時間の短縮を指示されるのに、現場からの無理難題は増える一方!もう投げ出したい(泣)、、、そうなる前に【EXCEL屋】で検索!
まずはコチラをブックマーク

EXCEL屋 無料活用術その2

業務現場で「本当に」役立つEXCEL活用術をメールでお届けします。もちろん無料!
登録はコチラ

EXCEL屋 無料活用術その3

検索したり、いろいろ頑張ったけど、どうしても解決できない問題を【EXCEL屋】が解決します。「成功事例」として記事化OKの場合は「解決料無料!」
コチラから課題をお知らせください