ラベル randarray関数 の投稿を表示しています。 すべての投稿を表示
ラベル randarray関数 の投稿を表示しています。 すべての投稿を表示

4/23/2026

Excel。重複なしのランダム数値を1つの数式だけで作る方法【rand】

Excel。重複なしのランダム数値を1つの数式だけで作る方法

<SORTBY関数+SEQUENCE関数+RANDARRAY関数>

重複なしのランダム数値を、RAND関数とRANK.EQ関数を組み合わせた方法を、以前紹介しました。


今回は、もっと簡単に、数式1つだけで、重複梨のランダム数値を求めてみましょう。


使う関数は、SORTBY関数とSEQUENCE関数とRANDARRAY関数だけで求めることができます。


A1に数式を設定します。

=SORTBY(SEQUENCE(9), RANDARRAY(9))


確定するだけで、1~9までの数値が重複することなく、ランダムで求めることができました。


では、数式を確認します。


先に、引数から確認しておきましょう。


SEQUENCE(9)は、1から9までを連番で求めることができます。


なので100までの数値をランダムにしたい場合には、SEQUENCE(100)とします。


RANDARRAY(9)は、ランダムの値(小数)を9個求めることができます。


C1には、

=SEQUENCE(9)

で、連番が、

D1には、

=RANDARRAY(9)

で、ランダムの数値を求めています。


この2つをつかって、SORTBY関数で並べ替えをします。


SORTBY関数ではなくて、SORT関数だとエラーが表示されてしまうので、注意が必要です。


SORT関数の最初の引数は、列番号しか受け取れないのでエラーがでます。


SORT関数は、数字(1列目)で、SORTBY関数は、範囲(A1:A10)を設定します。

そのため、SORTBY関数をつかいます。


SORTBY関数の最初の引数は、「範囲」。ここにSEQUENCE関数で1から9の値を作ります。


2つ目の引数は、「基準配列1」。

並べ替えの基準になる範囲です。

RANDARRAY関数で求めた数値を昇順で並べ替えています。


これで、ランダムの数値を重複することなく作ることができるというわけです。

1/02/2026

Excel。RANDARRAY関数は乱数の配列を返す関数です。【RANDARRAY】

Excel。RANDARRAY関数は乱数の配列を返す関数です。

<関数辞典:RANDARRAY関数>

RANDARRAY関数

読み方: ランドアレイ  

読み方: ランダムアレイ

RANDARRAY関数

分類: 数学/三角 

RANDARRAY([行],[列],[最小],[最大],[整数])

乱数の配列を返す 

4/02/2025

Excel。ダブらないで1から10までをランダムで並べるにはどうしたらいい

Excel。ダブらないで1から10までをランダムで並べるにはどうしたらいい

<SORTBY+SEQUENCE+RANDARRAY関数>

参加者名簿があります。

ダブらないで1から10までをランダムで並べるにはどうしたらいい

C列の順番には、1から参加者数の10人分である10までの数値をランダムで並べたい。


しかも、1が2回登場するようなことがないように、つまり重複しないようにしたいわけです。


今回は10名なので、自力で振り分けることもできますが、件数が多くなれば、とても大変な処理になってしまいます。


何かいい方法は、ないのでしょうか。


そこで、C2に次の数式を設定してみます。

=SORTBY(SEQUENCE(10),RANDARRAY(10))


この数式で、1から10までの数値をランダムで並べ替えることができました。


使用している関数は、スピル機能対応なので、絶対参照や、オートフィルで数式をコピーする必要はありません。


この数式がどのように動くことで、1から10までの数値をランダムで並べることができるのか、関数を確認していきます。


SORTBY関数は、並べ替えをする関数です。


最初の引数は、「配列」。

2つ目の引数が「基準配列1」なのですが、それぞれ関数をつかっていますので、最初の引数で使用している


最初の引数を使用している関数は、SEQUENCE関数です。連番を作る関数です。

