【エクセル】指定範囲内の整数をランダムに作成する方法!VBAへの組み込みまで!

f:id:yshgs_elec:20210105152413j:plain

「指定した範囲内の整数をランダムに発生させたい。」

この悩みは、つい先日わたし自身が抱えていたものです。

この記事ではこの悩みを解決するときに役立った、RANDBETWEEN関数についてご紹介していきます。

それでは早速やっていきます!

スポンサーリンク

RANDBETWEEN関数とは

まずはじめに今回のテーマであるRANDBETWEEN関数にご説明します。

RANDBETWEEN関数はある指定した範囲内の整数をランダムに発生させることができる関数になります。

このRANDBETWEENとは

RANDOM:無作為に

BETWEEN:~の間に

という二つの英語を組み合わせたものです。

これらの意味からも、ある間の数値を適当にとってきそうな関数であることがわかると思います。

また、この関数で出力される結果はすべて整数であるということは覚えておきましょう。

以上がRANDBETWEEN関数のおおまかな説明になります。

ここからはRANDBETWEEN関数の実際の使用方法をご説明していきます。

スポンサーリンク

RANDBETWEEN関数の使い方

RANDBETWEEN関数の使い方は以下の通りです。

◆RANDBETWEEN関数の使い方

=RANDBETWEEN(A,B)

A:乱数範囲の最小値

B:乱数範囲の最大値

※A,Bそれぞれに入れる数値は整数である必要はありません。

あくまでこのAからBの間の整数をランダムに取得する関数になっています。

スポンサーリンク

RANDBETWEEN関数の使用例

使い方がわかったところで、実際の使用例を見ていきたいと思います。

以下がA1セルにRANDBETWEEN関数を適用したときの数式入力例になります。

f:id:yshgs_elec:20210204164020j:plain

今回は0から255までの数字をランダムに発生させるように設定しています。

この数式の実行結果は以下の通りです。

f:id:yshgs_elec:20210204164034j:plain

きちんと0から255までの間の数値が整数で出力されていますね。

ちなみにもう一度、あらためて出力したい場合にはA1セルをダブルクリックしてふたたび数式をセルに表示させ、(以下画像参照)

f:id:yshgs_elec:20210204164049j:plain

再びEnterで入力を完了させるだけです。

f:id:yshgs_elec:20210204164106j:plain

先ほどとは数値が変わっていることがわかります。

というわけでここまでがRANDBETWEEN関数に使用例のご紹介でした。

スポンサーリンク

RANDBETWEEN関数が役立つ状況

というわけでRANDBETWEEN関数についておおまかに説明してきたわけですが、明確な目的もなくこの記事にたどり着いた人にとっては、

「こんな関数いったいどんな状況で使うんだ?」

このように考えている人も多いのではないでしょうか?

というわけで、このRANDBETWEEN関数が役立つ状況についても少しご紹介しておこうと思います。

◆RANDBETWEEN関数が役立つ状況①

【セルや文字の色をランダムに変更したい場合】

エクセル上では赤、緑、青の3つの要素を0から255までの度合いで組み合わせることによって、様々な色が表現されています。

そのため赤、緑、青の3つの要素に対して、RANDBETWEEN関数(0から255)を適用することによって、ランダムな色を発生させることが可能になります。

(私は子供と色の勉強をする際にこんなことをしたりしています。)

◆RANDBETWEEN関数が役立つ状況②

【複数のデータの中から一つだけデータを抽出したいとき】

例えばエクセルシート上に顧客データが並んでおり、そこから無作為に一人選出したい場合なんかはこのRANDBETWEEN関数を使用することで、公平中立に一人を抽出することが可能になります。

スポンサーリンク

VBAでの使用例

最後にこのRANDBETWEEN関数をVBA上で使用する方法についても触れておこうと思います。

◆上で紹介した作業を実行するVBAコード

Sub randbetween_sample()
    Cells(1, 1) = WorksheetFunction.RandBetween(0, 255)
End Sub

 

基本的な使いかたとしては、

出力したいセルや代入したい変数に対して

=WorksheetFunction.RandBetween(A, B)

という形をとってあげればOKです。

A,Bについてはエクセルシート上で実行するときと全く同じです。

A:乱数範囲の最小値

B:乱数範囲の最大値

セルの色をランダムに自動変更するVBAコードを作成する際などにぜひ ご活用ください。

スポンサーリンク

おわりに

というわけで今回は指定した範囲内の整数をランダムに取得できるRANDBETWEEN関数についてご紹介しました。

それほど活躍する頻度は高くないとは思いますが、便利な状況も時々ありますので、こんな関数もあるということくらいは覚えておきましょう。

このように私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

・日々の残業時間を減らしたい。

・業務をもっと効率的にこなしたい。

・もっと勉強する時間を作りたい。

こんな思いを持っている人は、ぜひ他の記事も見てみてくださいね。

この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました