
Excelで百マス計算シートを作る方法
百マス計算は市販のドリルだけでなくExcelで作成することもできます。その作り方についてここで紹介します。単にドリル代を浮かすとかだけでなく、1〜5までの計算にしたり2桁にするなど、その時々の能力に合わせてカスタマイズすることもできるので、やる気があればどうぞ。
百マス計算とは
簡単に百マス計算について触れます。そんなん知ってるわ!という人も多いと思いますが、やり方に関して誤解も多いようなので少しだけお付き合いください。
百ます計算(ひゃくますけいさん)とは、縦10×横10のますの左と上にそれぞれ0から9(の場合が多いが、それ以外もある)の数字をランダムに並べそれぞれ交差するところに指定された計算方法(加法、減法、乗法、除法など)の答えを記入する計算トレーニングである。

陰山メソッドとして一時期話題になったのでご存じの方も多いと思いますが、100個のマス目を使って反復練習する計算トレーニングのことをいいます。
やっていることは計算ドリルと似ていますが、百マス計算は(数字の出るパターンは違いますが)基本的に同じ計算を繰り返しやることになるというのが大きな特徴でしょう。その反復によって基礎力を高めることを目的としています。
ここでポイントとして挙げられるのが「時間を計ること」「競争すること」です。陰山先生もどこかで書いていましたが、別に百マスの形で解くことが良いとかではなく、子供をモチベートしながら反復練習するのに良いツールというのがこの百マス計算という手法とのことです。クラス全員で毎日やって速さを競うような使い方がどこかで紹介されていましたが、そうやって子供の競争心を引き出したり、前日と比較して成長を実感するというのがこのツールの良さということです。
なので、子供に朝の計算練習として無理やりやらせるようなものではなく、親や兄弟などと一緒に盛り上がりながらやるというのが良い使い方と言えそうです。またこのときに時間も計って、以前の自分より成長していることを意識するというのもモチベーションの観点で大事になるでしょう。
このように、子供のやる気を引き出しながら反復していくことで計算を得意にしていく、というのが百マス計算の基本的な考え方になります。
計算力は算数(数学も)のベースとなる基礎体力みたいなものなので、低学年でも高学年でも必要性を感じたら適宜取り入れてみるといいんじゃないでしょうか。
Excel百マス計算 完成イメージ
ではここからExcelでの百マス計算シートの作成に入っていきます。
完成イメージはこんな感じです。F9(Macの場合はFn+F9)キーで数字が更新されます。

一応完成版もページの最後にダウンロードできるようにしておきます。
百マス計算シートの作成
想像するより簡単だと思います。以下の3ステップで完成します。
縦軸用の1〜10をランダムに表示する
横軸用の1〜10をランダムに表示する
印刷用にきれいに整形する
1. 縦軸用の1〜10をランダムに表示する
1-1. 1行目にランダムな値を出力する
1行目にRAND関数を使ってランダムな値を出力します。C1セルに「=RAND()」を入力し、それをL1セルまでコピーします。(ちなみにExcelの基本的な操作ですが、C1セルを入力後、選択している緑枠の右下の四角をL列まで横にドラッグすれば簡単にコピーできます)

ちなみに編集している最中にセルに表示される値が変わると思いますが、編集するとランダム値が変わるというExcelの仕様によるものなので気にしなくて大丈夫です。
1-2. RANK関数で1〜10を出力する
2行目にRANK関数を使って1〜10の値を出力します。C2セルに「=RANK(C1,$C1:$L1)」を入力し、これをL2セルまでコピーします。

これで、百マス計算の縦軸になる1〜10の数字がランダムに表示されたと思います。
これは、1行目に出力した10個のランダム値をランキングして、その1位から10位までの順位を出している処理になります。単純にRAND関数で出せばよさそうなものですが、1〜10までを重複なく全て出すためにはこんな2段階の処理が必要な感じです。
2. 横軸用の1〜10をランダムに表示する
1と同様のやり方でA列とB列を作ります。
2-1. A列にランダムな値を出力する
A3セルに「=RAND()」を入力し、A12セルまでコピーします。

2-2. RANK関数で1〜10を出力する
B3セルに「=RANK(A3,A$3:A$12)」を入力し、B12セルまでコピーします。

これで、百マス計算の横軸になる1〜10の数字がランダムに表示されたと思います。
3. 印刷用にきれいに整形する
基本はこれだけです。あとは適当に見た目を綺麗に整形して印刷すれば終わりです。
まず1行目とA列のランダム値は邪魔なので隠しましょう。文字色を白にするとか、「表示しない」で消してもいいと思います。


そして文字の配置を「中央揃え」にし、フォントやサイズや変更します。

あとは罫線をつけたりマスの大きさを変えたりしてお好みに整形してください。このとき、シートの表示形式を「ページ レイアウト」にすると印刷したときのイメージで修正できるのでおすすめです(表示→ページレイアウトで変更できます)。

引き算に対応する
引き算の場合、このまま同じシートを使うと「2ー7」などになってマイナスになってしまう欄が出てきます。通常は縦軸ー横軸をやるっぽいので、2行目を2桁にします。
各セルに+10する
単純に各セルにプラス10すれば2桁になります。C2セルを「=RANK(C1,$C1:$L1)+10」にしてL2までコピーすれば、縦軸は全て10の位の数字になります。

これで基本的にはOKなのですが、もう少し汎用性を持たせるために例えば以下のようにします。
汎用化する
B2セルに入力した値を足す形式にして、+5とか+20とかバリエーションを簡単に作れるようにします。C2セルを「=RANK(C1,$C1:$L1)+$B$2」にしてL2までコピーします。

でB2セルに10などの数字を入れるとそれがプラスされるかたちになります。
引き算シートの完成
こんな感じでできました。(B2セルは分かりやすさのため文字色をグレーに変更しています)

解く時は、横にひたすら進んでいく感じになります。上の図なら「11−6」「12−6」「17−6」という感じ。
カスタマイズしよう
こんな感じで、まあ仕組みがわかってしまえばお子様に合わせて色々アレンジできると思いますのでやってみてください。
例:横の計算(B列)を1〜5だけにする
例えば、まだ足し算になれておらず繰り上がりを減らしたいなら、B列を1〜5だけにしてまずは慣れるというのが考えられます。この場合、B3を「=RANK(A3,A$3:A$7)」(A3〜A7だけでランキング)にしてこれをB7までコピー、B8も同様に「=RANK(A3,A$8:A$12)」にしてB12までコピーすれば、このシートのまま1〜5を2回やることができます。

逆に両方を2桁にして難易度を上げてもいいし、様子を見ながら色々アレンジしてみてください。
完成版ダウンロード
一応、完成版をダウンロードできるようにしました。F9キー(MacはFn+F9)や、どこかのセルでキーを入力したときにデータが更新されます(これはExcelの仕様です)。
基本的には上の手順をやっただけのシンプルなものですが、内容理解にお役立てください。
おまけとして、B4サイズに同じマスを2シート並べたものも入れてあります。百マス計算はひとりでやるより2人以上で競ってやる方がいいらしいので、ぜひ親御さんも一緒に楽しみながらやってみてください。
↓こちらもどうぞ