SEQUENCE(10) で、1から10までの連番を設定することができます


まず、重複しない1から10の数値を用意することができました。


この数値をランダムで並べ替える必要があるわけです。


そこで、RANDARRAY関数をつかって、乱数を発生させます。

小数の乱数を発生するので、算出結果が重複することは、まずありません。


この2つの関数をつかって、1から10までをランダムで並べ替えた順番をつくることができたというわけです。


なお、セルをアクティブなどするたびに、再計算されます。


説明の都合で、C列の順番を作成した後に、F列をつくっています。

そのため、F列の結果とC列の結果は合致しませんので、ご了承ください。

10/11/2023

Excel。最新関数で、手早く重複なく整数をランダムで表示したい。【integer】

Excel。最新関数で、手早く重複なく整数をランダムで表示したい。

<SORTBY+SEQUENCE+RANDARRAY関数>

整数の数値をランダムで表示したい。


しかも、重複しないようにしたい場合、Microsoft365やExcel2021で登場した3つの関数を使うことで、手早く算出することができます。

重複なく1~10までの数値をランダムで表示

今回は、1~10までの整数とします。


A1に次の数式を設定します。

=SORTBY(SEQUENCE(10),RANDARRAY(10))


これで、重複しないで1~10の数値をランダムで表示することができます。

今までは、RAND関数で一度、ランダムの数値を算出して、その数値の順位を算出する。

その後、RANK.EQ関数をつかって、重複しないランダムの数値をつくっていました。


手間が結構かかったわけですね。

ところが、一つの数式で、算出できるようになったというわけです。


SORTBY関数とSEQUENCE関数とRANDARRAY関数で、算出することができるようになりました。


では、

=SORTBY(SEQUENCE(10),RANDARRAY(10))

の仕組みを確認しておきましょう。


SORTBY関数は、範囲内にある値を並べ替えする関数です。

最初の引数は、「配列」です。SEQUENCE関数をつかって、1~10の値をつくります。


SEQUENCE(10)とすることで、行ごとに1から10の数値を算出してくれます。

これで、1~10の範囲を得ることができます。


2つ目の引数は、「基準配列1」です。並べ替えを行うための基準です。

ここに、RANDARRAY関数をつかって、ランダムの数値をつくり、基準とします。


SORTBY関数とSEQUENCE関数とRANDARRAY関数は、スピル機能に対応した関数なので、オートフィルで数式をコピーする必要はありません。

そのため、A1に数式を設定するだけで済みます。


今回紹介した、SORTBY関数とSEQUENCE関数とRANDARRAY関数をはじめとして、新しい関数が色々追加されています。


確認してみると、可読性の高い数式に修正することができるかもしれませんね。

7/06/2022

Excel関数辞典 VOL.65。RAND関数~RANDBETWEEN関数【dictionary】

Excel関数辞典 VOL.65。RAND関数~RANDBETWEEN関数

<Excel関数>

今回は、QUARTILE.INC関数~RADIANS関数までをご紹介しております。

RAND関数

読み方:ランド

読み方:ランダム

RAND()

0以上1未満の範囲で乱数を発生させる 



RANDARRAY関数

読み方:ランドアレイ

読み方:ランダムアレイ

RANDARRAY([行],[列],[最小],[最大],[整数])

乱数の配列を返す 



RANDBETWEEN関数

読み方:ランダム ビトウィーン

読み方:ランドビトウィーン

RANDBETWEEN(最小値,最大値)

指定した範囲で整数の乱数を発生させる 


Excelには、乱数を発生することができる、関数があります。

RANDARRAY関数は、Excelのバージョンによっては、無い場合もあります。

2/28/2020

Excel。RANDARRAY関数は、行列いっぺんに大量のサンプルデータをつくれます【RANDARRAY】

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に追加されていますので、確認してみると、意外と使えるものがあるかもしれませんね。