スプレッドシートで日本株の株価や投資信託の価格の取得方法(GASオリジナル関数)

2021年7月19日

スプレッドシートに用意されている関数では、アメリカの株価を取得できるものの、日本の上場企業の株価や投資信託の価格を取得できません。

そこで、スプレッドシートで日本の株式会社の株価や投資信託価格を取得する方法と設定手順を解説します。

スプレッドシートで日本企業の株価が取得したい

表計算のGoogleスプレッドシートを使い、日本の上場企業の株価を取得したいニーズがあります。

スプレッドシートで日本の株価情報を取得できれば、資産管理や投資分析にも活用できます。

ただ、残念ながら、スプレッドシートに標準で備わっている関数では、日本の株価を取得ができません。

GOOGLEFINANCE関数は日本株に非対応

スプレッドシートにはGOOGLEFINANCEという関数が用意されています。

このGOOGLEFINANCE関数のリファレンスには、「Google Financeから現在や過去の証券情報を取得します。」とあります。

このGOOGLEFINANCE関数を使えば、日本の上場企業の株価を取得できるかもと思い、試される方も多いです。

しかしながら、GOOGLEFINANCE関数で取得できるのは主に米国株式の株価で、日本株の株価には対応していません。

グーグルファイナンスには日本株の株価情報も掲載されているものの、GOOGLEFINANCE関数は非対応となっていて、現状は取得不可能です。

スプレッドシートのオリジナル関数で日本株の株価取得

では、スプレッドシートで日本企業の株価を取得する方法は存在しないかと言えば、実は存在します。

Google Apps Script(GAS)でスプレッドシートのオリジナル関数を作成し、株式情報サービスから日本株の株価情報を取得すれば、実現可能です。

先程も紹介した通り、GOOGLEFINANCE関数では日本株の情報を取得できないものの、グーグルファイナンスには、日本株の情報が掲載されています。

グーグルファイナンスから日本株式の株価を取得するオリジナル関数をGASで作成すれば、スプレッドシートで通常の関数と同様に利用できます。

日本の株価を取得するスプレッドシートのオリジナル関数

そこで、日本の上場企業の現在の株価を取得するスプレッドシートのオリジナル関数を作成してみました。

=STOCKPRICEJP(code)

引数のcodeに日本株の証券コードを指定すると、銘柄コードの日本企業の最新の株価が表示されます。

※取得株価はグーグルファイナンスに掲載されている株式データのため、タイムラグが発生するケースがあります。

引数の証券コードが数字でない場合や、存在しない証券コードの場合は「#VALUE!」と出力されます。

一度スプレッドシートのファイルに設定すれば、そのファイル上で何度でも日本株の株価を取得するSTOCKPRICEJP関数が実行可能です。

日本株価を取得するオリジナル関数「STOCKPRICEJP」設定手順

日本の上場企業の株価を取得する、スプレッドシートのオリジナル関数「STOCKPRICEJP」の設定手順を解説します。

Google Apps Script(GAS)で作成したオリジナル関数ですが、スプレッドシート利用者にも分かりやすく図説していきます。

1.株価を取得するオリジナル関数を利用したいスプレッドシートを開きます。

2.スプレッドシートのメニューバーにある「拡張機能」をクリックし、「Apps Script」を選択します。

3.スクリプトエディタを開いた後、ライブラリの右側にある+アイコンをクリックします。

4.スクリプトIDに「1Mc8BthYthXx6CoIz90-JiSzSafVnT6U3t0z_W3hLTAX5ek4w0G_EIrNw」を入力し、検索ボタンをクリックします。

5.スクリプトエディタの画面に戻ったら、以下のソースコードを貼り付け、Ctrl+sで保存します。

function STOCKPRICEJP(code){
  let url = "https://www.google.com/finance/quote/" + code + ":TYO";
  let html = UrlFetchApp.fetch(url).getContentText();
  let stockPrice = Parser.data(html)
    .from("<div class=\"YMlKec fxKbKc\">")
    .to("</div>")
    .build();
  return stockPrice;
}

Githubでソースコードを参照

以上の5Stepで日本株の株価取得するオリジナル関数の使用準備は完了です。

スクリプトエディタのタブを終了し、スプレッドシートで試しにトヨタ自動車(証券コード:7203)の株価を取得してみます。

無事、トヨタ自動車の現在の株価を取得できました。

日本株式の株価を取得するオリジナル関数STOCKPRICEJPの引数を変更すれば、他の上場している会社でも同様に最新の株価が取得できます。

上場企業の株価以外に投資信託の価格も

日本の株価を取得するオリジナル関数「STOCKPRICEJP」には、もう1つメリットがあります。

実は固有銘柄の株価だけでなく、日本の投資信託の価格も取得可能です。

そのため、投資信託の価格を知りたい場合にも、今回作成したオリジナル関数が利用できます。

日本株価を取得するオリジナル関数の注意点

ただ、GASで作成したオリジナル関数にも注意点が2点ほどあります。

1つ目は初回実行時、STOCKPRICEJP関数を入力した後、実際に値を取得するまでに時間がかかる点です。

すぐに値が出力されず不安になりますが、値が表示されるまで待ちましょう。

2つ目はSTOCKPRICEJP関数をスプレッドシートでたくさんのセルで実行すると、すべての値が取得できるのにかなりの時間がかかります。

そのため、たくさんの銘柄情報を調べるには今回の日本の株価取得関数は適していないことを留意ください。

設定簡単な日本株価取得の独自関数の完成品を販売

ここまでスプレッドシートGoogle Apps Script(GAS)で日本株の株価を取得する方法を紹介しました。

ただ導入するには、スプレッドシートからスクリプトエディタを開き、スクリプトを貼り付け、ライブラリを追加する必要がありました。

そこで、GASに詳しくない人でも利用できるよう、GASスタンドに完成品を出品しました。

日本の上場会社の株価・投資信託価格を取得するスプレッドシート独自関数(GASスタンド)

ご購入いただくとスプレッドシートが共有されるので、コピーを作成して使用すれば、GASスクリプトのセットアップの手間なく、日本株を取得できます。

プログラミング未経験の方でも特に複雑な設定不要で、簡単に日本株価を取得できます。

スプレッドシートで日本株の情報を取得したい場合にぜひ入手してみてください。

noteでも有料販売を行っています↓

https://note.com/yama_gas/n/ne4df72428346

まとめ・終わりに

今回、スプレッドシートで日本株式の株価を取得できるオリジナル関数と、その導入方法を紹介しました。

残念ながらスプレッドシートでは米国株式は標準関数で取得できますが、日本株式の株価は取得できません。

そこで、Google Apps Script(GAS)で日本株式の株価情報をグーグルファイナンスから取得するオリジナル関数「STOCKPRICEJP」を作成しました。

STOCKPRICEJPの導入方法も解説しているので、日本の上場企業の株価を取得したい場合や、投資信託の価格を知りたい場合に活用してみてください。