Google スプレッドシートでランダムな文字列を生成する方法
今回は、Google スプレッドシートでランダムな文字列を生成する方法を紹介します。
パスワードなどを作成する場合に便利です。
1. CONCATENATE + ARRAYFORMULA + MID + RANDARRAY を使う
以下の数式を使用すると、指定した長さのランダムな文字列を生成できます。
例: 8 文字のランダム文字列を作る場合
=CONCATENATE(ARRAYFORMULA(MID("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", RANDARRAY(8, 1)*LEN("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") + 1, 1)))
説明
CONCATENATE:取り出された文字をひとつにまとめてランダムな文字列を作る。ARRAYFORMULA:同じ処理を複数回実行する(ここでは 8 回繰り返し)。MID:指定された位置から1文字を取り出す。"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ":ランダムに選ばれる文字の元となる文字列。RANDARRAY(8, 1): 8 個のランダムな数値を生成する。ここの数字を変更することで任意の文字数にすることができます。
式を短くしたい場合
次の式を使うことで、直接文字列を数式内に埋め込むまずに済みます。
=CONCATENATE(ARRAYFORMULA(MID($B$1, RANDARRAY(8)*LEN($B$1) + 1, 1)))
こちらの式では、$B$1 にランダムな文字列を入力することで式が短くなり、管理が楽になります。