鍵盤ハーモニカ奏者ピアノニマス公式ブログ~日本最大級の鍵盤ハーモニカ情報サイト~

鍵盤ハーモニカ奏者ピアノニマス公式ブログ~日本最大級の鍵盤ハーモニカ情報サイト~

Excelを使用した乱数の生成方法

 

前回はSPSSで乱数を生成し、業務中に独りでじゃんけんして遊べる簡易プログラムを組むという需要の全く感じられないライフハックをお届けした。今回はもっと簡単にExcelを使用して、簡易歌詞ジェネレータを作ってみたいと思う。

 

 

   歌詞ジェネレータとは…

例えば「松田聖子風・歌詞ジェネレータ」を作るとする。データベースに「ぬくもり」「きらめく」「いとしい」「あなたの」「抱きしめて」みたいな言葉がわんさか入力されており、それらをランダムに組み合わせて、いかにも松田聖子セルフで書きました風な配列を生成する!というおおよそ生産とは程遠い遊びである。

 

 

まず、Excelで単純に「0」か「1」をランダムに発生させる、あるいは特定の値の範囲内で(例:1100の中で)いずれかをランダムに表示させる。これらはとても容易である。

 

①はRAND関数で「0」か「1」を返すのだが、セルに「=RAND()」を入力し、値などは一切いれずにEnterを押下する。すると画面上の任意の場所でF2→Enterを押すだけで、「0」「1」がランダムに表示される。

 

 

 

さらに、②数字範囲を限定するには「=RAND()*(A-B)+B」を入力するだけで(Aが最大値、Bが最小値とする)OK1100の間で表示させたいのであれば「=RAND()*(100-1)+1」と記述すれば「65」「35」「19」「94といった具合に値が返される。

 

 

 

これでランダムに数字が生成される!と思いきや、本当にランダムなので同じ値が重複して表示されてしまうというデメリットがある。(例:「6」「7」「4」「4」「2」「7あれ?742回も…)同じ単語が二度表示されるのは、今回のケースではイケてない。

 

そこで、RANK関数を使用し、先ほどのRANDで表示された乱数の順序(ランキング)を表示させることで、カブらない乱数を生成することにした。以下のような式となる。

 

 

最後にデータベースの単語をVLOOKUPで引っ張ってきて、

 

 

 

上位N位を引用すれば簡易歌詞ジェネレータが完成する!

 

   歌詞を変えたくなったらF2→Enterで。

 

このジェネレータの面白さは歌詞(図表でいう「任意の文字列」カラム)の内容の面白さが勝負なので、面白いのが作れた場合は是非ともご紹介ください。