OPERIS ANALYSIS KIT (OAK)
機能別評価サマリー
- オススメ度: ★★★ (3/5)
- ナビゲーション機能: ★ (1/5)
- マップ生成機能: ★★★★★ (5/5)
- ツリー生成機能 ★ (1/5)
- フォーマット補助 ★ (1/5)
- カスタマイズ性 ★★★ (3/5)
- その他機能 ★★★ (3/5)
Operir Analysis Kit (OAK) は、財務モデルの計算量解析に特化した専門ソフトウェアです。特に、シートごとにセルの情報を自動判別してハイライトを作成するマップ機能や、財務モデル内の計算量を解析してレポートを作成するサマリー機能は、OAK でしか実現できないため、とても重宝します。解析機能では群を抜いているものの、逆にその他の機能はほとんどありません。ナビゲーション機能やツリー生成、フォーマット補助機能などはなく、一部名前の定義についての編集補助機能が便利なぐらいです。解析に特化しているという意味で、カスタマイズできる部分も少なく、財務モデルの構築過程において使うことはほぼありません。値段も月額購読ではなく、一括購入のためハードルが高く、アドバイザリー向けの解析専門ソフトウェアという特徴を加味してオススメ度は★★★。
公式ページへOperis Analysis Kit オススメ機能一覧
- OAK Map - セルの情報を自動判別して独立したマップファイルやハイライトを生成する
- OAK Summary - 財務モデル内の計算量を解析してレポートを作成できる
- OAK Compare - バージョンの異なる2つの財務モデルの差異を解析して一覧で表示できる
- ReDefine - 定義した名前を即座に変更できる
- DeApply - 定義した名前を削除&自動でセル番地へ変換できる
セルの情報を自動判別して独立したマップファイルやハイライトを生成するOAK Map
Operis Analysis Kit の Map は、セルの情報を自動判別してハイライトしてくれる機能です。ブック内の全てのシートを解析し、それぞれのシート内においてセル情報、例えば数式、値、テキストなどを判別して、別のブックとしてレポートを作成してくれます。Arixcel Explorer の Formula Map と同じくマップ生成機能の一つですが、OAK Map の方が様々な点で高機能です。まず、OAK Review のリボンから、Map をクリックすると、以下のような設定画面が出てきます。
- Formulae ... ハイライトする数式の種類
- Constants ... ハイライトするハードコード値の種類
- Other ... 名前の定義や配列など、ハイライトするその他データ
- Output ... 新しいブックに出力、同じブックに出力、現在のセルにハイライト (Overlay) を選択
- Input ... Map を作成するブックを選択
- Selected Worksheets ... マップを生成するシートを個別に選択
ハイライトの有無を個別項目ごとに選択できるようになっていますが、基本的に全てチェックをつけて使用します。気を付ける点は、Output にて、New Workbook が選択されていることと、Input にて、マップを生成したいモデルが正しく選択されていることの2点です。Output の Same Workbook は、開いているモデル内のそれぞれのシートの隣にマップが生成されますが、個人的には新しいブックとしてマップを生成し、既存のモデルと Alt + Tab で切替ながら見る方が好きなので、あまり使いません。Overlay は現在開いているモデルを直接ハイライトしてくれるため時に見やすいのですが、 Ctrl + Z などで元に戻せないため、必ずファイルを保存してから行ってください。上記設定を完了して OK ボタンを押すと...
ステータスバーで解析の進捗状況が表示されます。しばらく待って解析が完了すると...
まず最初に、ハイライトの説明画面が表示されます。デフォルトのフォーマットは少し見にくいのですが、数式が入っている箇所はパープルでハイライトされ、ユニークな数式は赤のアスタリスク (*) 。< は、数式左に同じ。^ は数式上に同じ。+ は数式左と上に同じ、です。Constant とはセルにハードコード (ベタ打ち) されている情報で、Text は文字列、Logical constant は TRUE / FALSE の値、Numeric Constant は数字です。他にも、#REF、#DIV、#NAME といった エラーとなっている箇所は赤く表示、名前の定義箇所は青い枠線で囲まれる、など補足としてのハイライトが Other Features として表示されています。早速、オリジナルのシートとマップの生成シートを見比べてみると ...
オリジナルの BS Ca シートの元々のフォーマットはこんな感じです。
もともと BS Ca という名前であったシートが、Map- BS Ca というシート名でマップが生成されています。シート全体のハイライトが見やすいよう行列の幅が圧縮されているため少し分かりにくいのですが、元々のセル番地とマップ生成後のセル番地は完全に一致しています。例えば、オリジナルの BS Ca シートでは、A10 のセルに "Calculation" という大きな文字列が入っており、マップシートでも A10 のセルは Calculation のままです。ちなみに文字列のハードコードであるため、薄い緑でハイライトされています。
財務モデル内の計算量を解析してレポートを作成できるOAK Summary
OAK Summary 機能は、モデル全体を解析し、計数的なサマリーを作成してくれる機能です。OAK Map はどちらかというセル単位のハイライト機能ですが、OAK Summary は解析結果のレポートを作成する機能です。OAK Summary の機能と使い方について説明します。
OAK Review のリボンから、Summarize ボタンをクリックすると、上記のような設定画面が表示されます。基本的に全てチェックをつけて使用しますが、解析レポートを別のブックとして出力したいため、Output in Same Workbook のチェックは外します。また、Whole Workbook からレポートを作成したいブックが選択されていることを確認してください。一部のシートのみを解析したい場合、Selected Worksheets からシートを選択しましょう。上記設定を完了させ、OKボタンを押すと ...
OAK Map 機能と同様、解析の進捗状況がステータスバーで表示されます。解析が終了すると、レポートが生成されます。生成されるレポート一覧は以下。
- Workbook Summary ... ユニークな数式の数、ハードコードセルの数など、計算量の情報をシート別に表示。
- Distinct Formulas ... モデルに含まれるユニークな数式のシート別一覧。各数式の複雑度も表示。
- Referred Constants ... 参照されているハードコードセルのシート別一覧。セル番地も表示。
- Risk Analysis ... ブック全体の計算リスク総量を独自に計算。数式ごとにリスク値を計算し、合計値を算出。
- Cross References ... シート間の参照数クロス集計表を作成。
Workbook Summary
Workbook Summary では、シートごとの計算量が表示されます。計算量の項目としては、データが存在する最終行、最終列、データが存在するセル数、数式の総セル数、ユニークな数式の数、エラーを返している数式数、ハードコード値が入力されているセル数、結合されているセル数など。
Distinct Formulas
Distinct Formulas では、ユニークな数式の一覧を作成します。それぞれの数式について、Worksheet とセル番地が表示され、また複雑度、出現回数、外部リンク数がカウントされています。複雑度は、数式内に出現する要素数をカウントしたものです。例えば、SUM(A1, B1) + 10 という数式は、A1、B1、10 という3つの要素で計算されているため、複雑度は 3 となります。ちなみに、セル範囲 (e.g. A5:H10 ) は 1 要素としてカウントされるため、SUM( A1, B1 ) の複雑度は 2 ですが、 SUM( A1:B1 ) の複雑度は 1 となります。
Referred Constants
Referred Constants では、ブック内で参照されているハードコード値の一覧を作成します。それぞれの値について、Worksheet とセル番地が表示されます。セルが結合されている場合は、Merged Cell という表示になる点に留意。
Risk Analysis
Risk Analysis では、ブック全体のリスク量が OAK 独自に計算されています。ユニークな数式ごとに、ネスト数、OFFSET関数の使用、INDIRECT関数の使用、LOOKUP関数の使用、IFERROR関数の使用、数式内にハードコードされている値の数、などを用いて、これらをそれぞれの Weight (リスク係数) と掛け合わせることで、リスク値を独自に計算。最後に、それらを足し合わせることで、モデル全体としてのリスク量が計算されています。独自のリスク量定義ではあるものの、数式のネストを繰り返したり、財務モデルの構築に好ましくない関数を使うほどリスク量が高くなる計算となっており、直感的にそこまで間違ってはいないという印象です。
Cross References
Cross References では、シート間の参照数をカウントしてマトリックス形式で表示してくれます。見方としては、上のシートが左のシートを参照する数をカウントしています。例えば、上記の表で上 FS 、左 BS Ca の部分を見ると 28 と表示されていますが、これは FS シートが BS Ca を 28回参照しているという意味になります。参照数はユニークな数式ごとに発生するため、参照のセル数ではないことに注意して下さい。
バージョンの異なる2つの財務モデルの差異を解析して一覧で表示できるOAK Compare
OAK Compare は2つのモデルを比較して、差異を解析したレポート作成してくれる機能です。財務モデルをレビューする際に、前のバージョンから具体的にどこが変更されたのか正確に把握することができるので、実務上でも重宝する機能です。レポートの作成と共に、2つのモデルの変更点をそれぞれハイライトする機能もついているため、それぞれのバージョンを実際に見ながら変更点を直接確認できます。
Oak Review の Compare グループから、Workbooks のボタンを選択すると、上記のような設定画面が表示されます。ここでは、元々のモデル Sample_Model.xlsx にアップデートを加えた、 Sample_Model2.xlsx との変更点について OAK Compare 機能を使って解析してみたいと思います。まず、Selection #1、Selection #2 にそれぞれ比較したい2つのブックを選択します。デフォルトではすべてのシートを比較するため、Compare All にチェックがついていることを確認して下さい。シート数が一致していない場合、例えばあるシートが片方のモデルにあって、片方のモデルにない場合は比較ができないため、Compare All のチェックを外し、比較可能なシートを両者選択します。財務モデルの際には、行ごとに項目が計算されるため、Align Rows にチェックがついていることを確認し、Compare では Formulas にを選択します。Results の設定では、差異をモデル内で直接ハイライトしたい場合は、Highlight Differences にチェックを入れます。Write Report にチェックが入っていることを確認して、Compare ボタンを押すと ...
OAK Map 機能と同様、解析の進捗状況がステータスバーで表示されます。解析が終了すると、2つのモデルの差異についてサマリーレポートである Comparison Summaryと、それぞれのシートでの変更点一覧が生成されます。ここでは、Summary と、2つのシートの差異についてそれぞれ見てみると ...
Comparison Summary
2つのモデルの比較サマリーです。1 列目に2列目に、それぞれの財務モデルのシート一覧が表示されています。3列目の Number of cell differences found は、それぞれのシートを比較解析して見つかった異なるセルの数。Rows inserted および Columns inserted は、文字通りそれぞれのシートにおいて挿入された行列の数がカウントされています。尚、Comparison Summary のシート名はレポートブック内のリンクとなっており、これらをクリックすると自動的に対応するシートの差異一覧へジャンプすることができます。
変更点一覧 PL Ca シート例
PL Ca シートの差異一覧です。1 列目に、差異があったセル番地が表示され、2列目にどのようにセルが変化しているかの型が独自に定義されて表示されています。3列目には変更前のセルの中身が記載され、4列目には変更後のセルの中身が記載されています。PL Ca は計算シートであるため、変更された数式が一覧として羅列されています。行の挿入や削除が起こっている場合、比較したいセル番地が変わっていたりすることもあり、100%正しく変更前と変更後の結果が表示されている訳ではないことに留意する必要があります。
変更点一覧 Project シート例
Project シートの差異一覧です。Project シートは主に前提値を入力するシートであるため、変更があった入力値を一覧で比較でき、とても便利です。また、Change Type が CC となっていますが、これは Constant to different constant の略で、ハードコード値が他の値へ変化しているという意味になります。OAK が独自に定義する、 Change Type の一覧は以下。
- CF ... Constant to formula
- CC ... Constant to different constant
- FC ... Formula to constant
- FF ... Formula to different formula
- F{F} ... Formula to array formula
- {F}F ... Array formula to formula
- {F}C ... Array formula to constant
- C{F} ... Constant to array formula
- -C ... Inserted constant
- C- ... Deleted constant
- -F ... Inserted formula
- F- ... Deleted formula
- -{F} ... Inserted array formula
- {F}- ... Deleted array formula
- CA ... Constant to alignment blank
- AC ... Alignment blank to constant
- FA ... Formula to alignment blank
- AF ... Alignment blank to formula
- A{F} ... Alignment blank to array formula
- {F}A ... Array formula to alignment blank
定義した名前を即座に変更できるReDefine
ReDefine は、一度付けた名前の定義を、違う名前に置換できる機能です。Excel のデフォルト機能である名前の管理から編集で変更することもできるのですが、如何せん一度つけた名前をウインドウ内で探すのが面倒です。OAK の ReDefine 機能を使えば、名前を付けた場所を選択して起動すると、変更したい名前が既に入力されているので、新しい名前にすぐ置換できます。例えば、CT.OperatingRevenue.A.Ca を置換するために、名前がついている箇所を選択して OAK Development の Names グループから、ReDefine をクリックすると ...
上記のようなポップアップウインドウが表示されます。使い方は、Old Name の箇所に変更したい名前を入力し、New Name の箇所に変更後の名前を入力します。名前を付けた場所を選択して起動すると、変更したい名前が Old Name と New Name に既に入力されているので、New Name の名前を変更して Rename を押せば、すぐに変更できます。Excel デフォルトの名前の管理機能と同じく、名前の参照先を変更後の名前に置換してくれるため、参照先を手動で修正する必要はありません。
定義した名前を削除&自動でセル参照へ変換できるDeApply
DeApply は、名前の定義を削除する機能です。Excel のデフォルト機能でも名前の定義を削除すること自体は名前の管理から可能なのですが、削除した名前が #NAME エラーとして財務モデル内に残ってしまいます。DeApply 機能を使えば、名前の定義を削除すると共に、削除した名前が使われている箇所を、従来のセル参照の形へ自動的に置換してくれます。特定の名前を消すこともできますが、個人的に使うことはないです。中途半端に名前の定義が使われている財務モデルをレビューする時や、名前の定義に慣れていない関係者にモデルを共有する時など、名前の定義を全て削除するためによく使います。
DeApply ボタンを押すと、上記のようなウインドウにて、定義されている名前の一覧が表示されます。削除&置換したい名前を選んでウインドウ右上の DeApply ボタンを押すと、選択した名前が削除され、財務モデル内の数式にてセル番地に置換されます。Select All にチェックをつけると、全ての名前を選択できます。Ignore Constants にはデフォルトでチェックがついていますが、これによりハードコード値として定義されている名前は表示されない仕組みとなっています。