循環参照を削除または許可する

数式が入力されましたが、動作していません。代わりに、"循環参照" に関するメッセージが示されます。多くのユーザーから同じ問い合わせを受けていますが、これは、数式が入力されているセル自体を計算しようとし、かつ反復計算と呼ばれる機能がオフになっているために発生します。次にその例を示します。

循環参照の原因となる数式

数式 =D1+D2+D3 は、数式がセル D3 に入力されているため、中断されます。さらに、数式はそれ自体のセルを計算しようとします。この問題を解決するには、数式を別のセルに移動します (数式バーで Ctrl キーを押しながら X キーを押して数式を切り取り、別のセルを選択して、Ctrl キーを押しながら V キーを押します)。

もう 1 つの一般的な間違いは、それ自体の参照を含む関数を使用することです。たとえば、セル F3 に =SUM(A3:F3) が入っています。次に例を示します。

お使いのブラウザーではビデオがサポートされていません。 Microsoft Silverlight、Adobe Flash Player、Internet Explorer 9 のいずれかをインストールしてください。

このような方法もお試しいただけます。

  • 数式を入力中である場合は、数式を入力したセルから始めて、そのセル自体を参照しているかどうかを確認します。たとえば、セル A3 に =(A1+A2)/A3 のような数式が含まれている場合があります。(セル A1 内の) =A1+1 のような数式も循環参照エラーの原因になります。

調査を行う場合は、間接参照も確認します。間接参照は、セル A1 に入力した数式が B1 にある数式を使用し、今度はその数式がセル A1 を参照する場合に発生します。わかりにくい場合は、これが Excel にどのように影響するかを考えてみましょう。

  • エラーを見つけられない場合は、[数式] タブをクリックし、[エラー チェック] の横にある矢印をクリックして、[循環参照] をポイントし、サブメニューの一覧の最初のセルをクリックします。

    循環参照コマンド

  • セルに入力されている数式を確認します。そのセルが循環参照の原因かどうかを特定できない場合は、[循環参照] サブメニューに表示されている次のセルをクリックします。

  • ステータス バーに "循環参照" と表示されなくなるまで手順 1 から 3 のうち必要な手順またはすべての手順を繰り返して、ブックの循環参照を確認および修正します。

ヒント    

  • 左下のステータス バーには "循環参照" という文字列と 1 つの循環参照のセル番地が表示されます。

    アクティブなワークシートではなく、他のワークシートに循環参照が存在している場合は、ステータス バーには "循環参照" のみ表示され、セル番地は表示されません。

  • トレース矢印をダブルクリックすると、循環参照しているセルの間を移動できます。この矢印は、現在選択されているセルの値に影響を与えるセルを示しています。トレース矢印を表示するには、[数式] をクリックしてから、[参照元のトレース] または [参照先のトレース] をクリックします。

    参照元のトレース

循環参照に関する警告メッセージについて

Excel で循環参照が初めて見つかったとき、警告メッセージが表示されます。[OK] をクリックするか、メッセージ ウィンドウを閉じます。

メッセージを閉じると、Excel にゼロまたはセル内で最後に計算された値のいずれかが表示されます。ここで、「ちょっと待って。最後に計算された値?」とお考えではないでしょうか? そうです。数式は、それ自身を計算しようとする前に、正常に実行される場合もあります。たとえば、IF 関数を使用している数式は、数式が入力されているセル自体を計算する元となる引数 (数式が正しく動作するうえで必要なデータの一部) をユーザーが入力するまで、動作する場合があります。このような場合、最後に成功した計算の値が保持されます。

0 が表示されていないセルについて循環参照が疑われる場合は、次の手順を実行します。

  • [数式] バーで数式をクリックし、Enter キーを押します。

重要   多くの場合、循環参照を含む追加の数式を作成したときは、警告メッセージは再表示されません。警告メッセージが表示されるシナリオの一部を次の一覧に示します。

  • 開いているブックで、ある循環参照を初めて作成したとき

  • 開いているすべてのブックですべての循環参照を削除してから、新しい循環参照を作成したとき

  • すべてのブックを閉じ、新しいブックを作成して、循環参照を含む数式を入力したとき

  • 循環参照を含むブックを開いたとき

  • 他に開いているブックがない場合に、ブックを開いて、循環参照を作成したとき

反復計算について

場合によっては、関数を (特定の数値条件を満たすまで) 繰り返し実行するために、循環参照が必要な場合もあります。これにより、コンピューターの動作が遅くなる場合があるので、Excel 内では反復計算は通常はオフになっています。

反復計算を使い慣れていていない場合は、循環参照をそのままにしないことをお勧めします。必要な場合は、反復計算を有効にできますが、数式で再計算を行う回数を決める必要があります。反復計算を有効にし、最大反復回数または変化の最大値の値を変更しないと、計算が 100 回繰り返されるか、または循環参照のすべての値の変化が 0.001 より小さくなるかのいずれか一方の状態になると、Excel の計算が停止します。ただし、繰り返しの最大回数および許容可能な変化の量を制御できます。

  1. Excel 2010 以降を使っている場合は、[ファイル]、[オプション]、[数式] の順にクリックします。Excel for Mac を使っている場合は、[Excel] メニューをクリックしてから、[環境設定]、[計算方法] の順にクリックします。

    Excel 2007 を使っている場合は、Microsoft Office ボタン Office ボタンの画像 をクリックし、[Excel のオプション] をクリックして、[数式] カテゴリをクリックします。

  2. [計算方法の設定] の [反復計算を行う] チェック ボックスをオンにします。 Mac で [反復計算を使う] をクリックします。

  3. 再計算を実行する最大の回数を設定するには、[最大反復回数] ボックスに反復計算の回数を入力します。反復計算の回数が多いほど、ワークシートの計算に必要な時間は長くなります。

  4. [変化の最大値] ボックスに、反復の継続に必要とされる最小値を入力します。これは、計算された値における最も小さい変更です。数値が小さいほど、計算結果は正確になりますが、ワークシートの計算に必要な時間は長くなります。

反復計算の結果は、次の 3 つのうち、いずれかになります。

  • 解が収束します。つまり、安定した最終結果が得られます。これは望ましい状態です。

  • 解が発散します。つまり、計算を反復することにより、現在の結果と前の結果とで相違が増大します。

  • 解が 2 つの値の入れ替えになります。たとえば、最初の反復後は結果が 1、次の反復後は結果が 10、その次の反復後は結果が 1 のようになります。

ページの先頭へ

補足説明

Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。

関連項目

Excel の数式の概要

壊れた数式のエラーを回避する方法

数式エラーを見つけて修正する

Excel キーボード ショートカットとファンクション キー

Excel 関数 (アルファベット順)

Excel 関数 (機能別)

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×