サイコロを投げて出た目の回数を数える(エクセル) | 感じる科学、味わう数学

感じる科学、味わう数学

科学は、自然そのものというより、モデルです。数学は、関係性を捉える枠組みです。
だから、正しいか否かより、大事なのは視点です。

【問】空欄(ア)〜(エ)に自然数を、空欄(オ)に関数の一部を入れて、文章を完成させよ。

 サイコロを振って1〜6の目が出る様子をモデル化して、エクセルでシミュレーションしてみよう。
 まず使う関数は、乱数「=RAND ( )」だ。セルにこの関数を入力すると  と  の間の小数が均等に発生する。
 次に使う関数は、切り上げ「=ROUNDUP (値 , ケタ数)」だ。パラメータ「ケタ数」が2なら、小数第3位を切り上げて小数第2位までの数に変換する。また「ケタ数」が-1なら、一の位を切り上げて十の位までの整数に変換する。この2つの関数を組み合わせて、次式のような関数式を作ると、1から6までの整数値が不規則に、ほぼ均等に現れることになる。これがサイコロ投げのモデル化に当たる。
=ROUNDUP (RAND( )* , )
 この式をエクセルのセルA1に入力して、さらに関数式を下方向にコピーしよう。そうすると、1〜6の数がランダムに並ぶ。この操作がシミュレーションに当たる。
 続いて、1〜6の目がそれぞれ何回出たかを集計しよう。そこで使う関数は、「=COUNTIF (セル範囲 , 検索値)」である。セルA1〜セルA100までの中から集計するなら「セル範囲」を「A1:A100」とすればよいのだが、行番号を指定せずにA列全体から集計することもできる。その場合は「セル範囲」を  とする。たとえば、A列全体からサイコロの目「1」の個数を集計するための関数式は、次の通りである。
=COUNTIF ( , 1)



 《答え》は、ア:0 ,イ:1 ,ウ:6 ,エ:0 ,オ:A:A です。(アとイは入れ替わっても可)

 さて、上のことを私は情報科の授業でエクセルを使って生徒たちにやらせて、1〜6の目が出た回数をグラフ化するところまでやらせています。その際に「サイコロを振る回数を、100回、1000回、10000回といろいろ変えてやってみる」ように言います。設問で「行番号を指定せずにA列全体から集計する」としているのは、そのためです。
 実際やってみて分かることは、100回程度ではグラフはガタガタで、「再計算」するたびに大きく動きます。1000回もやるとグラフがほぼフラットになって、「再計算」してもあまり動かなくなります。その様子は、サイコロを10000回振っても同じです。
 この感覚、大事です。その実習を通して、テレビなどで時々見かける「新橋駅前のサラリーマン100人に聞きました」「原宿の女子高生100人に聞きました」系のアンケートにどの程度の信頼性があるのか(だいぶ誤差があるでしょう)。「5人がダイエットに挑戦して、4人に効果が出ました」系の実験結果を信用してよいのか(統計的にはほとんど何の意味もありません)。そんなことを感じ取ってくれるでしょう。
 また、先の例で1000回でほぼフラットになったということは、それ以上サンプルを集めても精度はあまり変わらないということです。現実にサンプル調査をする場合、人手・経費・時間がかかりますから、どれくらいのサンプル数を集めればよいのか、妥当な線を判断したいところです。
 上のエクセル実習に続いて、授業ではさらに実習が続きます。「テレビ番組の視聴率、政党の支持率、選挙投票の出口調査などにおいて、どれくらいのサンプル数で調査しているかをネットで調べ、そのサンプル数が妥当かどうか考察せよ」
 サイコロを実際に100回、1000回、10000回と投げてみることは大事なことです。とはいえ、現物のサイコロをそれだけの回数投げることは現実的ではありません。そこでエクセルの出番です。以上「モデル化とシミュレーション」ならびに「統計」の問題でした。