Connection Information

To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

Connection Type

[小ネタ]Excel で -1 か 1 のランダムに値を得る方法 - ネーテルス [小ネタ]Excel で -1 か 1 のランダムに値を得る方法 - ネーテルス
本サイトではアフィリエイト広告を利用しています
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
-, ,