【コラム】(財務モデリングの最先端)第6回 循環参照を避けるべき理由

2020.01.17 連載コラム

ナレッジパートナー:吉村 翔


循環参照とは

財務モデリングに取り組む方の大半はご存じであろうが、エクセルには循環参照という機能が存在する。循環参照とは、数式が入力されているセル自体が、直接的または間接的にその計算の要素(引数)となっており、セル参照が循環している状態を指す。エクセルにおいて、循環参照が発生した場合には以下のエラーメッセージが表示される。

プロジェクトファイナンスに係る財務モデルでも、借入金のアップフロントフィー計算や利息計算など、循環する計算ロジックが必要であるケースは頻出する。その解決策として、単純に循環参照を使っているモデルも少なくないのが現状であるが、財務モデリング専門家の間では循環参照を使うことが避けるべきであるという認識が一般的であり、筆者もその立場をとっている。本稿では循環参照を避けるべき3つの理由を述べる。

循環参照を避けるべき理由① – 循環参照の増幅リスクが高まる

上記のエラーメッセージが表示されることにより、1つ目の循環参照が発生した際にはすぐに確認可能である。しかし、後で対処しようと作業を続けた場合、2つ目以降の循環参照が発生した場合にも表示されるエラーメッセージは同一のものであるため、それを瞬時に確認することは困難である。そうして2つ3つの循環参照が増えるごとに、後で対処しようと予定していた1つ目の循環参照を解決がますます困難になり、次第にほぼ不可能な状態にまで陥ってしまうであろう。

循環参照を避けるべき理由② – 一度エラーが生じると修復不可

循環参照の解決策としてエクセルの反復計算機能をご存じの方も多いであろう。反復計算は、エクセルの下記のオプション画面から設定可能である。

この機能を用いることで、比較的シンプルな循環ロジックであれば、あるべきモデルの機能を損なわずに正しい計算を実行することが可能である。 しかし、この反復計算の使用による循環参照の解消についても筆者は否定的な立場である。まず一つに、理由①で述べた循環参照の増幅に関するリスクを取り除くことができない。さらに反復計算を利用した場合、一度でもタイプミスなどによるエラーが発生すると元に戻すことができないことは、大きなデメリットであると考える。

循環参照を避けるべき理由③ – 計算の正確性が失われる可能性がある

上述の通り、比較的単純な循環ロジックであれば、反復計算を使用することで解決可能である。しかし、少し複雑になると計算の正確性が損なわれるリスクがある。筆者の過去の経験において、クライアントの要望に応じて循環参照を含んだモデルを、反復計算が機能する状態で使用していた案件があった。ところが、案件終盤になって複雑な循環参照が原因で計算が正しく回っていないことが検出され、正しい計算に直した結果、想定した採算性を確保するためにはそれまで議論していた買収価格より約10%も低いものしか提示できないことが判明した。当案件の結末は容易に想像できるものとなってしまったことは、筆者のキャリアの中でも最も苦い経験の一つである。もしかしたら、良いスペックのPCであれば問題なく計算できていた可能性も考えられるが、問題は正しく計算されているかどうかの確認が難しいことだ。それ以来、たとえクライアントの要望であっても反復計算を使用した循環ロジックの導入は絶対に行わない方針としている。

まとめ

一部で賛同意見も聞かれることが不思議に思うほど、財務モデリングにおける循環参照および反復計算の使用に関して筆者は否定的であり、そのいくつか理由を本稿では述べてきた。 次回は、循環する計算ロジックが存在する場合における、反復計算以外の解決手段例をいくつか紹介しようと思う。

東京モデリングアソシエイツ株式会社
マネージングディレクター
吉村 翔

*アイキャッチ Photo by Ross Sneddon on Unsplash

【バックナンバー】
【コラム】(財務モデリングの最先端)第5回 フォーマットはなぜ重要か(2)
【コラム】(財務モデリングの最先端)第4回 フォーマットはなぜ重要か(1)
【コラム】(財務モデリングの最先端)第3回 財務モデリングにおいて知るべき原理原則
【コラム】(財務モデリングの最先端)第2回 Excelに取りかかる前に決めるべきこと

【コラム】(財務モデリングの最先端)第1回 財務モデルの目的

【オススメ!】
『 【第117期】プロジェクトファイナンス実践応用コース 』

, , , , , , , , , ,


デロイト トーマツ|インフラ・PPPアドバイザリー(IPA)
ISS-アイ・エス・エス

月別アーカイブ