思いつくところあって、「バフェットからの手紙」を読み直しています。
最初によんだときは、退屈で仕方なかったのですが、いま非常におもしろく読めます。
少しはファイナンシャルリテラシーが上がったのかと、ちょっとうれしくなりました。
| バフェットからの手紙 ? 「経営者」「起業家」「就職希望者」のバイブル ローレンス A カニンガム 増沢 浩一 Lawrence A. Cunningham by G-Tools |
思いつくところあって、「バフェットからの手紙」を読み直しています。
最初によんだときは、退屈で仕方なかったのですが、いま非常におもしろく読めます。
少しはファイナンシャルリテラシーが上がったのかと、ちょっとうれしくなりました。
| バフェットからの手紙 ? 「経営者」「起業家」「就職希望者」のバイブル ローレンス A カニンガム 増沢 浩一 Lawrence A. Cunningham by G-Tools |
過去業績分析シートでは、Summaryシートから各種数値を取得してROIC・WACCを算出しています。
このうち、財務諸表(B/S、P/LおよびCF)についてはEXCELのMATCH関数、INDEX関数を使用して取得しています。
直接参照しても、必要な数値は取得できるのですが、その方法では「表示項目定義の更新」を行った時に参照式が壊れてしまいます。これを回避するため、この2つの関数を使用してデータを取得し、表示項目更新の有無に係わらず最新の数値を参照できるようにしています。
以下ではP/Lの「支払利息」という項目を過去業績分析シートに追加する手順を説明します。
1.既存の行をコピー
「売上高」の行全体をコピーします。下図参照ください。
2.貼り付け
設定する場所に行単位で貼り付けをおこないます。
3.項目名称変更
取得する項目名称を入力します。この名称はSummaryシートのB列の文字と一致している必要があります。
Summaryシートには「支払利息」という項目はあるが、「支払い利息」という項目はないのでそれぞれ
を設定したときは以下のようになります。下図参照ください。
「#N/A」と表示されるときは入力下項目がSummaryシートにないと考えられるので、入力しなおしてください。
Summaryシートの項目名をコピー&ペーストして項目名を設定すると間違いがないと思われます。
4.確認
取得しようとした値を持ってこれているかチェックしてください。
(参考)
設定されている関数は下図のように設定されています。よって、行コピー⇒行貼り付けでなく、
任意の範囲をコピーして、貼り付けをすると循環参照と表示されたり、データが取得できなかったり、
最悪の場合、まったく異なる数値を取得してしまいます。
詳しくはEXCELのヘルプでMATCH、INDEX関数の説明を参照ください。
企業価値評価EXCELでは、Summaryシートではwebから取得したデータを1枚にまとめるのに、2種類の集約方法を使っています。
A.取得データに直接参照するリンク式を設定する方法
B.基礎情報シートの定義に従って取得データをまとめる方法(B/S、P/LおよびCF)
以下では、Bについてのカスタマイズ方法を記述します。
財務諸表の定義には以下の2種類があります。
1.Web取得データの値をそのまま持ってくる項目(例:現金および短期投資)
2.Summaryシート上の値を加減した値を表示する項目(例:その他の流動資産)
この2パターンを以下の例で説明します。
Summaryシートのキャッシュフロー計算書に「簡易FCF」と「配当金の支払額合計」という項目を追加するものとします。
「簡易FCF」は 営業CF+投資CF で計算されるものとし、「配当金の支払額合計」は
取得した値をそのまま持ってくるものとします。
基礎情報シートのCF部分に2行追加し、下図のように設定します。(図はクリックすると拡大します。)
計算項目には「「Summary」に計算式を適用」に 1 をたてる必要があります。
また、設定する計算式を「「Summary」に設定する計算式」欄に設定します。
「取得Dataシートでの検索文字列」欄に設定した文字列で取得したデータの列を探しに行くので
こちらの欄に入力する文字は間違いのないようにする必要があります。
Webから取得したデータ(この例の場合、ワークシート「CF」)の文字列をコピーして張り付けるのがよいと思います。
このあと、基礎情報シート上部の「SummaryのB/S、P/L、CFの項目定義を更新」欄で「する」を選択してください。新しい項目定義でデータを作成します。
下図参照ください。
正しく設定できていれば、Summaryシートのキャッシュフロー計算書にカスタマイズ結果が反映されます。
下図参照ください。(オレンジの枠線はわかりやすくするため設定したもので、実際には表示されません。)
Excel VBAコードのサンプルがてんこ盛りです。
こんなことができるのかという発見がたくさんあります。
自分が作成するコードで再利用しやすいように各サンプルが部品化されています。
次のようなかたにおすすめです。
・Excel VBAをくめるようになったが、もう一歩踏み込んだ使い方をしたい方
・Excel VBAで実現できそうな機能があるが、具体的な実現方法がわからない方
・VBAよく使っているが、コードの再利用性を高めたい方
「企業価値評価Excel」にも掲載サンプルを参考に作成したコードを組み込みました。
| 仕事に役立つ ExcelVBA実用サンプルコレクション 新装版 Excel徹底活用シリーズ 渡辺ひかる 大村あつし by G-Tools |
初歩(マクロの記録)からひととおりのVBAの組み方を説明してあります。
Excel VBAが全くわからない時にいろいろ探したのですが、結局この本が私にとっては一番わかりやすかったです。
Excel97用ということで新品は手に入らないかもしれません。
Excel2003でも基本は変わってないので、使えると思います。
バージョン違いが気になる方は「大村あつし」さんの著作はたくさんあるので、気に入ったものを選んではいかがでしょうか。
| Excel97 VBAプログラミングのコツ―VBAの基礎からActive Xまで | |
![]() | 大村 あつし エーアイ出版 1998-01 売り上げランキング : 905964 Amazonで詳しく見る by G-Tools |
企業価値評価用のExcelシートを作成しましたので、公開します。
ダウンロード用のページを用意しています。そちらかからダウンロードしてください。
企業価値評価支援ツールダウンロード
●機能概要
日本企業について証券コードを指定しすると財務諸表等のデータを収集しROIC、WACCをある程度自動で算出します。
●使い方
1.Excelファイルを開きます。その際に"マクロを含んでいます”という表示が出る場合は、有効にするをクリックして使用してください。
2.Excelファイルを開き、「基礎情報」シートの「証券コード」欄にデータを取得しようとする企業の証券コード4桁(トヨタ自動車なら7203)を入力します。
3.左側サイドバーの一番上のボタンを押下すると処理が開始されます。
4.終了まで待ちます。「終了しました」というメッセージがでれば、処理終了です。
データ取得完了までの時間はPCの性能やネット接続環境に影響を受けます。15秒?2分程度です。
画面左下に進捗が表示されるので、終了までの目安にしてください。
なお、取得可能なのは、MSNマネーで「財務諸表の種類」が「一般」と表示される会社です。
「銀行」「保険」などの財務諸表の項目が「一般」と異なる企業については
データの集約がうまくいきません。ご了承ください。
現時点(07/02/21)で取得対象データは下記のとおりです。
<トヨタ自動車(7203)の場合です。>
MSNマネー
B/S
P/L
CF
ヤフーファイナンス
企業基本情報
企業概要
インフォシーク
業績予想
Bloomberg
対指数ベータ
●注意事項
○MSNマネーからダウンロードしてくるデータには抜けのある場合があります。特に最近決算発表のあった企業では細かいデータまで入力されず、0表記されている場合があります。ご注意下さい。
○MSNマネーでは、企業ごとに勘定科目が完全には統一されていません。この企業ごとの勘定科目構成の差異を吸収するため、一部の勘定科目については、MSNからの取得データではなく、他の勘定科目との差額計算にて算出する方法を採用しています。
例えば流動資産の場合、以下のようなフォーマットにしています。
流動資産合計
現金および短期投資
受取手形及び売掛金合計
たな卸資産
前払費用
その他の流動資産 *
元データに現金?前払費用までの数値があれば、それをSummaryに集約します。
それ以外の科目があった場合は
(その他流動資産)=(流動資産合計)-(現金?前払費用までの合計)
と計算によって、ひとまとめにしています。
このような操作で計算した科目には表の横に * 印をつけています。
○MSNマネーB/Sでは「退職給付引当金」等の投下資産算定に必要な勘定科目の残高が「その他負債」にまとめられており、Webからの取得データだけでは、正確な投下資本を算定できない可能性があります。
○MSNマネーB/Sでは「買掛金及び未払費用」に有利子負債額が含まれていることがあります。
以上のような欠点があります。(ほかにもあるかもしれません)
ツールが取得するデータの取得元、表示されている金額の内容をよく理解して使用してください。
実際の投資判断には株価など含めて必ず有報などの数字をきちんと確認するようにして下さい。
●免責事項
・エクセルマクロはフリーですが、無断で転載・再配布はしないでください。
・当サイトのマクロを使用したことによる、いかなる損害も作者は一切の責任を負いません。
・当サイトのマクロが、すべてのパソコン・エクセルの環境で動作する事は保証していません。
・何らかの問題があると判断された場合、断り無くマクロの公開を中止することがあります。
・不具合、その他データがおかしいなど指摘頂けたら改良を検討します。
●動作確認環境
以下の環境で動作することを確認しています。
OS:WindowsXP(SP2)
Excelバージョン:Excel2000、Excel2003
●元ネタについて
今回作成したExcelファイルは、個人投資家の早川圭さんが配布されている企業分析シートに
手を加えたものです。早川さんからは再配布を許可頂きました。ありがとうございます。
本家の掲載ページはこちらです。
本家の企業分析シートからの変更点はざっくりまとめると下記のとおりです。
-----変更点ここから-----
・データ取得対象ページをワークシートで指定できるようにした。
・集計方法をワークシートで定義できるようにした。
・取得するデータの範囲を増やした(ブルームバーグから対指数ベータを取得する等)
・バリュエーションに取得データを利用するためEXCEL関数(MATCH、INDEX等)を使って
取得したデータを柔軟に組み替えられるように工夫した。
・定量評価のために、営業利益率等のグラフ作成自動化、ROIC・WACC算出等を
ある程度自動化するワークシートを追加した。
・上記変更を実現するために、コードを書き直した。
-----変更点ここまで-----