この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
Excelでセルに0~1の小数点以下の数値をランダムに表示させるRAND関数があります。
今日は、RAND関数を使用して12個の数値のうち、1つだけ異なる数値を表示させる方法について記載します。
※ RAND関数に似ているRANDBETWEEN関数は、整数の最小値と最大値を指定して、その間の任意の整数値をランダムに表示させる関数です。
RAND関数
下の画像のA1セルからA12セルまでは、「=RAND()」と入力されいて、0~1のランダムな数値が表示されます。
12個の数値のうち1つだけ異なる数値を表示する
上のA1~A12のセルを使って、12個の数値のうち1つだけ異なる数値(以下「異常値」という。)が表示されるような設定をB列にしてみます。
準備として、A14セル、A16セル、A18セルにそれぞれ次のような設定をしました。
(1) A14セルの設定
・・・MAX関数を使って異なる1つのセルを指定する
MAX関数を使って、A14セルにA1セルからA12セルの最大値を表示させます。A1~A12セルのうち、最大値のセルのとなりのB列のセルに「異常値」を表示させます。
(2) A16セルの設定
・・・AVERAGE関数を使って、標準の値を指定する
ROUND関数とAVERAGE関数を使って、A16セルにA1セルからA12セルの「平均値+2」の整数値を表示させます。この数値がB列12個のうちの11個の数値(標準の値)になります。
RAND関数により12個の0~1までの数値が表示させているため平均値をROUND関数で四捨五入すると「0」か「1」となります。
(3) A18セルの設定
・・・A1セルの数値を使って「異常値」を指定する
A1セルの大小によって、偶発的に標準の値より「1」多い数値か、または「1」少ない数値を表示させるようにします。
ROUND関数によりA1セルの値を四捨五入し、「1」になる場合は、A16セルの値から1を控除し、それ以外の場合は、A16セルの値に1を加算する式を記述します。(上の画像の水色の枠囲みの式)
(4) B列に12個の数値を表示
B1セルからB12セルまで、隣のA列の数値が最大値であったらA18の数値(異常値)を表示し、それ以外の場合はA16セルの数値(標準の値)を表示させるような式を記述します。
上の画像では、A7セルの数値が「0.9878・・・・」という最大値であるためA7セルにはA18セルの数値(異常値)である「2」が表示され、それ以外のセルにはA16セルの数値(標準の値)である「3」が表示されます。
まとめ
RAND関数を経理処理に使うことはないかと思います。Excelのマクロの勉強のために必要だったので記載してみました。
※ おまけ
RANDBETWEEN関数は次の画像のように設定します。(1~12の数値をランダムに表示させる場合)
■□◆◇ 編集後記 ◇◆□■
引き続きちょっと体調不良でお休みしています。