まずは重複しない乱数を2種類作成
まずは2種類の重複しない乱数を生成します。重複しない乱数を発生させる方法は次の記事も参考にしてください。
まずは、下図のようにA3セルに「=RAND()」と入力します。
「RAND関数」は0から1までの間の小数第15位までの小数を自動でランダムに発生させます。
A3セルの数式をA11セルまでコピーします。
RANK関数で整数の乱数に変換
A3セルの数値を、「RANK関数」で整数の数値に変換します。
「RANK関数」は、範囲内での順位を返す関数です。ここでは、A3セルからA11セルの数値を小さい順に順位づけします。
数式は「=RANK(A3,$A$3:$A$11)」となります。範囲は絶対参照にする必要があります。
その後、B3セルをB12セルまでコピーした結果が下図となります。1から9までの乱数が重複無しに発生していることがお分かりいただけますでしょうか。
同様にC1セルとC2セルに乱数と順位を設定し、K列までコピーします。
C1セルの数式は先ほどと同じく「=RAND()」、C2セルは「=RANK(C1,$C$1:$K$1)」となります。
数式を入力後C1~C2セルを選択し、K列までコピーします。
コピー完了後が下図となります。
まずは百ます計算を完成させていく
それでは、完成した乱数表から百マス計算に「リンク貼り付け」をします。
乱数を「リンク貼り付け」
シート「乱数表」のB3からB11セルを選択し、コピーします。
コピーをする際に、「リンク貼り付け」をする必要があります。
「リンク貼り付け」とは、セルの数値が変更されると自動的に参照セルも変更されるコピー形式です。
「百マス計算」シートのA2セルを選択し、「形式を選択して貼り付け」メニューから「リンク貼り付け」をクリックするだけです。
これで下図のように、乱数が変更されれば自動的に「百マス計算」シートの数値も変更されます。
同様に、「乱数表」シートのC2〜K2セルをコピーします。
そして下図のようにB1セルに「リンク貼り付け」をします。
以上で百マス計算の乱数は完成しました。
行と列をそれぞれ掛け算する数式を入力する
続いて、行と列をそれぞれ掛け算する数式を入力します。
B2セルに「=$A2*B$1」と入力します。
「$」マークのついたセル参照を「絶対参照」または「複合参照」と呼びます。
「相対参照」「絶対参照」「複合参照」について詳しくは、下記の記事をご覧になってください。
入力したB2セルの数式「=$A2*B$1」をB10セルまでコピーします。
さらにコピーしたB2〜B10セルをJ列までコピーした結果が下図です。
うまく計算されているのがお分かりでしょうか。
百マス計算の一旦完成となります。
自動計算になっていると数値が変わる
作成途中で気付かれた方も多いと思いますが、エクセルはセルを編集するたびに自動で再計算を行います。
再計算がされると、乱数も再計算されますので編集するたびに乱数が変化します。
これでは困ったことになりますので、一旦ブックを手動計算に設定しておきます。
「数式」「計算方法の設定」「手動」をクリックして、このブックを開いている間は勝手に計算させないようにしておきます。
ただ、ブックを閉じる前に「自動計算」に戻しておくことをおすすめします。
以下は「手動計算」状態で操作していきます。
コメント