「乱数」とは、何が出るか予測がつかないランダムな数のことです。
現状はエクセル業務で使う場面は少ないかも知れませんが、たくさんのデータからサンプルデータを無作為に抽出したり、応募者リストの中から公平に当選者を選出する場合に、知っていればきっと重宝する案外便利な関数です。
毎日エクセルと格闘していながら、このRAND関数と出会わなかった方はたくさんおられると思います。RAND関数に限らず、エクセルの関数についての解説や検索タイトルがどれも「RAND関数とは」となっていることで、「RAND関数」の存在を知っている人だけが解説にたどりつけて、肝心の知らない人へ届いていないという「無意識のカベ」を作り出しているだけなのです。
エクセル解説は無数に存在しますが、解説側がこの「カベ」を作り出していることに気付いている解説者は残念ながら少ないようです。
今回は理解しやすいよう「RAND関数でできること」ではなく、「おみくじ作りにRAND関数を利用する」という解説をします。おみくじは公平でなくてはなりません、その意味ではコンピュータが出す乱数はまったく規則性が無く公平です。エクセルおみくじ作りを体験して業務改善のヒントに加えてください。
エクセルは道具、シンプルに考えながら焦らず、階段を上がるように1つ1つ解決して行くようにしましょう。「目の前の実務を解決」することをくり返すうちに、解決手法の引き出しも整理されて行くはずです。
↓ 簡単動画からご覧ください。
おみくじが作れるRAND関数
RAND()
0以上1未満の乱数を発生させます。再計算の度に書き替えられます。
RAND関数の動き
①セルB2へ「=RAND()」と入力すると、1未満の乱数が小数点で表示されました。

②整数表示させるために「=INT(RAND()*10)」と入力しました、INTは小数点以下を消去して整数化する関数です。結果は 0~9 となります。

③上の式では 0~9 であり、+1 すると 1~10 となります。

結果を 1~5 にしたい
おみくじは、大吉 吉 中吉 小吉 凶 の5段階です。
④整数部分を 1~5 にしたいので「=RAND()*5+1」とします。

⑤小数部分を消去したいので「=INT(RAND()*5+1)」とします。これで整数の 1~5 がランダムに取り出せます。

CHOOSE関数で文字に変換する
⑥セルB3へ「=CHOOSE(B2,”大吉”,”吉”,”中吉”,”小吉”,”凶”)」と入力します。セルB2に表示された 1~5 の値に応じた順位の「吉凶文字」が表示されます。

式をひとつにまとめる
CHOOSE関数の中へ、乱数発生の式を組み込みます。
⑦セルB2の式「=CHOOSE(INT(RAND()*5+1),”大吉”,”吉”,”中吉”,”小吉”,”凶”)」

更新のタイミング
「ブックを読み込んだ時」「どれかセルを編集した時」に乱数が更新され、おみくじが引き直されます。
[F9]ボタンでブックの全シートを再計算しますので、乱数も更新され、おみくじが引き直されます。
