2024年01月29日11時00分 / 提供:マイナビニュース
前回の連載では、RANDやRANDBETWEEN、RANDARRAYなどを使って「数値データ」をランダムに生成する方法を紹介した。今回はその応用編ということで、関数RANDを使って「文字列データ」をランダムに生成する方法を紹介していこう。手順そのものは特に難しくないが、「生成されるデータの割合をどうコントロールするか?」に配慮する必要がある。
文字列データをランダムに生成するには?
今回も「Excelの使い方を学習するためのダミーのデータ表」を作成する方法を紹介していこう。前回の連載の続編となる話なので、第61回の連載を一読してから本連載を読み進めて頂ければ幸いだ。
乱数(ランダムな数値データ)をもとに「文字列データ」を生成するときは、IFやIFSといった関数を組み合わせて使用するとよい。
今回も「前回と同じデータ表」を使って手順を紹介していこう。前回の連載では、「年齢」の数値データをRANDやRANDBETWEEN、RANDARRAYといった関数で作成する方法を紹介した。これを応用してダミーの「性別」や「都道府県」のデータをランダムに自動作成してみよう。
2種類の文字列データをランダムに生成する
まずは「性別」のデータをランダムに生成する方法から紹介していこう。この列に記載すべきデータは「男」または「女」の2種類だ。このように「2種類の文字列データ」を生成したいときは、IFとRANDを組み合わせて以下のように関数を記述すればよい。
簡単に説明しておこう。関数が入れ子に記述されているときは、内側の記述から処理内容を確認していくのが基本だ。上図に示した例の場合、以下の手順で処理が進められていくことになる。
(1)関数RANDにより「0~1未満」の数値(乱数)が生成される
(2)この数値が「0.5未満であるか?」を条件に分岐処理を行う
・0.5未満の場合 ・・・・「男」の文字列データを出力
・そうでない場合 ・・・・「女」の文字列データを出力
このように処理を進めていくことで「男」または「女」の文字列データをランダムに生成している。あとは、この関数をオートフィルでコピーするだけ。これで好きな数だけ「男」または「女」の文字列データをランダムに生成することが可能となる。
特に難しい処理は行っていないので、RANDとIFの使い方さえ知っていれば内容を理解できるだろう。
なお、前回の連載でも紹介したように、関数RANDは「何らかの操作を行うたびに乱数を再生成する」という点にも注意しなければならない。生成した「男」または「女」のデータを固定したいときは、コピー&ペーストで「値」だけを貼り付ける操作を行っておく必要がある(詳しくは第61回の連載を参照)。
これで男:女の比率が1:1のデータをランダムに作成できた。もちろん、それぞれの比率を調整することも可能だ。たとえば、男性6割、女性4割の比率でデータを作成したいときは、「=IF(RAND()