How to Use MS Excel Iteration

by Kardi Teknomo

これを共有する。 Google+

Microsoft Excel

このチュートリアルでは、単純なカウンタを作るために作業例とMS Excelの反復を使用する方法をステップバイステップで学習します。 Excelの反復は、VBAマクロなしでMS Excelで多くの対話型の簡単なプログラムを実行するための素晴らしいツールです。 このチュートリアルで、その使い方をご覧ください。

なぜ VBA マクロの代わりに反復処理を使用するのですか?
MSエクセルで反復処理を使用するには?
MS Excel での反復処理の例
Click here to download the spreadsheet companion of this tutorial .

なぜVBAマクロの代わりに反復処理を使用するのですか?

MS Excelユーザーの中には、既存のマクロの警告に悩まされる方もいらっしゃるようです。

マクロを無効化しても、プログラムは動作しません。 ワークシートにウイルスが含まれているかどうかがわからないのです。 これは、リスクを取ることを好まない人々にとって、非常に大きなジレンマです。

Excel でマクロを使用せずに反復処理 (While Loop や For Next のようなもの) を行うプログラムを作成する方法はありますか?

はい、MS Excel の反復処理では、まったくプログラミングをせずに、For-Next ループの素晴らしい仕事をすることができます(実際には、スプレッドシートでのプログラミングは必要かもしれませんが、マクロは必要ありません)。 Microsoft Excel を使用すると、VBA マクロなしで反復処理することができます。 このため、ユーザーはウイルスに関する煩わしい警告に悩まされることはありません。 このMS Excelの反復は、循環参照の使い方を知っていれば、素晴らしいツールの1つです

MS Excelで反復を使用するには?

MS Excelの反復計算の使い方のキーポイントは、表計算ソフトで値を蓄積するための循環リンクを作成し、メニュー「ツール」「オプション」「計算タブ」「反復計算」チェックボックスで「反復計算」オプションにチェックを入れることです。

Microsoft excel は、最大反復回数(デフォルトは1000回)、または反復の間に計算式のすべての値が最大変化量(デフォルトは0.0001)より小さく変化すると、計算を停止します。 ループは、最大反復回数または連続する2つの反復回数間の最大変化量によって自動的に制限されます。 反復を再度実行するには、F9 キーを押す必要があります。

計算オプションを自動にすると、すべての計算が通常通り行われます。 計算オプションを「手動」にすると、計算を変更するために1ステップごとにF9キーを押す必要があります。

MS Excelの反復計算の例

MSの反復計算の例として、簡単なカウンタプログラムを作ってみましょう。 以下、順を追って説明します

1.B3に0、B4に100と入力します。 A3にStart、A4にEnd、A5にCounterと入力します。

2.B5に=IF(B5<B4, B5+1, B4)と入力します。 カウンタが100以下の場合、循環参照の警告を無視し、以下のメッセージにOKをクリックします。

3.ツールメニュー > オプション > 計算タブをクリックします。 計算オプションをManualにし、Iterationにチェックを入れ、Maximum iterationを1にします(下図参照)

4.計算を開始します。 ファンクションキーF9を押して、100までカウンターを増やします

反復は非常にうまくいき、カウンターは手動で仕事をすることができます。 ユーザーがカウンターを増やす必要があるたびに、F9キーを押す必要があります。 しかし、手動で100回F9キーを押すことは、ユーザーにとって良い仕事ではありません。 反復処理を自動化できますか? はい。「計算」オプションを「自動」に設定し、最大反復回数を100または1000に設定すれば、反復処理を自動化することができます。

しかし、このカウンタにはまだ問題があります。 反復計算の初期値を変更したい場合、計算のたびに数式を入力し直す必要があります。 そうしないと、計算された値が初期値として使われます。 初期値によっては、計算結果が不安定になったり、#NUMが計算エラーになったりすることがあります。 このような場合、間違いを修正するために再度計算式を手入力(またはペースト)するのは非常に面倒です。

初期値の問題を回避するために、カウンターをゼロに戻すにはどうしたらよいでしょうか。

1. 上記のカウンターを継続し、D3のStartにDeleteします。 フォントやセルに特別な色をつけて、コントロールボタンと区別できるようにする

2. B5に追加のIf-Thenルールを入力する =IF(D3=””,B3, IF(B5<B4,B5+1,B4) ) となります。

3.メニュー ツール > オプション > 計算タブ をクリックします。 計算オプションを「自動」に設定し、「繰り返し」にチェックを入れ、「最大繰り返し回数」を1000回に設定します(下図参照)

4.計算を開始します。 ユーザーがコントロールセルD3の内容を削除するたびに、カウンターはゼロにリセットされます。 ユーザーがコントロールセルD3に任意の文字や数字を入力すると、カウンタは自動的に最大値100に達するまで実行されます。 (B4の値を500に変更して様子を見ることもできます)

これでカウンタをリセットするコントロール付きの簡易カウンタが完成しました。

科学的な手順のための特別な注意点: 反復計算の収束が確実でない限り、ある反復計算の結果は誤解を招く可能性があります。 結果として得られるのは、最大反復の後の値である。 反復計算のもう一つの弱点。 反復処理の値をグラフ化することができない(普通の表計算ソフトで可能)。 例えば、サイクルがある場合、反復が収束しているのかどうかがはっきりしないことがある。

スプレッドシートのサンプルはこちらからダウンロードできます

こちらもご覧ください。
Newton Raphson チュートリアル 、 MS Excel チュートリアル インデックス 、 Kardi Teknomo のチュートリアル
Rate this tutorial and send your feedback

コメントを残す

メールアドレスが公開されることはありません。