この記事では、スプレッドシートで株価を自動取得する方法と取得できない時の原因と解決策について詳しく紹介しました。もしご参考になれば幸いです。
結論から言うと、スプレッドシートで株価を自動取得する方法は主に3つあります。 GOOGLEFINANCE関数、株探など日本株情報サイトからIMPORTXMLで取得する方法、そしてOctoparseのようなノーコードツールで自動収集する方法です。GOOGLEFINANCEは米国株にはほぼ即座に対応しますが、日本株は取得できる銘柄や更新頻度に制限があります。
株探などから取得したい場合はIMPORTXMLでスクレイピングする方法がありますが、サイト構造の変更で頻繁にエラーになりやすいという欠点があります。手間をかけずに複数銘柄を安定して自動取得したい場合は、専門的なノーコードツールが向いています。以下で具体的な設定方法、日本株特有の注意点、リアルタイム更新の限界、そして「取得できない」ときの対処法を解説します。
Googleスプレッドシートには株価を自動取得できる「GOOGLEFINANCE」という組み込み関数があります。プログラミング知識不要で、最も手軽に株価を取得できる方法です。
=GOOGLEFINANCE(“ティッカーコード”, “属性”, “開始日”, “終了日”, “間隔”)
日本株をGOOGLEFINANCEで取得する場合、証券コードの前に取引所コード「TYO:」を付けます。
例:トヨタ自動車(証券コード7203)の場合
=GOOGLEFINANCE(“TYO:7203”)
そのため、GOOGLEFINANCEだけで日本株を安定して運用しようとすると、銘柄によって取得可否にばらつきが出るのが実情です。
Googleスプレッドシートの GOOGLEFINANCE関数 は、簡単に株価を取得できる便利な機能ですが、すべての銘柄や市場のデータ取得に対応しているわけではありません。入力方法が正しい場合でも、対象銘柄やGoogle側のデータ提供状況によってエラーが発生することがあります。
特に株価データの場合、以下のような理由で取得できないケースがあります。
GOOGLEFINANCEでは、単純に銘柄コードを入力するだけではなく、基本的に「市場コード:銘柄コード」という形式で指定する必要があります。例えば、日本株の場合は以下のように入力します。
しかし、「7203」のように銘柄コードだけを入力した場合、Google Finance側で対象市場を正しく認識できず、#N/Aエラーになることがあります。また、Google Financeが対応していない市場や銘柄の場合も、正しいコードを入力していても株価情報を取得できません。
2. Google Financeの対応銘柄・提供データに制限がある
GOOGLEFINANCEはGoogleが提供する金融データサービスを利用していますが、世界中のすべての株式や金融商品をカバーしているわけではありません。この場合、数式やスプレッドシートの設定を変更しても解決できず、別のデータ取得方法を検討する必要があります。
3. Googleスプレッドシート側の計算・キャッシュによる遅延
GOOGLEFINANCEで取得した株価はリアルタイムで常に更新されるわけではなく、Google側のデータ更新タイミングやスプレッドシートのキャッシュ状態によって、表示価格が遅れることがあります。
4.Webサイト独自の株価情報を取得したい場合
Google Financeで取得できる情報は、Googleが提供している金融データに限られます。例えば、特定の証券会社サイトの株価情報とか、詳細な板情報とか、リアルタイム出来高などGoogle Financeでは提供されていないデータを取得したい場合は、別の方法が必要です。
特に複数銘柄を一度に取得している場合や、大量の関数を設定している場合は、データ更新に時間がかかったり、一時的に古い値が表示されたりすることがあります。
GOOGLEFINANCEで取得できない日本株の情報を補いたい場合、株探(Kabutan)など日本株専門サイトのページ構造をIMPORTXML関数で読み込み、スプレッドシートに反映させる方法があります。
=IMPORTXML(“対象ページのURL”,”XPath”)
表形式のデータをまとめて取得したい場合は、IMPORTHTML関数を使う方法もあります。
=IMPORTHTML(“対象ページのURL”,”table”,1)
これらの理由から、IMPORTXMLは「一時的に数銘柄だけ確認したい」用途には向きますが、複数銘柄を継続的・安定的に自動取得したい場合には不向きです。サイト構造が変わるたびに数式を修正する保守コストがかかります。
「リアルタイム」で株価を追いたいというニーズは多いですが、Googleスプレッドシートの仕組み上、完全なリアルタイム更新には限界があります。
数秒単位の値動きを追うトレード用途ではなく、日次・時間単位での株価チェックや資産管理用途であれば、上記の設定で実用上十分な更新頻度を実現できます。
用途や技術力に応じてどの方法が向いているか、主要な観点で比較します。
GOOGLEFINANCEは手軽さで優れ、IMPORTXMLは特定サイトの情報を柔軟に取得できる反面、保守の手間がかかります。開発リソースがなく、株探・Yahoo!ファイナンスなど複数の日本株情報サイトから継続的にデータを集めてスプレッドシートで管理したい場合は、ノーコードで自動化できるOctoparseが選択肢になります。
株価データの収集では、複数銘柄の価格推移や市場動向を継続的に確認する必要がありますが、手作業でのコピーや単純なスクレイピングでは、更新頻度の高い情報を効率的に取得することが難しく、サイト側の構造変更やアクセス制限への対応も課題になります。特に金融サイトでは、動的に表示されるデータや複雑なページ構造により、安定したデータ取得環境を構築するには一定の技術的知識が求められます。
Octoparse は、ブラウザ操作に近い画面上で取得条件を設定でき、動的ページからのデータ取得、複数ページ・複数銘柄の一括収集、定期的な自動実行に対応しています。
また、データ取得時の安定性やアクセス制限への対応機能も備えているため、株価情報を継続的にモニタリングしたいユーザーに適しています。さらにMCP機能を利用すれば、ChatGPTなどのAIプラットフォームと連携し、「特定銘柄の最新株価を取得して分析する」といった自然言語での操作も可能になり、データ収集から分析までの流れを効率化できます。
Octoparseはノーコードで操作できる Webスクレイピングツール で、次のような機能で上記の課題に対応します。
手動でのコピペ作業や、IMPORTXMLの保守に時間を取られている場合、また開発リソースを割かずに複数銘柄・複数サイトのデータを継続的に自動更新したい場合に、Octoparseは有力な選択肢になります。
以下はYahoo!ファイナンスのトヨタ自動車[7203]個別銘柄ページから株価を取得することを例として操作手順を詳しく紹介します。OctoparseではYahoo!ファイナンス向けの専門テンプレートも用意されているのでぜひお試しください。
https://www.octoparse.jp/template/yahoo-finance-scraper-for-japan
複数銘柄をまとめて自動化したい場合は、すでに用意されているYahoo Finance Scraperテンプレートを使うとさらに早い。このテンプレートでは銘柄コードを入力するだけで、株価・出来高などの主要項目をワンクリックで取得できるよう事前に設計されている。
エクセルで株価を自動取得する方法は?|無料で日本株もリアルタイム化
Yahoo!ファイナンススクレイピングの方法を徹底解説
競合情報も営業リストも、ウェブデータをそのままExcel・CSV・Google Sheetsに出力
コード不要、誰でも今日から。クリック操作だけで必要な項目を自動抽出
Google Maps・食べログ・iタウンページ向けテンプレートで、リード獲得をすぐに開始
クラウドで毎日・毎週自動実行。大量取得でも安定して、競合動向を常に把握
MCP対応でAIエージェントと連携。収集データをAIに渡して分析・活用まで一気通貫
クレジットカード不要で無料スタート。世界600万人以上が選んだ信頼のツール
スプレッドシートで株価を取得できないという状態になった場合は、以下を順番に確認してください。
A. GOOGLEFINANCE関数に「TYO:証券コード」の形式で入力することで取得可能です。ただし銘柄によっては取得できない場合があるため、その場合はIMPORTXMLや専用ツールでの取得を検討してください。
A. 完全なリアルタイムではありません。GOOGLEFINANCEには数分〜20分程度の遅延があり、スプレッドシートの自動再計算にも数分単位の間隔があります。秒単位の値動きが必要な場合は証券会社の取引ツールを利用してください。
A. GOOGLEFINANCEは株探のデータを直接参照する関数ではありません。株探のページから情報を取得したい場合は、IMPORTXML関数、またはOctoparseのような収集ツールを利用する方法があります。
A. 多くの場合、対象サイトのHTML構造が変更され、指定していたXPathが該当箇所を指さなくなったことが原因です。ブラウザの検証機能で最新のHTML構造を確認し、XPathを再設定する必要があります。
A. 可能です。GOOGLEFINANCE関数はプログラミング不要で利用でき、より複雑な複数サイト・複数銘柄の自動収集には、 Octoparseのようなノーコードツール を利用することで、コードを書かずに自動化できます。
A. はい、AIを活用して株価データの取得や分析を効率化することは可能です。ただし、AI単体ではWebサイトから必要な株価情報を安定して収集する機能は限られており、データ取得ツールと組み合わせて利用することで、より実用的なワークフローを構築できます。
例えば、 OctoparseのMCP機能 を利用すると、ChatGPTなどのAIプラットフォームと連携し、自然言語で株価データの取得を指示できます。「トヨタ自動車の最新株価を取得して」「複数銘柄の株価変動を比較して」といった指示だけで、Octoparseが対象ページから株価、前日比、騰落率、出来高などのデータを収集し、そのデータをもとにAIで分析やレポート作成まで行えます。
いかがでしょうか。この記事では、 スプレッドシートで株価を自動取得する方法完全ガイドについて詳しく紹介しました。 スプレッドシートで株価を自動取得する方法には、手軽なGOOGLEFINANCE関数、日本株サイトから情報を補えるIMPORTXML、そして複数サイト・複数銘柄を安定して自動収集できるOctoparseがあります。
少数の米国株や一部の日本株を手軽に確認したいならGOOGLEFINANCE、特定サイトの情報を一時的に取得したいならIMPORTXML、そして株探やYahoo!ファイナンスなど複数の日本株情報を継続的・自動的にスプレッドシートへ反映させたいなら、ノーコードで運用できる Octoparse の活用を検討してみてください。