Excel。RANDARRAY関数は、行列いっぺんに大量のサンプルデータをつくれます
<RANDARRAY関数・RAND関数・RANDBETWEEN関数>
サンプルデータを作るときに、便利な関数が増えました。それが、RANDARRAY関数。Office365 Insiderで追加された新関数です。
通常ではあまり使うことはないかもしれませんが、大量なサンプルデータをつくるには、もってこいの関数です。
いままでだと、RAND関数や、RANDBETWEEN関数を使ってサンプルデータをつくっていましたが少々面倒だったのです。
例えばRAND関数ですが、0~1までの小数をランダムで発生することができる関数です。
確かに小数なのでほぼ一致しない数値を算出しないので、重複にならないサンプルデータを作る場合には都合がいいのですが、小数なので、どうやって整数化するのか、RANK.EQ関数で整数化するなど、あの手この手を使う必要が発生します。
そのため、大量のサンプルデータを作るには、少し不向きでした。
A1には、
=RANDBETWEEN(1,3)
という数式が設定してあります。
今回は、1~3までの整数値をランダムで発生する設定にしてあります。
このRANDBETWEEN関数は、指定した範囲の整数値を算出してくれますが、オートフィルで数式をコピーするために、行か列の一方向にしか、数式をコピーすることができません。
そこで、新しくサンプルデータを作る関数『RANDARRAY関数』は、行も列も引数内で設定できる。
しかも整数か小数かも選択することができる便利な関数なのです。
それでは、RANDARRAY関数を使ってみましょう。
RANDARRAY関数は、直接入力して作成するほうが作成しやすいと思いますので、今回はダイアログボックスではなくて、直接関数を入力していきます。
RANDARRAY関数の引数は、行・列・最小・最大・整数と5つ用意されています。
今回は、1~100までの整数を2行5列の10個のサンプルデータを作ってみます。
行には、2
列には、5
最小には、1
最大には、100
整数には、TRUE。整数値を選択します。
数式を確定すると、Office365 InsiderのExcelには、スピルという機能が追加されていますので、オートフィルで数式をコピーする必要もなく、自動的に、2行5列の表内でサンプルデータを作成してくれました。
A1の数式は、
=RANDARRAY(2,5,1,100,TRUE)
A2の数式も、
=RANDARRAY(2,5,1,100,TRUE)
となっていますが、数式バーの数式をみると、文字の色がグレーになっていますよね。
このグレーが、スピルで対応したということがわかるようになっています。
偶然ですが、今回は、B1とC1の結果が同じになっています。
RANDARRAY関数も当然のことながら、重複しますので、重複を避ける場合には、小数にしてRAND関数同様に、思考する必要があります。
最近、色々と新しい関数や機能をExcelに追加されていますので、確認してみると、意外と使えるものがあるかもしれませんね。