• 締切済み

Excelの反復計算がわかりません。

循環参照が出た時に反復計算を有効にすると、 0にならず、答えが返ってきたのですが、 そもそも反復計算って何をしてくれてるんでしょうか? 計算を繰り返し行うって聞いたのですが、 循環参照を含んだ数式のままで、どうして答えを 返すのですか? 無知ですみません。 お詳しい方、教えてくださいませ。また参考サイトがあればぜひお願いします。

みんなの回答

回答No.2

反復計算は、式の収束値を求めるのに使えます。ですが正直、一般の人が仕事などで使いたいと思う機会は、あまりなさそうです。また、あまり分かりやすいともいえないかも。更には、何度も再計算する場合、途中の値が保存されないので、危険も伴います。 ただ、再計算のたびに値が変化していくことを利用して、「Excelで遊ぶ」目的で使うというのは、ネット上などで見かけます。例えば、「変化の最大値」がデフォルトの0.001に設定されている場合、 =a1+1 がA1セルに入力されていれば、循環参照なので反復計算されるのですが、再計算のたびに必ず、1ずつ増加していくことになります。何かこのセルを使って、リンク貼り付けの図とかグラフとかの表示を再計算のたびに変化させることもできるでしょう。あるいは将棋やトランプのように、一手一手、時が流れ、記録されていくゲームに使っているのも見たことがあります。RAND関数だけだと、ランダムにしかなりませんから。 ご関心があれば、インターネットで検索してみてください。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

循環計算の本来の使い方は、1回計算した結果を次の計算に使う方法です。 このとき計算式を工夫して、2回目の計算結果は前回計算した時よりも「変化幅が小さく」なるように仕込んでおきます。 上手く工夫できていれば、繰り返し計算が進むうちに変化幅がどんどん小さくなっていき、最後にはほとんど変化がなくなります。これを「収束した」と言います。 反復計算を行う目的は、この収束値を求めることです。 エクセルの反復計算のオプションには  反復の回数  収束を判定する条件として変化の最大値 をセットで設定できるようになっています。 計算例1:ダメな計算 反復計算にチェックを入れます A1セルに =A1+1 と記入し、Enterします 収束させる工夫をなにもしていないので、100まで行って反復計算の回数制限で終了し、そこで止まります 計算例2:意味があるかどうかはさておき、収束する例 反復計算にチェックを入れます A1セルに =1+A1/2 と記入し、Enterします 変化の最大値よりも「小さい」変化となった時点で反復計算が終了します。 勿論他にも使い方はいろいろあります。目的に応じて「正しく」利用します。 #参考 エクセルでは、わざわざ「反復計算」のテクニックなど使わずとも 1行目に1回目の計算式を並べる 2行目で、1行目の計算結果を使って2回目の計算をする数式を並べる 2行目を下向けにつるつるっとコピーする すると 3行目で2行目の計算結果を使った計算結果が並び 4行目に3行目の計算結果を使った計算結果が並び  : 最後には収束値が並ぶ といった具合に、全く同じ計算をもっと安全に行う事もできます。

rainbule_p
質問者

お礼

わかりやすい説明ありがとうございます!

関連するQ&A