新年はすき焼きがピッタリですね。
おかわり!おかわりっ!
o(^▽^)o
Excelの方は前回からの続きです。
いよいよサイコロを振るマクロを作っていきましょう。
「作っていく」と言っても、いつものように、最初はExcelの自動記述機能に作ってもらって、後でそれに少し手を加える“使い捨てマクロ”の手法で進めますのでご安心を。。
まず、どんな手順で動くマクロにするかを考えます。
A列でサイコロを指定回数振るので、最初にA列を何も無い状態にしておく必要がありますよね。
A1セルには元のRND関数を残しておいて、A2セル以降のA列をクリアするところから始めましょう。
その次に、サイコロを振ります。振る回数はC6セルで指定されています。最初は「10」なので、10回振ることとして進めます。
10回振るということは、A1セルのRND関数の式をA10セルまでコピペするということです。
その結果は、セル範囲B1:I4 の表に反映されますが、最終的には乖離率で判断するので、I4セルに計算される「最大乖離率」の結果だけを、C9セルに値貼り付けします。
ここまでが、1セット(1日目)の実験になります。
Excel操作として書くと、
(1)A2セルを指定して、[SHIFT]+[CTRL]+「↓」で範囲指定して[ホーム]タブ、[クリア]→[すべてクリア]
(2)A1セルをコピーして、A10セルまで範囲指定し貼り付け
(3)I4セルをコピーして、C9セルに値のみ貼り付け
あとは、[F9]ファンクションキーを押して再計算をかけ、最大乖離率結果を、C10セル(2日目の欄)に値貼り付けするのが2セット目の実験になりますね。
Excel操作として続きを書くと、
(4)[F9]ファンクションキーを押して再計算
(5)I4セルをコピーして、C10セルに値のみ貼り付け
となりますね。
同様にして、3日目くらいまで、自動記述機能を使って作ってみましょう。
では、[開発]タブ、[マクロの記録]から、
マクロ名「サイコロ実験」、
ショートカットは「サイコロ」のSを使って、[CTRL]+[SHIFT]+「S」
としましょう。
上記手順(1)から実際に順番にExcelを操作して3日目までやってみてくださいね。
終わったら、[開発]タブ、[記録終了]です。
ひとかたまりになっている部分がわかりやすいように、空白行を入れてみましたが、プログラム部分としては、このようになっていればOKです。
長くなってしまったので続きは次回に!
(´∀`)/
神戸牛!
フランベの瞬間が思いのほか上手に撮れました!
o(〃^▽^〃)o
さて、前々回書いた、サイコロを n 回振って、どの目もまんべんなく 6分の1で出る n はどの程度なのか確認する実験ですが、
メルマガ読者限定で、3万円相当のお年玉プレゼント企画の問題にしてみました。
それで、
「正解者の先着5名にプレゼント」
としたんですが、そしたら初日に応募が殺到して、期日がまったく意味の無いものとなってしまいました。
(そりゃそうですよね…^^; )
…なので、すみませんが、メール配信日の午前中に応募いただいた方以外は、当選の確率ゼロパーセントとなってしまいましたので、早めにお伝えしておきます。
次の機会があったらまたちょっと違うルールを考えますね。。
(;^_^A
Excelシートの方は、マクロを組んでいく前に、フォーマットを作っておきましょう。
こんな形にしてみました。
A列でサイコロを振ります。
今は、A1セルのRND関数をA10までコピペしたので、10回振ったことになっています。
これの結果を受けるのが、セル範囲B1:I4 の表になります。
ここまでは前回の記事をご参照ください。
それで、1セットだけだといまいち信用できないので、毎日毎日、来る日も来る日も同じことをExcelにやってもらうとして、500日分=500セットの結果(I4セルの最大乖離率の部分)を記録していきます。
それ用のセルが、C9セル以降の空白部分になります。
たとえば、サイコロを10回振った結果の最大乖離率の1セット目の値を C9セルに、2セット目の値を C10セルに、3セット目の値を C11セルに…と入れていきます。
現在の値であれば、I4セルは「Max 100%」となっているので、C9セルにはこの「100%」をコピペします。
6行目の青文字は、回数です。
どれだけシミュレーションするか、ですが、10回,100回,200回,300回,…と、適当に間を空けて100万回まで実験していきましょう。
そして、7行目に、1日目から500日目までの最大乖離率の平均値を計算する欄、8行目に、最大値を計算する欄を作っておきます。
今、C7セルに、「=AVERAGE(C9:C508)」と入力されているのが見えていますが、そういう意味です。
なので、C8セルは、もちろん 「=MAX(C9:C508)」ですね。
では、次回からこのフォーマットを埋めていくマクロを作っていきましょう。
(*^ー^)ノ