本サイトではアフィリエイト広告を利用しています
Excel で -1 か 1 のランダムに値を返す方法

Excel

[小ネタ]Excel で -1 か 1 のランダムに値を得る方法

今回は小ネタです。

Excel でくじ引きなど、単純なプラス・マイナスの値を作りたいとき、頭が二日酔いだとどうするか悩むことがあります。

Excel の Rand() 関数は0から1までのランダムな実数を発生させてくれます。

そこで、-1からまでの値を発生させたいときはどうするでべきでしょうか

-1からまでの値を発生


セルに「=RAND()*2-1」を入力します。
Rand() で発生させた数を2倍して1を引けば、-1より大きく1以下の実数がランダムに拾えます。

Excel -1から1までの値だけを発生

では、-1の値だけを発生させたいときはどうするでべきでしょうか

-1の値だけを発生


セルに「=Randbetween(-1, 1)」を入力します。
-1, 0, 1 の3タイプの数字がランダムに返ります。

Excel -1か0か1の値だけを発生

Randbetween(最小値, 最大値) は指定した範囲内の整数の乱数を返します。
最小値と最大値のところには、整数しか指定できません。つまり少数点を含む数字は指定できません。

Randbetween(最小値, 最大値) を Excel2003 以前のバージョンで使う場合は、ツールメニューのアドインをクリックし、アドイン画面の分析ツールにチェックをいれる必要があります。

では、-1の値だけを発生させたいときはどうするでべきでしょうか

-1の値だけを発生


セルに「=IF(RAND()<0.5, -1, 1)」と入力して、IFRandを組み合わせます
Rand で生成した値が 0.5 未満のときは -1 を返し、それ以外は 1 を返します。

Excel -1か1の値だけを発生

では、、または-1の値だけを発生させたいときはどうするでべきでしょうか

、または-1


セルに「=IF(Rand() < 0.5, 0, 1)」と入力して、IFRandを組み合わせます
Rand で生成した値が 0.5 未満のときは 0 を返し、それ以外は 1 を返します。

Excel 0か1、または-1か0の値だけを発生

=IF(Rand() < 0.5, 0, 1)=IF(Randbetween(0,1) = 0, 0, 1) としても同じ結果が得られます。

-1の値だけを発生させたいときは

=IF(RAND() < 0.5, -1, 0) などとすると、うまくいきます。

[ネタ]プラス(+)かマイナス(-)をランダムに発生させたい

この章はネタです。二日酔いでボケて Excel するときは、頭でっかちの恥ずかしい式を書かないように、私の失敗から学ぶ、そのための教訓です。

値にある数字をプラスするか、マイナスするかランダムに行いたいときは、以上の知識を踏まえて以下のようにします。

プラス(+)かマイナス(-)をランダムに発生


セルに「=(-1)^(IF(RAND()<0.5, 1, 2))」と入力して、IFRand()を組み合わせます
Rand() で生成した値が 0.5 未満のときは 1 を返し、それ以外は 2 を返します。

マイナス1の奇数乗は-1、偶数乗は1になることを利用しています。

=(-1)^(IF(RAND()<0.5, 1, 2))(-1)^ の部分は不要です。=IF(RAND()<0.5, -1, 1) を使えば、-1か1しか返りませんので、これだけで大丈夫です。=IF(Randbetween(-1,1) < 0, -1, 1)) としても、ほぼ同じ意味になります。
変に数学の知識に取り憑かれると、恥ずかしい式を書いていたりしますので要注意です。

全部、Rand() 絡みのコードに過ぎません。偏見ですが、Randbetween(最小値, 最大値) より、Rand() を使いこなすほうが賢く見えます。


Excel にテスト入力して、思った数字になるかどうかは、F9再計算して何度かテストしてください。

以上、下手を打たないための小ネタでした。

関連記事
エクセル ランダム
[VBA]Excel でランダム抽出するマクロ

かつて予想外に速攻作成に悩んだのが、Excel VBA で一覧からの無作為(ランダム)抽選です。ランダムは追求すると難し ...

続きを見る

関連記事
excel-mod-sumproduct
[Excel]1つ飛ばしでセルを合計する小ネタ

Excel を使っていると、セルを飛ばし飛ばしで合計を出したいときがよくあります。その方法は様々ですが、今回は私がよく使 ...

続きを見る

関連記事
VBA Randomize 基礎知識
Excel VBAで数値をランダム化する方法と基礎知識

かつてはPCでデタラメな数を生成することは、厳密には難しいことだったのですが、最近ではかなり巧妙に、二度と再現できないよ ...

続きを見る

関連記事
エクセル ランダム・ペア
[EXCEL]エクセルで楽にランダムペアを割り当てるには?

今回はEXCELの小ネタです。 本ページはこんな方におすすめ VBA 無しでランダムペアを組みたい 口頭で説明できるレベ ...

続きを見る

-Excel
-, ,