エクセルで乱数をゲットしたいんだけど??
こんにちは!この記事を書いてるKenだよ。変換は使いようだね。
母集団から標本を選ぶときって、
無作為(ランダム)に選ばないといけないよね??
無作為に抽出する方法はいくつあって、
乱数さいを振ったり、
乱数表を使ったりするよ。
そうすれば、ランダムな数字が得られて、無事に標本を取り出すことができるんだ。
だけどね、しかし、ね。
ぶっちゃけ、こいつらの方法は、
めんどい。
サイコロ買わないといけないし、乱数表とか目が疲れそうだし。
えっ。
もっと簡単に乱数(ランダムな数)をゲットする方法はないのかって??
じつはあるんだ。
それは、
エクセルを使って乱数を得る方法
だ。
1~100までの数字をランダムに作る方法を勉強していこう。
Googleスプレッドシートで軽く練習してみるといいよ。
エクセルで乱数を2秒でゲットする方法
1秒ぐらいでエクセルで乱数をゲットできる方法。
それは、
= INT(RAND()*100)+1
とエクセルのセルに打ち込む方法だ。
試しに、Googleスプレッドシートに入力してみると、
うわっ。
31っていうランダムな数字が得られてる!
しかも、1~100までにおさまってるじゃん?
超便利だな、この呪文・・・・・・
なぜ1から100の乱数がエクセルでゲットできたのか?
でもさ、この呪文、
便利すぎて怖いよね??
ちょっとあまりにもうまく行きすぎだから、
なぜ、INT(RAND()*100)+1 で乱数が得られたのか?
をみていこうか。
RAND関数で乱数ゲット
まず最初は、
RAND ()
に注目してほしい。これは、
0以上で1より小さい数字をランダムにゲットできる関数
なんだ。
試しに、エクセルに「=RAND()」って入れてみると、
0.0252561728
って感じで0以上で1より小さい数字が出てくるね。
100をかける
つぎに、その後ろの「*100」は「×100」って意味。
さっきの「0以上1より小さい数字」を100倍してるってわけ。
すると、
あら、
今度は0以上で100より小さい数が出てきた!
それもそのはず。
0以上で1より小さい数字が出てくる関数を100倍してるからね。
あっ、でも小数点とかうざいな・・・・
INT関数で切り捨てる!
つぎに出てくるのが、
INT関数
っていうエクセルの関数だよ。
これは、
ある数値を「一番近い整数」に切り捨ててくれる関数なんだ。
たとえば、3.14っていう数字をINT関数に入れてみると、
3
になるね。
だから、この INT関数を使ってやると、
RAND()*100
でうざかった小数点以下の数字を消し去ることができるんだ。
試しに、
=INT(RAND()*100)
を入れてみると、
おおー!
うざい小数点以下消えてる!
これで乱数ゲットできたんじゃないかな・・・・
最後に1を足す
いや、まだ早い。
じつは、
=INT(RAND()*100)
に1を足さないと1~100までの数をランダムにゲットできないんだ。
なぜなら、
RAND関数で得られる数字は「0以上で1より小さい」だったからね。
それを100倍したら、
0以上で100より小さい数
になっちゃう。
つまり、
0が出てきちゃう可能性あるし、100は絶対に出てこないってことになっちゃう。
これに1を足してやると、
0が出てくる心配はないし、100が出てきてくれるようになるよ。
最後に1を足すのを忘れずに!
これでエクセルで1から100の乱数を得られるようになったね。
もっと簡単にエクセルで乱数を求められるって?!
ここまで、
=INT(RAND()*100)+1
っていう謎の呪文を解説してきたけど、じつは、
もっと簡単に乱数を得られる関数がエクセルに存在しているんだ。
それは、
RANDBETWEEN関数
ってヤツ。
ちょっと名前が長いけど、RANDBETWEEN()のカッコの中に、
=RANDBETWEEN(最小値, 最大値)
って書いてあげると、
最小値から最大値までの範囲内の乱数が出てくるんだ!
ためしに、
= RANDBETWEEN(1, 100)
って入れてみると、
うわっ!
7っていう乱数が得られてる!
こりゃ便利すぎるぜ!
まとめ:エクセルなら2秒ぐらいで乱数をゲット
エクセルで乱数を得る方法はどうだった?
1から100の乱数をゲットする方法は2つあったね。
- =INT(RAND()*100)+1
- =RANDBETWEEN(1, 100)
どちらか好きな方をエクセルのマスに入れてみてね。
きっと望み通りの乱数が出てくるはずだ。
そんじゃねー
Ken