はじめに
ExcelではRAND関数を使ってランダムな数(乱数)を発生させることができます。
Excelの関数がいつも違う数値を返すというのは違和感があるかもしれませんね。
この記事では、そんな特徴的なExcel関数に擬人化キャラクターとして登場してもらって、その機能を解説します!
エクセル関数擬人化 RANDちゃん
登場人物紹介

キュウです。
経理初心者、エクセルは学校で少し触ったことがある程度です。
早く知識を身に着けて役に立てるようになりたいです!

シノです。
簿記の資格を持っていて、経理歴数年程度です。
経理業務をやっている内に、エクセルに夢中になってしまいました!

キュウさん、名簿の中から食事会の幹事を1人選出してもらえますか?


えっ…わかりました、シノさんの好きなタイミングでストップと言ってください。

カーソルを上下に動かして…!?
これはこれで楽しそうですけど、こういう場面で活躍する関数ちゃんを紹介しちゃいましょう。

Excelの関数ってそんな不規則、変則、ランダムみたいなことできるんですか!?

できますよ。

いったい誰なんですかアナタは!?


私はRAND。
信仰の力で先程貴方が仰ったような不規則を生じさせることができます。

もう少しわかりやすく言うと、0以上で1より小さい乱数を発生させるのがRANDちゃんの特技です。

Excel関数なのに、何が返るかわからないって・・そんなのアリなんですか?

まあまあ、とにかくRANDちゃんの活躍を見てみましょう!

<例で使用している数式>
=RAND()

ほんとうに数式は同じなのに、バラバラの数字が表示されてますね。
それと、引数は要らないんですね。
「()」になっています。

私に宿る信仰の力、それさえあれば引数は必要ありません。

人をランダムに選出するのに、どう役立てれば良いのでしょう。

セルに現れるランダムな数値があるとき、どのセルが一番大きな数値になるかもまた、ランダムだとは思いませんか?

たしかに…それなら、一番大きな数字と同じ行の人を選出すればいけそうです!

そのための順位付けはRANK関数を使いましょう。
指定した数値が、指定した範囲の中で何位なのかを返してくれます。

<例で使用している数式>
=RAND()
=RANK(C4,$C$4:$C$13)

あとは順位が1になっているセルを探して、そこから左にある氏名を表引きすれば!
ということはVLOOKUPちゃんの出番…

ではないのよね~。
検索値よりも左側の値が欲しいときは、私達に任せるといいわ!

XLOOKUPちゃんでもできますけど、今回は私達にお任せください。


これで選ばれし者が明らかになりましたね。

ありがとうございます!

RANDちゃんが返す数値は再計算のたびに変化するので、結果を示したい場合は値貼り付け、PDFや紙への印刷で固定してあげましょう。

保存して、人に見せるために開くと結果がまったく別のものだった…なんてことになっちゃうんですね。
気をつけます。
ランダムに複数名を選出する

次は応用編です! 展示会に行くメンバーを3人選出してみましょう!


さっきと同じようにRANDちゃんでランダムな数値を表示して…

<例で使用している数式>
=RAND()

ランダムな数値にランク付けをして…

<例で使用している数式>
=RAND()
=RANK(C4,$C$4:$C$13)

1位から3位の人を選出メンバーにします!

<例で使用している数式>
=RAND()
=RANK(C4,$C$4:$C$13)
=INDEX($B$4:$B$13,MATCH(1,$D$4:$D$13,0),0)
=INDEX($B$4:$B$13,MATCH(2,$D$4:$D$13,0),0)
=INDEX($B$4:$B$13,MATCH(3,$D$4:$D$13,0),0)

3名に神のご加護がありますように。

でもこれ本当に計算される度にコロコロとメンバーが変わってしまって、どのタイミングで確定すれば良いものか…

それは自分で決めるしかないですね。

自分を信じるのです。
まとめ
今回はランダムな数値を発生させる関数ちゃん、RANDちゃんを紹介しました。
同じ数式が、毎回異なる結果を返すことが私にはなかなか受け入れられませんでした。
そもそも引数が必要ない関数は関数なのでしょうか、そんなところにまで思考が飛躍します。
しかし私のこんな悩みなんて、きっと神の前ではちっぽけなことなのでしょう。
コメント