Excel
[小ネタ]Excel で -1 か 1 のランダムに値を得る方法
今回は小ネタです。
Excel でくじ引きなど、単純なプラス・マイナスの値を作りたいとき、頭が二日酔いだとどうするか悩むことがあります。
Excel の Rand()
関数は0から1までのランダムな実数を発生させてくれます。
そこで、-1から1までの値を発生させたいときはどうするでべきでしょうか
セルに「=RAND()*2-1」を入力します。
Rand()
で発生させた数を2倍して1を引けば、-1より大きく1以下の実数がランダムに拾えます。
では、-1か0か1の値だけを発生させたいときはどうするでべきでしょうか
セルに「=Randbetween(-1, 1)」を入力します。
-1, 0, 1 の3タイプの数字がランダムに返ります。
Randbetween(最小値, 最大値)
は指定した範囲内の整数の乱数を返します。
最小値と最大値のところには、整数しか指定できません。つまり少数点を含む数字は指定できません。
Randbetween(最小値, 最大値)
を Excel2003 以前のバージョンで使う場合は、ツールメニューのアドインをクリックし、アドイン画面の分析ツールにチェックをいれる必要があります。
では、-1か1の値だけを発生させたいときはどうするでべきでしょうか
セルに「=IF(RAND()<0.5, -1, 1)」と入力して、IF
とRand
を組み合わせます
Rand
で生成した値が 0.5 未満のときは -1 を返し、それ以外は 1 を返します。
では、0か1、または-1か0の値だけを発生させたいときはどうするでべきでしょうか
セルに「=IF(Rand() < 0.5, 0, 1)」と入力して、IF
とRand
を組み合わせます
Rand
で生成した値が 0.5 未満のときは 0 を返し、それ以外は 1 を返します。
=IF(Rand() < 0.5, 0, 1)
は =IF(Randbetween(0,1) = 0, 0, 1)
としても同じ結果が得られます。
-1か0の値だけを発生させたいときは
=IF(RAND() < 0.5, -1, 0)
などとすると、うまくいきます。
[ネタ]プラス(+)かマイナス(-)をランダムに発生させたい
この章はネタです。二日酔いでボケて Excel するときは、頭でっかちの恥ずかしい式を書かないように、私の失敗から学ぶ、そのための教訓です。
値にある数字をプラスするか、マイナスするかランダムに行いたいときは、以上の知識を踏まえて以下のようにします。