いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)ロトの買い目をランダムに生成する

 Googleスプレッドシートでロト(宝くじ)の買い目をランダムに作成する、つまりクイックピックを自分でやってみる例です。

  • SORTN関数やRANDARRAY関数等を使ってロトの買い目をランダムに生成することができます。

手順

ミニロトの場合

f:id:accs2014:20210223125211p:plain:right:w600

 まずは簡単に1から31までの整数から重複しない5つをピックアップする例です。
 画像はB3セルに次のように入力した結果です。

 B3セル

=SORTN(SEQUENCE(31),5,0,RANDARRAY(31),)

 SORTN関数を使っています。
 第1引数として「SEQUENCE(31)」、つまり1から31までの整数を指定しています。
 一方で第4引数を「RANDARRAY(31)」、つまり0~1までの31個のランダムな数値を指定しています。
 この第4引数を基準として第1引数を並べ替えることで1から31までの整数をランダムに並べ替え、さらに第2引数(ピックする数値の個数)を「5」とすることで最初の5つを抽出しています。結果的に1から31までの整数のうち重複しない5つをランダムに抽出した結果が得られます。
 なお第5引数(昇順降順)は指定しなくても結果に影響しないので省略しています。ちなみに第3引数(同一値が存在するときの抽出基準)の「0」も既定値ですので省略可能です。 
 

f:id:accs2014:20210223125215p:plain:right:w600

 ここではさらにSORT関数で結果を昇順に並べ替え、TRANSPOSE関数で数値が横に並ぶように表示しています。

 B3セル

=TRANSPOSE(SORT(SORTN(SEQUENCE(31),5,0,RANDARRAY(31),)))

 

f:id:accs2014:20210223125219p:plain:right:w600

 ここでは上記の式を下方にコピーし、10種類の買い目を生成しています。

ロト6の場合

f:id:accs2014:20210223125222p:plain:right:w600

 B3セルに次のように入力し、下方にコピーした結果です。
 10種類の買い目が生成されています。

 B3セル

=TRANSPOSE(SORT(SORTN(SEQUENCE(43),6,0,RANDARRAY(43),)))

 SEQUENCE関数とRANDARRAY関数の引数をそれぞれ「43」とし、SORTN関数の第2引数(ピックする数値の個数)を「6」としただけで、あとは上記のミニロトの例と同じです。

ロト7の場合

f:id:accs2014:20210223125226p:plain:right:w600

 B3セルに次のように入力し、下方にコピーした結果です。
 ここでも10種類の買い目が生成されています。

 B3セル

=TRANSPOSE(SORT(SORTN(SEQUENCE(37),7,0,RANDARRAY(37),)))

 SEQUENCE関数とRANDARRAY関数の引数をそれぞれ「37」とし、SORTN関数の第2引数(ピックする数値の個数)を「7」としただけで、あとは上記のミニロトの例と同じです。