循環参照を極める |
||||||||||||||||||||||||||||||||||||||||||||
(3)循環参照で1から10までの整数の和を求める 下準備: 1.メニューを「ツール」「オプション」と辿り、ダイアログボックスをだす。「計算方法」タブを選択。 2.「計算方法」タブを選択し「反復計算」にチェックをし、「最大反復回数」を10にして「OK」をクリック。 3.下図のようにB2に=IF(A1,B2+1,0)と入力する。 |
||||||||||||||||||||||||||||||||||||||||||||
4.下図のようにB3に=IF(A1,B3+B2,0)と入力する。 |
||||||||||||||||||||||||||||||||||||||||||||
【´・ω・`】:これでA1に0以外の数を入力すると1から10までの整数の和がB3に表示されるはずだ。 |
||||||||||||||||||||||||||||||||||||||||||||
(●`ε´●):0以外の数?なんでだ? 【´・ω・`】:IF関数の第一引数はTRUEかFALSEの真偽値を判定する。実はFALSEは数字で言えば0と同じで、それ以外がTRUEと同じだから。 ★サンプルファイルはこちら (●`ε´●):ふ~ん。 【´・ω・`】:それでは式の解説をしよう。まずはB2の式から。B2の式はA1が真ならB2+1を実行せよ。そうでなければ0と表示せよ、という意味だ。 (●`ε´●):それはわかる。 【´・ω・`】:ここで大事なのはB2自身にB2+1と書き込まれている点だ。 (●`ε´●):循環参照になっているというわけだな? 【´・ω・`】:B2の初期値が0だとするとさっき「最大反復回数」を10にしたから…。 (●`ε´●):1回の反復でB2にプラス1されるわけだから、0に10回、1を足して10になるというわけだ。 【´・ω・`】:そういうこと。それでは次にまずはB3の式=IF(A1,B3+B2,0)。下の表を見てほしい |
||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
(●`ε´●):なんだB2が変数i、B3が変数Ansだと思えば前回の表と同じじゃないか。 【´・ω・`】:そう。発想が同じだからね。以上で大事なところは終わり。あとは本質的なことではないけれどA1の値を直接書き換えるよりもチエックボックスを使った方がちょっと見栄えがいいかな。チェックを入れると計算が行われ、チェックをはずすとリセットされるよ。 |
||||||||||||||||||||||||||||||||||||||||||||
(初出 2006/03/21)
コメント