指定の配列の中からランダムに要素を1つ取得する(Excel VBA)
- yuji fukami
- 2月11日
- 読了時間: 2分
<概要>
今回は指定の配列の中からランダムに要素を1つ取得する汎用プロシージャの紹介です。
このプロシージャは 一次元配列 と 二次元配列 の両方に対応しており、それぞれの配列から ランダムに1つの値 を取り出します。
この処理が役立つ場面
このようなランダム値の取得処理は、主に システム開発やツール開発のテスト環境 で活用されます。例えば、以下のようなケースで便利に利用できます。
テストデータのランダム生成
ツールの動作を確認する際、配列の中からランダムにデータを取得し、シミュレーションを行いたい場合。
データ分析のサンプル抽出
既存のデータセットから ランダムに1つのサンプルを抽出 して、テスト用のデータとして使用する場合。
通常、配列からランダムな要素を取得する場合、
配列の要素数を取得
ランダムなインデックスを生成
インデックスを用いて要素を取得
といった 複数ステップの処理 が必要になります。しかし、この 「GetRandValueFromArray」 を使えば 1行の記述 でランダムな値を簡単に取得でき、コードの可読性やメンテナンス性が向上します。
<実行例>
実行例のサンプルコードは次の通りです。
イミディエイトウィンドウの実行例は次のようになります。実行結果は毎回ランダムに変化します。

<関連コード>
今回の汎用プロシージャは、下記の別で紹介している汎用プロシージャを使用しています。
・GetDimensionArray→ https://www.softex-celware.com/post/getdimensionarray
<関連記事>
今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。
コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。
Comments