目次
このチュートリアルでは、Excelの円形参照の基本と、円形参照の使用に注意すべき理由を説明します。 また、Excelワークシートで円形参照を確認、検索、削除する方法と、上記のいずれにも該当しない場合、円形数式を有効にして使用する方法について説明します。
Excelのシートに数式を入力しようとしたが、なぜかうまくいかない。 代わりに、何かメッセージが出る。 循環参照 このページに辿り着いたのはこのためですか?)
何千人ものユーザーが、Excelの数式を強制的に自分のセルで計算させるという理由だけで、日常的に同じ問題に直面しています。 これを実行しようとすると、Excelは次のようなエラーメッセージを投げかけます。
"注意してください、あなたのワークブックに1つ以上の循環参照を発見しました。" "あなたの計算式が正しく計算されない可能性があります。" "注意してください、あなたのワークブックに1つ以上の循環参照を発見しました。"
簡単に言うと、Excelが言いたいのはこうだ。「おい、俺はロータリーで立ち往生するかもしれないが、本当にこのまま進んでいいのか?
このように、Excelの循環参照は厄介で、常識的には可能な限り避けるべきものですが、稀にExcelの循環参照が唯一の解決策となるケースもあるかもしれません。
Excelの循環参照とは何ですか?
ここでは、非常にストレートで簡潔な定義をご紹介します。 循環参照 マイクロソフト社から提供されています。
" Excelの数式が直接または間接的に自身のセルを参照する場合、循環参照が作成されます。 "
例えば、セルA1を選択し、次のように入力します。 =A1
を入力すると、Excelの循環参照が作成されます。 A1を参照する他の数式や計算を入力しても、同じ効果があります。 =A1*5
または =if(a1=1, "ok")
.
このような数式を完成させるためにEnterキーを押した途端、次のような警告メッセージが表示されます。
なぜ、Excelは警告を出すのでしょうか? Excelの循環参照は、無限ループを作り出し、ワークブックの計算を著しく遅くしてしまうからです。
上記のような警告が表示されたら ヘルプ をクリックするか、「OK」または「×」ボタンをクリックしてメッセージウィンドウを閉じます。 メッセージウィンドウを閉じると、Excelには、以下のいずれかのメッセージが表示されます。 ゼロ (0)または 最終計算値 循環参照を持つ数式は、場合によっては、自分自身を計算しようとする前に正常に終了することがあります。
注)循環参照を持つ数式を複数入力した場合、Excelが警告メッセージを繰り返し表示しないケースが多いようです。
しかし、なぜこのような不必要な問題を引き起こすだけの愚かな数式を作りたがるのでしょうか? そうですね、まともなユーザーなら上記のような循環式は意図的に入力したくありません。 しかし、Excelシートで偶然に循環参照を作成することがありますが、ここでは非常によくあるシナリオを説明します。
A列の値を通常のSUM式で足し算したいとき、うっかり合計セル自体(この例ではB6)を含めてしまったとします。
Excelで循環参照が許可されていない場合(デフォルトではオフになっている)、先ほど説明したエラーメッセージが表示されます。 繰り返し計算がオンになっている場合、循環式は次のスクリーンショットのように0を返します。
場合によっては、スプレッドシート内に突然1つ以上の青い矢印が表示されることもあり、Excelが狂ってクラッシュしそうだと思うかもしれません。
実は、その矢は、何もない。 トレース・プレセンス または トレースデペンデント この矢印の表示・非表示については、後ほど説明します。
ここまでで、Excelの循環参照は無価値で危険なものという印象をお持ちになり、なぜExcelは循環参照を完全に禁止しないのかと思われたかもしれません。 すでに述べたように、Excelで循環参照を使うことが正当化できる非常にまれなケースがあります。唯一の可能性ではないにしても、そのほうがより短く、より優雅な解決法を提供するからです。 次の例は、そのことを示しています。を式で表したものです。
Excelの循環参照を使用する - 計算式の例
以前のチュートリアルで、Excelで今日の日付を挿入する方法を紹介しましたが、コメントで投稿された質問の中で、圧倒的に多かったのが タイムスタンプ というのも、私が知っている唯一の解決策は循環参照を含んでおり、循環参照は慎重に扱わなければならないからです。 とにかく、非常に一般的なシナリオを紹介しましょう...
A列に商品のリストがあり、B列に配送状況を入力したとします。 はい "をB列に表示した場合、C列の同じ行に現在の日付と時刻を自動的に挿入して 静的不変のタイムスタンプ .
このExcel関数は揮発性であり、ワークシートを再度開いたり再計算したりするたびに値が更新されるため、些細なNOW()式を使用することはできません。 可能な解決策は、2番目のIFで循環参照を使用するネストしたIF関数を使用することです。
=IF(B2="yes", IF(C2=" ,NOW(), C2), "")
B2は配送状況、C2はタイムスタンプを表示させたいセルです。
上記の式では、最初のIF関数でセルB2に""があるかどうかをチェックしています。 はい " (または、数式に供給する他のテキスト) で、指定したテキストがあれば、2番目のIFを実行し、そうでなければ空の文字列を返します。 そして、2番目のIF関数は、C2にまだ値がなければ現在の曜日と時刻を取得し、既存のすべてのタイムスタンプを保存する循環式になっています。
注意:このExcelの循環式が機能するためには、ワークシートで繰り返し計算を許可する必要がありますが、これこそ次に説明することです。
Excelで循環参照を有効にする/無効にする方法
前述したとおりです。 反復計算 は、通常Excelのデフォルトではオフになっています(ここでいう反復計算とは、特定の数値条件を満たすまで繰り返し再計算することです)。 円形の計算式を機能させるには、Excelワークブックで反復計算を有効にする必要があります。
で エクセル2019 , エクセル 2016 , エクセル 2013 そして エクセル 2010 をクリックします。 ファイル > オプション にアクセスしてください。 計算式 を選択し 繰り返し計算の有効化 の下にあるチェックボックスをオンにします。 計算オプション のセクションをご覧ください。
Excel 2007の場合 オフィスボタン > エクセルオプション > 計算式 > イテレーション領域 .
Excel 2003 以前のバージョンでは 繰り返し計算 オプションは メニュー > ツール > オプション > 算出方法 タブで表示します。
反復計算をオンにする場合、以下の2つのオプションを指定する必要があります。
- 最大反復回数 box - 数式が再計算される回数を指定します。 反復回数が多いほど、計算にかかる時間は長くなります。
- 最大変化量 box - 計算結果間の最大変化量を指定します。 数値が小さいほど、より正確な結果が得られ、Excelがワークシートの計算に要する時間が長くなります。
初期設定値は、100 最大反復回数 であり、0.001である。 最大変化量 これは、Microsoft Excelが100回繰り返した後、または繰り返し間の変化が0.001未満になった後、どちらか早い方で循環式の計算を停止することを意味します。
Excelで循環参照を使用しない方が良い理由
ご存知のように、Excelで循環参照を使用するのは危険であり、お勧めできません。 パフォーマンスの問題や、ワークブックを開くたびに表示される警告メッセージ(反復計算がオンの場合を除く)以外にも、循環参照は、すぐに明らかにならないが、多くの問題を引き起こす可能性があるのです。
例えば、循環参照のセルを選択した後、誤って数式の編集モードに切り替え(F2キーを押すかセルをダブルクリック)、数式に変更を加えずにEnterキーを押した場合、ゼロが返されます。
そこで、多くの尊敬するExcelの達人からのアドバイスですが、可能な限りシートの中で循環参照をしないようにしましょう。
Excelで循環参照を見つける方法
Excelワークブックに循環参照がないか確認するには、次の手順を実行します。
- に行ってみてください。 計算式 タブの横にある矢印をクリックします。 エラーチェック を指します。 サーキュラーリファレンス そこには、最後に入力した循環参照が表示されます。
- の下に表示されているセルをクリックします。 サーキュラーリファレンス そうすれば、Excel はそのセルに正確にたどり着くでしょう。
この操作をするとすぐに、ステータスバーがワークブックに循環参照が見つかったことを通知し、そのセルのアドレスを表示します。
他のシートで循環参照が見つかった場合、ステータスバーには""だけが表示されます。 サーキュラーリファレンス " を、携帯電話のアドレス無しで表示します。
注意:この機能は、「反復計算」オプションをオンにすると無効になるため、ワークブックの循環参照をチェックする前にオフにしておく必要があります。
Excelで循環参照を削除する方法
残念ながら、Excelには、ボタンクリックでワークブック内のすべての循環式を削除できるような仕組みはありません。 循環式を削除するには、上記の手順で循環参照を個別に検査し、所定の循環式を完全に削除するか、1つまたは複数の単純な数式で置き換える必要があります。
数式とセル間の関係をトレースする方法
Excelの循環参照が明らかでない場合は トレース・プレセンス と トレースデペンデント の機能は、選択したセルに影響を与える、または影響を受けるセルを示す1本以上の線を描くことで、ヒントを与えてくれます。
トレース矢印を表示するには 計算式 tab> フォーミュラ・オーディティング グループを作成し、いずれかのオプションをクリックします。
トレース・プレセンス - 数式にデータを提供するセルを追跡する、つまり、どのセルが選択されたセルに影響を与えるかを示す線を描画します。
トレースデペンデント - つまり、選択されたセルを参照する数式がどのセルに含まれているかを示す線を描画します。
または、以下のショートカットを使用することもできます。
- Trace Precedents: Alt+T U T
- トレースデペンデント:Alt+T U D
矢印を隠すには 矢印の削除 のすぐ下にあるボタンをクリックします。 トレースデペンデント .
上記の例では トレース・プレセンス 矢印は、どのセルがB6に直接データを供給しているかを示しています。 ご覧のように、セルB6も含まれているため、循環参照となり、数式が0を返してしまいます。 もちろん、これは簡単に修正でき、SUMの引数のB6をB5に置き換えればいいのです。 =SUM(B2:B5)です。
その他の循環参照は、それほど明白ではないので、より多くの思考と計算が必要かもしれません。
このチュートリアルで、この「盲点」に光を当て、さらに研究していただければと思います。 読んでいただき、ありがとうございました。