バフェット・コードは2019年6月にエクセルアドインを公開しました。
エクセルアドインをご利用いただくことで、プログラミングのできない非エンジニアでも私達のWeb API経由で欲しいデータにアクセスできるようになりました。
おかげさまでご好評をいただいています。
デモ動画はこちらです。
一方でエクセルアドインには課題もありました。
Macユーザーは対象外でしたし、新たに機能を足すたびにインストーラーからやり直していただく必要がありました。
そこでそれらの課題を解決すべく、エクセルアドインと同等ないしそれ以上の機能をGoogleが提供するスプレッドシートで使えるよう、スプレッドシートアドオンをリリースしました!
スプレッドシート自体は誰でも無料で使えますし、インストールも不要です。
エクセルに慣れたユーザーならほぼ違和感なく同じようにご利用いただけます。
なによりブラウザで動くため、WinユーザーだけではなくMacユーザーもご利用いただけます。
また新たな機能が追加されても再ダウンロードしていただく必要はなく、いつもスプレッドシートをご利用されている感覚でお使いいただけます。
本稿では、そのスプレッドシートアドオンの導入方法についてご紹介します。
スプレッドシートアドオンの導入
1. スプレットシートアドオンをインストールしよう
スプレッドシートアドオンは、GoogleのアプリストアのひとつであるG Suite Marketplaceからインストールしていただきます。
下記ページから「インストール」ボタンをクリックすることでインストールは完了します。
途中、アドオンから所定の権限が求められます。
それぞれ「続行」「許可」を選んでいただけば大丈夫です。
簡単に言うと「ユーザーに代わってWeb API経由でデータを取得してきてスプレッドシートに書き込むよ」というものです。
なお、同意いただく内容の詳細については Google Spreadsheet OAuth同意のお願い にまとめています。
そして下記の画面が出ればインストールは完了です。
なお、アンインストールも同じ画面にある「アンインストール」をクリックすればアンインストールできます。
2. スプレッドシートアドオンの初期設定をする
アドオンのインストールが終わったらアドオンの初期設定をします。
スプレッドシートアドオンはプレミアム会員限定の機能なので、ご自身でお持ちのAPIキーを設定していただきます。
まずはGoogle スプレッドシートを新規に開いてみましょう。
メニューバーにある「アドオン」をクリックすると、「バフェット・コード」が選択可能となっているはずです。
そこから「設定」を選ぶと以下のような設定画面が開きます。
このAPIトークンの欄にAPIキーを設定していただきます。
プレミアム会員の方はバフェット・コードのマイページでAPIキーの発行が行えます。
マイページ→「API Key」タブ→「APIキーの発行」ボタンを押してAPIキーの文字列を取得してください。
その文字列をコピーしていただき、設定画面の「APIトークン」にペーストして保存してください。
APIキーはご本人しかご利用いただけません。流出や漏洩しないよう、ご自身でしっかりと管理をお願いします。
なお、初期設定されている"sAJGq9JH193KiwnF947v74KnDYkO7z634LWQQfPY" はお試し用のためのユーザー共用のテスト用APIキーです。取得できる情報はゼロイチ銘柄(銘柄コード末尾2桁が01の企業)に限られるなど、使用に制限がありますが、機能の試用などに無料でご利用いただけます。
これで、スプレッドシートアドオンの導入は完了です。
スプレッドシートアドオンを使ってみよう
さて、スプレッドシートアドオンが無事インストールされると、BCODE関数という独自の関数がスプレッドシートで使えるようになります。
試しに任意のセルで「=BCODE("6501","2020Q4","net_sales")」と打ち込んでみてください。
これで株式会社日立製作所の2020年開始年度の本決算の売上である430,602(百万円)がセルに表示されるはずです!
BCODE関数は、3つの引数をインプットするだけでその条件に合致した数値をバフェット・コードのWEB APIを使って取得してきます。
先頭から順に銘柄コード、決算期、科目キーを指定しています。
指定する順番を間違えますとデータを正常に取得できませんのでご注意ください。
より効果的な関数の使い方についてはリファレンスページをご用意していますので、ぜひそちらもご覧ください。
なお、取得できる科目とその科目キーにつきましてはこちらのAPI仕様書に詳しく記載しています。
取得したいあの科目のキーは何かな?とか、そもそもどの科目が取れるのかな?と迷われた際にご参照いただくと良いかと思います。
上記のWeb APIドキュメントのうち、現在エクセルアドインとスプレッドシートアドオンに対応しているエンドポイントは「Daily」と「Quarter」になります。
データ取得可能な年数
スプレッドシートアドオンでは月額の範囲内で取得できる年数の範囲と、従量課金で取得できる年数の範囲があります。
プレミアム料金の月額の範囲内で取得頂けるのは直近5年分の財務データになります。
5年を超えて取得しようとすると「範囲外のエラー」というエラー表記がスプレッドシートに表示されます。
5年を越えて取得する場合は従量課金に同意いただく必要があります。
1アクセスあたり8.8円(税込)の料金が発生します。
同意の仕方はスプレッドシートからアドイン>設定>APIのタブにあります「従量課金エンドポイントを利用する」にチェックを入れてください。
スプレッドシートの自動更新でAPIがコールされたり、第三者にスプレッドシートを共有して関数を更新された場合などでも課金されることがありますのでご留意ください。
(なおBCODE関数の埋まったスプレッドシートを第三者に配布することは当社の利用規約で禁じられております)
CSVでデータを一気に取得してみよう
上記は1セルにつき1データを取得するものでした。
たしかに財務モデルを組んだり、自分で分析用シートを作ったりする場合にはその方が扱いやすいのですが、ときには一気に1社分のデータをガサッと落として加工したいというケースもありますよね。
そこでご用意したのがCSVのダウンロード機能。
こちらもスプレッドシートから取得できます!
やり方は簡単。
アドオンタブを開き、「CSV出力」のボタンを押します。
ポップアップが出てきますので、銘柄コードとデータの欲しい期間を設定します。
グレーアウトされた文字列が例として入っています。こんな感じで入力してみてください。
最後に「出力」と押すとCSVがダウンロードが始まります。
取得までしばらくお待ち下さい。指定する期間によっては少し時間がかかる場合があります。
結果はこんな感じで新しいシートに出力されます。
お手元のPCに保存したい場合は、スプレッドシートの「ファイル」タブより任意のファイル形式を選んでダウンロードしてください。
エクセルはもちろん、CSVやPDFでも保存が可能です。
スプレッドシートアドオンの更新とバージョンについて
スプレッドシートアドオンは日々改良されています。
使い勝手や科目の追加など、より多くの方に使っていただけるよう努めています。
エクセルアドインの場合は更新があった場合に最初のインストーラーから行っていただく必要があって不便さがありましたが、スプレッドシートではそうしたわずらわしさはありません。
私たちが新しいバージョンをG Suite Marketplaceにリリースするたびに、自動的に最新バージョンに更新されます。
したがってユーザーは常に最新のバージョンをご利用いただけるのです!(素晴らしい)
なお、お手元のアドオンのバージョンが気になる方は「アドオン」→「バフェット・コードについて」よりご確認いただけます。
よくある質問と対処法
1. アドオンに「バフェット・コード」が見つかりません
スプレットシート自体を開いてから、スプレットシートアドオンの読み込みには少し時間がかかります。下記のように「処理中...」が出ている場合は、ダイアログが消えるまでお待ちください。
2. #NAME? または Unknown function 'BCODE' と表示されます
スプレッドシートアドオンの読み込んで、BCODE関数が使えるようになるのには少し時間がかかります。特にシートを新規に作成した場合、アドオン読み込み後もBCODE関数が「#NAME?」、もしくは「Unknown function: "BCODE"」というエラーになる場合があります。
この場合は
- スプレットシートの「アドオン」からバフェット・コードアドオンを選択
- 「更新」をボタンをクリック
- ブラウザをリロードする
という手順を行うことでBCODE関数が使えるようになります。
また、複数のGoogleアカウントに同時にログインしている場合も上記のエラーが発生する場合があります。その場合は、一度すべてのアカウントからログアウトして、再度アドオンを利用になりたいアカウントだけに再度ログインしてください。
3. Googleアカウントを切り替えたらエラーが出るようになりました
複数のGoogleのアカウントを利用されている場合、「バフェット・コードのスプレットシートアドオンをご利用のアカウントに、都度切り替えて作業する」といったことがあるかと思います。
このアカウント切り替え後、エラーが発生するようになった場合は、1度「全てのアカウントをログアウト」してから、アドオンをご利用になりたいアカウントだけに再度ログインしてください。
4. BCODE関数を実行すると、 "Loading" と表示されてしまう
スプレッドシートがアドインの読み込みに、非常に要する場合があるようです。該当のページをブラウザで更新するか、新規にスプレットシードを作って試してみてください。
5. Google App Script の利用上限に伴うエラー
バフェットコードのスプレッドシートアドインは、Googleが提供する "Googe App Script" (以下GAS) という技術を利用しています。
GAS には、グーグルアカウントごとに利用上限が定められています(詳細は、英語のページですが Quotas for Google Services にあります)。この上限を超えてのアドインの利用はできません。上限の値は、Google Workspaceの有料化カウントを使うことで緩和されますが、無制限にはなりません。
利用制限が解除するまでお待ちになるか、別のGoogleアカウントを利用するようにしてください。
6. ドキュメントへのアクセス権限のエラー
下記のように、「リクエストされたドキュメントへアクセスする権限がありません」と表示される場合、1度現在ログイン中のGoogleアカウントからログアウトし、再度ログインして再実行をお願いします。
不具合報告について
「使えなかった」
「ここまでできたけどエラーが出た」
「インストールできたけど動かない」
などの不具合報告は、バフェットコードへのお問い合わせ で受け付けています。
不具合報告をいただく前に、下記で解決しないか試してみてください。
- APIキーが正しく設定されているか確認する(APIキーはこちらから確認できます)
- ログイン中のGoogleアカウントから一度ログアウトし、再ログインして再実行する
- 上記「よくある質問と対処法」の中に、対応方法を探す
それでも解決しない場合は、
- 設定されているAPI Key
- 表示されているエラー(開発者向けの、英語のもの)
を添えて、上記お問い合わせよりご連絡ください。