【コラム】(財務モデリングの最先端)第10回 財務モデルにおけるフラグとは

2020.03.13 連載コラム

ナレッジパートナー:川井 文哉


第1回のコラムにて、財務モデルの基本的な目的は意思決定したい(計算)項目に対するシミュレーションの実行だという点について述べた。単なる四則演算と最も大きく異なる点は、条件分岐が存在するという点だ。今回は、財務モデルの中で条件分岐を作成するためのフラグという概念ついて、基本的な考え方や使い方について解説をしていきたいと思う。

財務モデルで使用するフラグ (Flag) とは

フラグとは、財務モデル内において ON と OFF を制御するための、最も基本的な概念だ。フラグをどれだけ使いこなせているかが、モデルそのものの品質を左右すると言っても過言ではない。財務モデル内において ON と OFF を制御、判別しなければならない計算は多岐にわたる。例えば、運転開始から3年しか発生しないような費用があるとすると、運転開始から3年間のみ ON となるようフラグを用いて計算することになるし、年齢が40歳以上の人件費をモデル内で集計するなら、40歳以上のスタッフが ON となるようフラグを用いて集計を行う。感応度分析を行うためにスイッチを作ってユーザーが ON、OFF で切替えるようにすることもあるし、計算が合っているか、間違っているかのチェックも計算結果を ON (正) と OFF (誤) とすることで、どんな計算も統一的なチェックが可能だ。

この性質を用いて、フラグは財務モデル内の計算で条件分岐を作成するために使用される。なお、フラグの考え方に慣れていない人のために、ON と OFF という書き方をしたが、正確に言うと、フラグが持つ値は TRUE (ON) または FALSE (OFF) の 2 種類となる。TRUE は「真」、FALSE は「偽」とも訳され、演算が正しい時には TRUEとなり、演算が正しくない時には FALSE となる。

フラグ (Flag) を使った計算

例えば、Excel の適当なセルに以下の数式を打ち込んでみよう。

= 10<20

当然ながら、20は10より大きいので、上記の式は正しい。よって Excel での計算結果も TRUE になっているはずだ。念のため正しくない例も試してみよう。Excel の適当なセルに以下の数式を打ち込んでみよう。

=2*5=11

2 x 5 は 10 なので、11と等しくはなく、上記の式は成り立たない。Excel での計算結果を見ると、FALSE となっているはずだ。

このように条件式の真偽によって作成したフラグは、最終的にIF 関数などの条件分岐を行う関数と組み合わせて使う。以下の数式を打ち込んでみよう。

=IF(TRUE, 100, 200)

=IF(FALSE, 100, 200)

=IF(10<20, 100, 200)

=IF(2*5=11, 100, 200)

IF 関数の使い方は、 IF(論理式, 真 [TRUE] の場合, 偽 [FALSE] の場合) だ。論理式とは、真 [TRUE] か 偽 [FALSE] のことなので、上記の式は、それぞれ論理式の中身によって 100 か 200 のどちらかとなる計算式となっている。1つめの数式は論理式の部分が TRUE なので、100。2つめの数式は、論理式の部分が FALSE なので、200。3つめの数式は、10<20 の結果が TRUE なので、100。4つめの数式は、2*5=11 の結果が FALSE なので、200。まとめると、それぞれ 100, 200, 100, 200 となっているはずだ。

フラグ (Flag) の代わりに 1 と 0 を用いてはダメか

TRUE、FALSE という表記になじみのない方の中には、Excel の中で TRUE、FALSE 使わずに 1 と 0 で ON と OFF を切り替えればいいじゃないかという意見もある。実際に、フラグの代わりに 1 と 0 を用いて条件分岐を行っているモデルをみかけることもあるが、専門家の立場からは 1 と 0をフラグとして使用するのはあまりオススメしない。モデルを後から見ると、金額表記と非常に区別しづらいのだ。

100万円単位で計算をしていると、50万以上100万円以下の値は全て四捨五入されて 1 となるため、僅かな税金が発生するケースや、現預金に対する受取利息など、僅少な金額を計算する場合、ある項目が1 と 0 のみで金額が構成されることは決して少なくない。しかし、TRUE と FALSE と表記されていれば、それがフラグであることは明らかだ。条件分岐を用いた計算であることも一目で分かるし、条件付書式を用いてハイライトしやすい。フラグを全く使わずに、IF の中のみで条件式を記述しているモデルもよく見かけるが、この場合条件式の結果が TRUE か FALSE が判別しづらく、TRUE と FALSE どちらの場合の値を返しているのか数式を解読しなければならない。はっきり言ってとても面倒だ。以上のような理由から、是非皆さんもフラグを用いて計算を行い、1歩上のレベルへステップアップして欲しい。

東京モデリングアソシエイツ株式会社
マネージングディレクター
川井 文哉

*アイキャッチ Photo by Coffee Geek on Unsplash

【バックナンバー】
【コラム】(財務モデリングの最先端)第9回 Debt SizingとDebt Sculpting
【コラム】(財務モデリングの最先端)第8回 財務モデルにおけるシートの機能
【コラム】(財務モデリングの最先端)第7回 循環計算の解決策
【コラム】(財務モデリングの最先端)第6回 循環参照を避けるべき理由
【コラム】(財務モデリングの最先端)第5回 フォーマットはなぜ重要か(2)
【コラム】(財務モデリングの最先端)第4回 フォーマットはなぜ重要か(1)
【コラム】(財務モデリングの最先端)第3回 財務モデリングにおいて知るべき原理原則
【コラム】(財務モデリングの最先端)第2回 Excelに取りかかる前に決めるべきこと

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

, , , , , , , ,


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

月別アーカイブ