EXCEL でRANDARRAY関数の活用方法を考えてみた。

EXCEL 365で、RANDARRAY関数が提供されましたので、使ってみました。

基本的に乱数の関数なので、ビジネスシーンでの登場よりゲームや無作為抽出でのシーンでの使用になるかと言えます。

引数
RANDARRAY(行,列,開始数,終了数,整数か否か)
整数か否か・・・True(整数)、False(小数点含む10進数)

3×3の配列で、1から10までの整数を発生させてみました。

9マスで均等に乱数が算出されれば問題ないですが、重複が発生することがあることでもあります。この重複がないのがいいのですが、、、

今回、2と3が3個発生ということになりました。

 


この関数・・・使い道(活用方法)を考えてみました。

今まで、RAND関数は、単一セルにしか使用できなかったのが、配列になることで、配列を活用することで、座席表くじができそうです。

36人(6行×6列)座席表をくじにしてみました。
1.B3セルに0から1までの小数点以下を含む数値を発生させます。
=RANDARRAY(6,6,0,1,FALSE)

2.RANK関数で、このセルは配列の中で何番目かを求めます。小数点以下第5位まで発生しているので、ほぼ一意(重複していても適当にEXCELで対応)になると言えます。
各セルごとに設定します。
A11セルの例
=RANK(B3,$B$3:$G$8,1)

3.すべて指定すると、以下のような表示になります。
1から36まで、重複しないで採番できました。今回、行列がきっちりした数ですが、6行目が3列までしかない場合でも、空欄の扱いが面倒なのでこの方法で行い、無い座席に対して欠番再抽選という方法がいいのでは。。。
ーーー
トーナメント表のくじ引きもできそうです。

EXCEL シートで以下の設定を行います。
今回は、1行で16列で0から1までの少数点以下を発生させています。

RANK関数でこの配列の中での順位を求めます。

RANDARRAYの行を非表示にして、図形を組み合わせると、以下のようなトーナメント表ができます。

ーーー
注意点
シートを更新する操作をすると、この数値は再計算(リセット)されるので、使用したいタイミングで、印刷もしくはPDF化する必要があります。
さっきの表が欲しい・・・発生数にもよりますが、2度と同じ状態で表示されないと言えます。

上部へスクロール
Verified by MonsterInsights