Excelで乱数を求める・表の中からランダムな単語を表示する方法/Rand関数の使い方

IT

単語帳やアイデアツール、くじ引きなど様々な局面で使えるRand関数×VlookUp関数の定番合わせ技です。

Advertisements

まずは乱数を作る

0以上1未満のランダムな数字を求める
Rand()
rand1
Rand関数は、0以上1未満の適当な数字を表示する変数です。とりあえず=Rand()と入力し、Enterを押してみます。
rand2
するとこのように、ランダムな数字が生成されます。
rand3
再計算が行われるには、①ブック内のいずれかの場所でデータが編集→確定されるか(=他の場所でデータ入力するだけでどんどん数値が変わる)、
rand4
数式タブに移動し、
rand5
右のほうにある再計算実行をクリックしても更新されます。
再計算実行
F9
または③ショートカットでも再計算が可能です。
rand7
①に関してはランダム計算をする上で邪魔にもなるので、数式タブ計算方法の設定手動で勝手に再計算しないようにすることもできます(手動設定時も②または③は有効)。
あとあとトラブルになりがちなので、使い終わったら「自動」に戻すようにしてください。

1~6の数値を求める

rand8
Rand関数が0~1未満の値を求める関数ということは、これを100倍すれば0~100未満の数を求めることができる計算になります。
今回は1から6の間の値を求めたいので6倍し、=Rand()*6と入力します。
rand9
ざっくり0.01から0.99までを6倍すると考えると、大体0.06~5.94ぐらいの値が求められるようになりました。
rand10
さらにInt関数を使い、小数点以下を切り捨てて整数に整形します。=int(Rand()*6)という式になります。
rand11
0.06~5.94の小数点を切り捨てるので、0~5のいずれかの整数が得られる状態になりました。
rand12
あとはこれに1を足し、=int(Rand()*6)+1とすれば、1~6のいずれかの整数をランダムに返す式が完成します。
rand13
増やした感じそれなりにちゃんとバラけてます。
Int関数の部分はRoundUp関数で切り上げることも可能です。
その場合は=RoundUp(Rand()*6,0)のように記述します。

数値に対応するデータを表示する

あとは普通にVlookUp関数を使います。VlookUpについては別記事でゴリゴリ説明してますので、ここでは最低限の説明にとどめます。

データの垂直→水平検索
VlookUp(検索値,適用範囲,水平方向の移動距離,検索の型)
rand14
上にRand関数を使ったセルを残し、下に数字と文字がセットになった表を作ります。数字の右に文字を書くようにしてください。
rand15
=VlookUpのあとに乱数を求めるセル(この場合A1)を入力し、=VlookUp(A1と入力します。
rand16
,を打ち、検索対象になる表全体をセル範囲で指定します。この場合=VlookUp(A1,A3:B8となります。
rand17
うしろふたつは2とFalseでいいです。2は「右ひとつ隣」という意味で、1ならその右にある「大当たり」を返します。
=VlookUp(A1,A3:B8,2,FALSE)で完成です。
rand18
あとは好きなだけF9を押して運だめしをします。

雑な英単語帳の作り方

適当ですが、マクロを使わない簡単な英単語帳の作り方例も書いときます。

eng2
シートをふたつ作り、「単語」シートのほうには数字と英単語、意味を書いていきます。
eng3
単語数をCount関数で求めます。A:AでA列全てという意味になります。
eng4
現状5つの単語が登録されています。
eng5
Count関数で求めた単語数を、Rand関数の倍数に使い、=INT(RAND()*F1)+1のような式を作ります。
eng6
「表示単語」に1~5の数字が表示される状態になりました。
eng7
「単語帳」シートのほうでA1セルに英単語を表示したいので、=VLOOKUP(単語!F2,単語!A:C,2,FALSE)と記述します。単語!F2というのは単語シートのF2セルという意味です。
eng8
で、50セルほど下に=VLOOKUP(単語!F2,単語!A:C,3,FALSE)と記述します。こちらは単語の日本語訳を表示します。
eng9
あとは再計算で単語を表示し、意味がわかる単語なら再度再計算、
eng10
わからなければCtrl+で意味を確認し、Ctrl+で元の場所に戻る、という代物です。

ちなみにVBAとか使って作るとこういう感じになります。

ExcelVBA(マクロ)で英単語学習・暗記ソフトを作る方法
シンプルな学習ソフトの作り方です。やや説明駆け足なので、Excel関数、VBAにある程度慣れている方向けです。 かつ、2007で作ったマクロ入りのファイルを散布するのも問題がある気がするので、添付ファイルはありません。コード見て参考にして...

よろしければ併せてご確認ください。

ExcelVBA(マクロ)でランダムな数(乱数)を作る方法/Rnd関数の使い方
Rnd関数を使うことで、VBA内で乱数を発生させることができます。
やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント