関数 EXCEL&VBA

エクセルでランダムな文字列を作成する関数技

ランダムな数字(乱数)を発生させることができる関数と言えば RAND関数RANDBETWEEN関数 ですね。

実はこれらの関数は数字だけではなく、例えばパスワードのような「ランダムな文字列」の作成にも応用することができます。

今回の h1r0-style.net では、ランダムな文字列を作成する関数技をピックアップします。



ランダムな文字列を作成する

サンプルとして8ケタのパスワードを作成します。

まず、下のような環境を作ります。
セルA2にはパスワードとして選択可能な文字を入力しておきます。


▲セルA5からH5までのセルにランダムな文字を発生させる

ランダムに文字を抽出する関数たち

8ケタのパスワードを作成するためには、複数の関数を使います。

RANDBETWEEN関数

ご存知の方も多いかと思いますが、任意の範囲で乱数を発生させることができる関数が RANDBETWEEN関数 です。
書式は;

RANDBETWEEN ( 最小値, 最大値 )

のように表されます。
「RAND」はまさに「ランダム(Random)」の先頭4文字です。

MID関数

RANDBETWEEN関数と合わせて使うのが MID関数 です。

MID関数とは、文字列の指定された位置から指定された数の文字を返す関数です。
こちらの書式は;

MID ( 文字列, 開始位置, 文字数 )

ちなみに先ほどの RANDBETWEEN関数は、MID関数の「開始位置」の部分に入れ込みます。

LEN関数

さらにもう一つ使用される関数が、LEN関数 です。

LEN関数とは、文字列の長さ(文字数)を返す関数です。
書式は;

LEN ( 文字列 )

のように表されます。

この LEN関数は、セルA2の文字数を算出するのに利用して、RANDBETWEEN関数と組み合わせて使用します。


パスワードを作成してみる

では、実際にセルA5からH5のセルに数式を入力します。
セルA5からH5のセルには 全く同じ数式 が入ります。

セルA5からH5のそれぞれのセルに入る数式は;

MID ( $A$2, RANDBETWEEN ( 1, LEN ( $A$2 ) ), 1 )

上の数式を翻訳すると;
『セルA2の中から 開始位置を RANDBETWEEN関数で無作為に選び、そこから1文字だけ抜き出せ』
といったところでしょうか。

※セルA2を指定する部分は絶対参照($A$2)にしておきます。

この数式をセルA5に入力すると、、、


▲小文字の「r」が選ばれて表示された

RAND関数やRANDBETWEEN関数は シートが更新されるたびに返す値が変わるため、コロコロと数字が変わります。

このセルA5の数式をセルH5までコピーすれば完成です。


▲すべてのセルにランダムな文字列が作成された

パスワードに限らず、ランダムな文字列を発生させたいときにぜひ応用してみてください。
エクセルでランダムな文字列を作成する関数技』は以上です。

他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告



併せて読んでおくとさらに便利

EXCELで「文字列の置換・削除」方法をパターン別にまとめた
関数・文字列操作
Excelの特定の文字を削除したり文字列を置換(置き換え)したり、文字列に含まれる余分なスペースや文字を削除したりする方法のまとめです。置換の関数や削除の関数をパターン別に例示し...

エクセルで文字列を抽出「ここからここまで」の真ん中を抜き出す方法
文字列操作・MID関数
エクセルで文字列を抽出する方法で、「ここからここまで」のように、始点と終点の文字列がわかっていて、その 真ん中の「文字数が定まらない文字列」を抽出するパターンについて解説します。

エクセルで縦書き(数字だけ横書き)にする方法|Excelのキホン
書式設定・改行
エクセルで文字列を縦書きにする方法と、縦書きでも数字だけは横書きで表示する方法を解説。資料作成していると、レイアウト上の理由で文字列を「縦書き」にしたい時ありませんか?

エクセルでアルファベットを大文字に変換して揃える関数
文字列操作・UPPER関数
エクセルでアルファベットを大文字に変換して揃える方法について解説します。今回は、大文字と小文字が混在しているアルファベットをすべて大文字に揃える関数に着目します。

EXCELで住所を都道府県と市区町村以下に分割する
文字列操作
EXCELで住所を都道府県と市区町村以下に分割する方法を解説。その住所情報を統計データとして活用する際に『都道府県』と『市区町村以下』にセルを分割して管理できると活用の幅も広がります。

エクセルで全角から半角に文字列を置換する方法
文字列操作・ASC関数
エクセルで全角から半角に文字列を置換する方法を解説。一生懸命入力したデータも、全角文字と半角文字が混在していると美しくない。関数やVBAで全角から半角に文字列を揃えて見栄えを良くしよう。

エクセルで姓名をスペースで分けるのに関数は要らない|区切り位置
文字列操作・区切り位置
エクセルで姓名を分ける方法を解説。1つのセルに姓と名がスペースをはさんで入力されている場合は、関数を使わずに姓名を分けることが可能です。ヒントは「区切り位置」。

※その他、関連記事はこの記事の下の方にもあります。




-関数, EXCEL&VBA
-, ,