【ExcelVBA入門】Rnd関数・Int関数を使った乱数取得方法を徹底解説!

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。

皆さんは、VBAで乱数を取得する方法を知っていますか?

Rnd関数・Int関数を使えば、指定した範囲の数値から簡単に乱数を取得することができます。

そこで今回は、

・Rnd関数とは

といった基礎的なことから、

・Int関数を応用した整数の乱数取得方法

・指定した範囲の乱数を取得する方法

といった応用的な方法まで、徹底的に解説します!

Rnd関数とは

Rnd関数を使うと、0以上1未満の乱数を簡単に取得することができます。

サンプルコード:

実行結果:

この例では「0.4100367」と表示されている値が乱数なので、処理を実行するごとに値が変わります。

このように、簡単に乱数を取得することができます。

Int関数を使った整数の乱数取得方法

ただ、整数で乱数を取得したいケースもありますよね。

Int関数を使うと、小数以下を丸めて整数のみ取得することができます。

実行結果:

Int関数を応用して、Rnd関数とあわせて使うと整数の乱数を取得することができます。

実行結果:

Rnd関数は0以上1未満なので、10かけた値をInt関数で整数のみにしています。

0 ~ 9の乱数を取得したい場合はこの方法でOKです。

応用編:指定した範囲の整数を取得する方法

0 ~ 9までの乱数取得方法を紹介しましたが、10以上の数を範囲に指定して取得したいときもありますよね。

さらに応用して以下のように書くと、指定した範囲の乱数を取得することができます。

Int関数は銀行型の丸め方式で小数以下が切り捨てられてしまうため、最後に最小値を再度たす処理を入れています。

この方法を使えば、以下のように簡単に指定範囲の乱数が取得できます。

サンプルコード:

実行結果:

まとめ

今回は、VBAで指定した範囲の数値を乱数を取得する方法について解説しました。

乱数はExcelでデータ分析をする場合によく使います。

Rnd関数Int関数を使った乱数取得方法を覚えておけば、応用が利くのでおすすめです。

使い方も簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説