# Spreadsheetでランダムな数字や文字列を作成する方法 URL: https://webrandum.net/spreadsheet-random-number-text/ 公開日: 2021-01-17 更新日: 2022-02-06 カテゴリー: 資料作成 タグ: Spreadsheet 出典: Webrandum(著者: サイトウ マサカズ) Spreadsheetでランダムな数字や文字列を作成したいことがあったので、やり方をまとめておきます。 文字列に関してはもう少しラクにできるといいのですが… ## ランダムな数字の生成 ランダムな数字の生成にはRAND()関数を使用します。 RAND()関数を使用すると、0〜1の間でランダムな数字が生成されます。 桁数を上げたい場合はRNAD()に10や100などの数字をかけてあげれば、桁数は上がっていきます。 ``` =RAND() * 10000 ``` ただ、このままでは小数点が残ってしまうので、切り上げをしたい場合はROUNDUP()、切り下げをしたい場合はROUNDDOWN()で囲ってあげます。 ``` =ROUNDUP(RAND() * 10000), 0) ``` ちなみにROUNDUP()やROUNDDOWN()は、第二引数で小数何桁まで表示させるか指定できます。 小数点が不要な場合は「0」、小数点以下1桁まで必要な場合は「1」を指定してあげればOKです。 ### 指定した範囲の中からランダムな数字を生成したい RAND()を使った方法だと、完全にランダムな数字になってしまいます。 「指定した範囲の中から生成したい!」「必ず4桁の数字をランダムで生成したい!」という場合は、RANDBETWEEN()を使用します。 使用方法は、第一引数に下限、第二引数に上限の数字を入力するだけです。 ``` =RANDBETWEEN(1000,9999) ``` 上記の場合は、「1000から9999の数字の中からランダムで数字を生成する」ことになるので、必ず4桁の数字が生成されます。 ## ランダムな文字列の生成 ランダムな文字列を生成したい場合は、いろんな関数を組み合わせて生成する必要があります。 まずは生成する文字列に含める文字を、別のセルに用意しておきます。 下記の中から使用する生成元をコピーして貼り付けましょう。 ``` // アルファベット小文字・大文字 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ // 数字 + アルファベット小文字・大文字 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ // 記号 + 数字 + アルファベット小文字・大文字 !#$%&*+-./=?@_()0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ``` 次に、文字列を生成したいセルに下記の関数を入力します。 ``` =CONCATENATE(ARRAYFORMULA(MID($B$1,RANDARRAY(8)*LEN($B$1)+1,1))) ``` 「$B$1」は先ほど貼り付けた生成元が入力されたセルを指定し、RANDARRAY()の中の「8」という数字が桁数になります。 このままだと8桁のランダムな文字列になるので、別の桁数にしたい場合は「8」を別の数字に変更します。 MID()関数を使うことで、パスワードの生成元のテキストから1文字ずつピックアップして、CONCATENATE()関数で結合しています。