liquidjumper Googleスプレッドシート,アプリ/ネットサービス Googleスプレッドシート-ランダムに並べ替え、又は候補をランダムに並べる方法|範囲をランダム化

Googleスプレッドシート-ランダムに並べ替え、又は候補をランダムに並べる方法|範囲をランダム化

googleSpreadsheet_random_topimage

・ランダムにグループ分けをしたい
・月毎の担当者をランダムに指定したい
・くじ引きの順番をランダムに決めたい

Googleスプレッドシートでリストを作成する際に、「順番をどうしようか」とか「この人はこっちの組で良いのか」と悩む事はありませんか?

誰か代わりに考えてくれないかな、いっその事Googleスプレッドシートが勝手に決めてくれたら良いのに

機械的に入力するだけなら直ぐに終わる作業も、なにかしら考慮する必要がある内容だと、途端に作業効率が悪くなるというもの。

その様な場合に便利なのが”ランダム並べ替え”て入力する機能です。

Googleスプレッドシートがリストの順番を自動的に処理してくれるので、入力時に悩む必要もありません。

この記事では、Googleスプレッドシートのランダム機能を使って、セルに入力した要素の並べ替える方法、又、数式を使って要素の候補をランダムに取得し表示する方法を紹介したいと思います。




>>無塩ドットコム【減塩食品の通販】減塩調味料8点!!お買い得お試しセット 2,290円

Googleスプレッドシートで列の値をランダムに並べ替え

Googleスプレッドシートのセルに要素を入力後に、並びの順番をランダムに変える場合は

範囲をランダム化

を使用するのが簡単です。

下図の様に要素を並べた列の順番をランダムに並べ替えるには

Googleスプレッドシートで列の値をランダムに並べ替え


ランダムに並べ替えをしたい列の範囲を選択し、メニューから データ > 範囲をランダム化 をクリック

データ > 範囲をランダム化


セル範囲に入力された要素が、ランダムに並べ替えられました。
この「範囲をランダム化」は、クリックする度に並びが変わるので、納得する並びの順番になるまで何度か実行するのが良いでしょう。

納得する並びの順番になるまで何度か実行


列に並べた要素をランダムに並べ替えるのに便利な「範囲をランダム化」ですが、残念ながら行に並べた要素には対応していません

Googleスプレッドシートで行の要素をランダムに並べる場合は数式を使用します。


Googleスプレッドシートで使えるランダム関数

Googleスプレッドシートで乱数を返す機能を持ったランダム関数は下記の2つ。

・RAND()
・RANDBETWEEN()

どちらの関数も乱数を返す事に関しては同じですが、下記のような違いがあります。

・RAND():0以上1未満の乱数を返す
・RANDBETWEEN():指定した下限上限の整数の乱数を返す

候補にランダム関数で順番を決めて並べる

Googleスプレッドシートで行に要素をランダムに並べるには、要素の候補を用意して、その候補にランダムに順番を付ける事で可能になります。

“要素番号”と”要素”を一組にして並べ、RAND関数で乱数を生成、その生成した数字をRANK関数ランキング付け

あとはランキングの数字で、”要素番号”VLOOKUP関数で参照すれば、組になっている”要素“を取得できます。

“要素番号”と”要素”の組毎にRAND関数で乱数を生成

=RAND()


RAND関数で乱数を生成した数値の大小をRANK関数ランキング。順位数を返します。

=RANK(C2,$C$2:$C$6)


VLOOKUP関数に順位数と“要素番号”と”要素”の範囲を指定。ヒットした順位数と要素番号から要素を取得し表示します。

=VLOOKUP(D2,$A$21:$B$30,2,FALSE)


乱数の数値をランキング付し番号を参照。ヒットした番号の同行の要素(フルーツ名)を取得。
この数式を各セルにコピーしVLOOKUP関数の第一引数のセル番号を変更。これで要素を行にランダムに並べる事が可能になります。

乱数の数値をランキング付し番号を参照



RAND関数はシートを編集する度に乱数を生成してしまうので、結果を固定する場合は、セル範囲をコピーし 特殊貼り付け > 値のみ貼り付け 。これでシートを編集しても並びが変更されません。

セル範囲をコピーし 特殊貼り付け > 値のみ貼り付け


候補からランダムに取得して表示する

RAND関数で候補の要素に順番を付け、ランダムに並べる方法を紹介しましたが、この方法は候補の要素を重複なく並べる場合に有効です。

では、候補の要素を重複を無視して、ランダムに取得、並べる場合はどの様にしたら良いだけでしょう。

もう一つのランダム関数 RANDBETWEEN()  を使い要素の数以内で整数の乱数を生成。

生成した数字で、”要素番号”VLOOKUP関数で参照すれば”要素“を取得できます。

RANDBETWEEN関数に要素の数以内の値を指定。乱数を生成します。

=RANDBETWEEN(1,5)


VLOOKUP関数生成した数字“要素番号”と”要素”の範囲を指定。ヒットした数字と要素番号から要素を取得し表示します。

=VLOOKUP(RANDBETWEEN(1,5),$A$2:$B$6,2,FALSE)


生成した数字で要素番号を参照。ヒットした番号の同行の要素(フルーツ名)を取得。
この数式を各セルにコピーすれば要素を行や範囲にランダムに並べる事が可能になります。

生成した数字で要素番号を参照


RAND関数と同様にRANDBETWEEN関数もシートを編集する度に乱数を生成してしまうので、結果を固定する場合は、セル範囲をコピーし 特殊貼り付け > 値のみ貼り付け してください。


まとめ:Googleスプレッドシーでランダムに並べる

Googleスプレッドシートでランダムに並べ替え、そして候補をランダムに並べる方法を紹介しました。

・列に並べた要素をランダムに並べ替える場合は、「データ > 範囲をランダム化

・行や広い範囲でランダムに並べる場合は、ランダム関数 RAND関数RANDBETWEEN関数 で乱数を生成、VLOOKUP関数で参照し要素を取得。


グループ分けや席順など並びを考えるのは意外に一苦労。

順番がシビアな問題で無いものに関しては、自動的に処理して作業を効率化するのが良いでしょう。









𝕏 ( 旧Twitter ) Facebook Pocket LINE はてブ

おすすめの関連記事



あわせてよく読まれている記事