RAND関数はランダムな数値すなわち乱数を発生させるもので、「=RAND()」のように引数を取らない珍しい関数だ。これを用いると、誰でもちょっとしたゲームを簡単に作れる。

RAND関数 数学/三角関数
=RAND()
0以上で1より小さい実数の乱数を返す。ワークシートが再計算されるたびに、新しい乱数が返される。

乱数を発生させて大小を判定

 まずは下の図を見てもらいたい。A2:A5に「Excel」「大小」「どっち?」「勝敗」という見出しを持つ表を作った。B2にはRAND関数で乱数を発生させる。続くB3には、その乱数が「大」か「小」かを表示する。関数構造表に示したように、RAND関数が返す値は0以上1未満だ。この乱数を「大小」で二分するならば、「小」は「0以上0.5未満」、「大」は「0.5以上1未満」となる。この条件をIF関数で設定する。

B2に「=RAND()」と直接書いて[Enter]キーを押す。乱数が発生した。乱数はシートが再計算されるたびに発生する
[画像のクリックで拡大表示]

 さらに、B4はプレイヤーが「大」か「小」を予想するセルだ。「入力規則」を利用して、「大」「小」をリストから選べるようにする。最後はB5で、ここには予想が当たった場合に「あたり」、はずれた場合に「はずれ」を表示する。利用するのはもちろんIF関数だ。

 まず、B2にRAND関数を仕込む。「数式」タブからだと返って面倒だから、直接「=RAND()」と入力してしまおう。末尾部分は「(」(括弧)と入力し、続けて「)」(括弧閉じる)と入力する。[Enter]キーを押すと乱数が発生する。

 続いて、乱数に基づいて、その値が「大」か「小」を判定する。B3を選択したら「数式」タブの「論理」から「IF」を選ぶ。引数「論理式」にカーソルがあることを確認して、RAND関数を入力したB2を選ぶ。続けて「<」(小なり)と入力し、さらに「0.5」と入力する。これで「論理式」は「B2<0.5」となった。これは「B2の値が0.5未満ならば」を意味する。

B3にはIF関数を入力し、「論理式」は「B2<0.5」、「値が真の場合」は「小」、「値が偽の場合」は「大」と設定する
[画像のクリックで拡大表示]

 先に触れたように、乱数の値が0.5未満だと「小」に該当する。それなので、「値が真の場合」には「小」と入力する。また「小」以外だと必然的に「大」になるから、「値が偽の場合」には「大」と書く。以上の設定ができたら[OK]ボタンを押そう。新たな乱数が発生し、B3に「大」または「小」が表示された。

「OK」ボタンを押すと、乱数が再計算されて、B3に「大」または「小」が表示される。図では「B2」の値が「0.5」以上なので「大」と表示された
[画像のクリックで拡大表示]

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら