Excel でテストデータを作成する

最近、MS-Office に触れる機会がめっきり増えました。
新規開発のテストでデータを作成する際、Excel に便利な関数が用意されていることを知ったのでご紹介します。

  • rand()
  • randbetween()

RAND 関数

RAND 関数はその名の通り、乱数を生成する関数です。
ここでの乱数とは「不規則な並び順の数字」を指します。

base on RAND 関数 - Office サポート

RAND では、0 以上で 1 より小さい実数の乱数を返します。 ワークシートが計算されるたびに、新しい実数の乱数が返されます。

## 書式
RAND()
RAND 関数の書式には引数はありません。

この RAND 関数は 1 未満の小数を生成します。
(説明に 0 以上とあるので、ちょうど 0 もあるようです ・・・ 見たことはありませんが)。

使用例

セル入力

=RAND()

※ RAND 関数には引数を指定できないので、上記の書き方しか出来ません。

結果

手元の環境で「=RAND()」を実行した結果、以下のようになりました。

  • 0.343775238

加えて、再計算を3度実行すると以下のようになりました。

  • 0.23115533
  • 0.664837087
  • 0.862942973

RANDBETWEEN 関数

RANDBETWEEN 関数は、さしづめ RAND 関数に開始値-終了値を指定できるようにしたものになります。

base on RANDBETWEEN 関数 - Office サポート

指定された範囲内の整数の乱数を返します。 ワークシートが再計算されるたびに、新しい整数の乱数が返されます。

書式

RANDBETWEEN(最小値, 最大値)

使用例

セル入力例

以下のようにすると、1 〜 9 の値を得ることが出来ます。

=RANDBETWEEN(1, 9)

※RANDBETWEEN 関数も RAND 関数同様に、再計算やブックを開くタイミングで再生成されます。

テストデータを作成する際は、以下のようにすると便利です。

=(1-(RANDBETWEEN(1, 9)/100))*A1

RANDBETWEEN で 1 〜 9 の値を生成した後に 100 で割って最後に 1 から引くと、ばらつきの小さな係数が出来上がります。
A1 に元となる値を入力しておけば、幅の小さなデータ群を得ることが出来ます。

後は、オートフィルで連続データを生成すれば、大抵のデータは作成できるのではないでしょうか。

RAND 関数は使いどころによっては便利だと思いますが、振れ幅が大きいので今回のテストデータ作成では使いませんでした。

結果

以下、上記式((1-(RANDBETWEEN(1, 9)/100))*A1)で生成した結果です。

  • 960
  • 940
  • 920
  • 910
  • 930