<< セルと一緒に消えます | main | 削除された機能「グラフ編」 >>

循環参照の見つけ方とバグ

0
    複数のセルがお互いを参照しあう状態を循環参照と呼びます。Excel 2003では、誤って循環参照を作ってしまった場合[循環参照]ツールバーが表示されました。[循環参照]ツールバーでは、現在循環参照しているセルがリストから選択できますので、離れたセルが循環参照していても容易に発見することができました。



    ツールバーがなくなったExcel 2007では、次のようにして循環参照しているセルを見つけます。リボンの[数式]タブを開き、[ワークシート分析]グループの[エラーチェック]ボタン右にある▼をクリックします。[エラーチェック]ボタンをクリックしてしまうとワークシートのエラーチェックが行われるだけですので注意してください。▼をクリックして[循環参照]をポイントすると、循環参照しているセルが表示されます。



    もちろん、別のシートや別のブックを参照している場合には、そのように表示されます。



    このときステータスバーには、循環参照が起きているというメッセージと、そのセルのアドレスが表示されます。



    動作の検証をしていて、このステータスバー表示にバグがあるのを発見しました。

    循環参照しているブックを開いている状態で、新しいブックを挿入します。挿入したブックがアクティブになり、ステータスバーには「循環参照」とだけ表示され、セルのアドレスは表示されません。循環参照している問題のブックが非アクティブになったからです。



    さて、この新しく挿入したブックに自動再計算関数を入力してみましょう。たとえばセルA1に「=INDIRECT("B1")」と入力します。



    すると、自動再計算関数を入力したセルが循環参照しているとして、ステータスバーにアドレス(ここではINDIRECT関数を入力したA1)が表示されます。



    どう考えてもセルA1は無関係です。おそらく、Excelの内部で複数回再計算が行われたセルをチェックしているのでしょうけど、循環参照しているセルだけでなく、自動的に再計算が行われる関数も誤って見つけてしまうのだと思います。なお、自動再計算関数ではない関数を入力した場合は、ステータスバーに表示されません。

    コメント
    コメントする









    この記事のトラックバックURL
    トラックバック
    Topページへ戻る
    calendar
    1234567
    891011121314
    15161718192021
    22232425262728
    2930     
    << April 2018 >>
    selected entries
    categories
    archives
    recent comment
    recent trackback
    recommend
    recommend
    recommend
    recommend
    recommend
    links
    profile
    search this site.
    others
    mobile
    qrcode