
結論から言うと、スプレッドシートで株価を自動取得する方法は主に3つあります。GOOGLEFINANCE関数、株探など日本株情報サイトからIMPORTXMLで取得する方法、そしてOctoparseのようなノーコードツールで自動収集する方法です。GOOGLEFINANCEは米国株にはほぼ即座に対応しますが、日本株は取得できる銘柄や更新頻度に制限があります。
株探などから取得したい場合はIMPORTXMLでスクレイピングする方法がありますが、サイト構造の変更で頻繁にエラーになりやすいという欠点があります。手間をかけずに複数銘柄を安定して自動取得したい場合は、専門的なノーコードツールが向いています。以下で具体的な設定方法、日本株特有の注意点、リアルタイム更新の限界、そして「取得できない」ときの対処法を解説します。
なぜスプレッドシートで株価を自動取得したいのか
- 保有銘柄の含み損益を自動計算したい
- 複数銘柄のウォッチリストを毎日更新したい
- 日本株の株価データを業務やレポートに活用したい
- 手動でのコピペ作業をなくしたい
- 株探やYahoo!ファイナンスなど複数サイトの情報をまとめたい
GOOGLEFINANCE関数で株価を自動取得する方法
Googleスプレッドシートには株価を自動取得できる「GOOGLEFINANCE」という組み込み関数があります。プログラミング知識不要で、最も手軽に株価を取得できる方法です。
GOOGLEFINANCE関数の基本的な書き方
基本構文は次の通りです。
=GOOGLEFINANCE(“ティッカーコード”, “属性”, “開始日”, “終了日”, “間隔”)
代表的な使用例は以下の通りです。
| 用途 | 数式例 | 説明 |
|---|---|---|
| 現在値取得 | =GOOGLEFINANCE(“AAPL”) | 米国株の現在値を取得 |
| 終値取得 | =GOOGLEFINANCE(“AAPL”,”close”) | 直近の終値を取得 |
| 過去データ取得 | =GOOGLEFINANCE(“AAPL”,”close”,”2026/1/1″,”2026/6/30″) | 期間指定で株価推移を取得 |
| 複数属性取得 | =GOOGLEFINANCE(“AAPL”,{“price”,”volume”}) | 株価と出来高をまとめて取得 |
日本株のティッカーコード指定方法(日本株 関数)
日本株をGOOGLEFINANCEで取得する場合、証券コードの前に取引所コード「TYO:」を付けます。
例:トヨタ自動車(証券コード7203)の場合
=GOOGLEFINANCE(“TYO:7203”)
ただし日本株には以下の制限があります。
- 一部の銘柄で株価が取得できず「#N/A」が返ることがある
- リアルタイムではなく、最大20分程度の遅延が発生する場合がある
- 出来高や配当利回りなど、属性によっては日本株非対応のものがある
そのため、GOOGLEFINANCEだけで日本株を安定して運用しようとすると、銘柄によって取得可否にばらつきが出るのが実情です。
GOOGLEFINANCEでよくあるエラーと対処法(取得できない場合)
GoogleスプレッドシートのGOOGLEFINANCE関数は、簡単に株価を取得できる便利な機能ですが、すべての銘柄や市場のデータ取得に対応しているわけではありません。入力方法が正しい場合でも、対象銘柄やGoogle側のデータ提供状況によってエラーが発生することがあります。
特に株価データの場合、以下のような理由で取得できないケースがあります。
1.銘柄コードや市場表記が正しくない
GOOGLEFINANCEでは、単純に銘柄コードを入力するだけではなく、基本的に「市場コード:銘柄コード」という形式で指定する必要があります。例えば、日本株の場合は以下のように入力します。
しかし、「7203」のように銘柄コードだけを入力した場合、Google Finance側で対象市場を正しく認識できず、#N/Aエラーになることがあります。また、Google Financeが対応していない市場や銘柄の場合も、正しいコードを入力していても株価情報を取得できません。
2. Google Financeの対応銘柄・提供データに制限がある
GOOGLEFINANCEはGoogleが提供する金融データサービスを利用していますが、世界中のすべての株式や金融商品をカバーしているわけではありません。この場合、数式やスプレッドシートの設定を変更しても解決できず、別のデータ取得方法を検討する必要があります。
3. Googleスプレッドシート側の計算・キャッシュによる遅延
GOOGLEFINANCEで取得した株価はリアルタイムで常に更新されるわけではなく、Google側のデータ更新タイミングやスプレッドシートのキャッシュ状態によって、表示価格が遅れることがあります。
4.Webサイト独自の株価情報を取得したい場合
Google Financeで取得できる情報は、Googleが提供している金融データに限られます。例えば、特定の証券会社サイトの株価情報とか、詳細な板情報とか、リアルタイム出来高などGoogle Financeでは提供されていないデータを取得したい場合は、別の方法が必要です。
特に複数銘柄を一度に取得している場合や、大量の関数を設定している場合は、データ更新に時間がかかったり、一時的に古い値が表示されたりすることがあります。
| エラー内容 | 主な原因 | 対処法 |
|---|---|---|
| #N/A が表示される | 銘柄コードがGOOGLEFINANCE非対応 | 「TYO:」表記を確認、または別の取得方法に切り替える |
| #REF! が表示される | 参照先セルが空、または数式の記述ミス | セル参照とダブルクォーテーションの位置を確認する |
| 数値が更新されない | Googleスプレッドシート側のキャッシュ | シートを開き直す、または再入力して再計算させる |
| 一部の銘柄だけ空欄になる | 上場廃止・新規上場直後などデータ未整備 | 数日待つか、他の情報源で補完する |
日本株の株価を株探などから取得する方法(IMPORTXML)
GOOGLEFINANCEで取得できない日本株の情報を補いたい場合、株探(Kabutan)など日本株専門サイトのページ構造をIMPORTXML関数で読み込み、スプレッドシートに反映させる方法があります。
IMPORTXMLで株価情報を取得する基本手順
- 対象ページのURLを確認する
- 取得したい株価情報のHTML要素をブラウザの検証機能で確認し、XPathを特定する
- スプレッドシートに数式を入力する
=IMPORTXML(“対象ページのURL”,”XPath”)
表形式のデータをまとめて取得したい場合は、IMPORTHTML関数を使う方法もあります。
=IMPORTHTML(“対象ページのURL”,”table”,1)
IMPORTXML・IMPORTHTMLの注意点
- サイトのHTML構造が変更されるとXPathがずれてエラーになりやすい
- 対象サイトの利用規約でスクレイピングが制限されている場合がある
- 大量の銘柄・ページを一度に取得すると読み込みが遅くなったりエラーになったりする
- 取得元サイトへのアクセス集中と見なされ、アクセス制限を受ける可能性がある
これらの理由から、IMPORTXMLは「一時的に数銘柄だけ確認したい」用途には向きますが、複数銘柄を継続的・安定的に自動取得したい場合には不向きです。サイト構造が変わるたびに数式を修正する保守コストがかかります。
スプレッドシートで株価をリアルタイムに更新する方法とその限界
「リアルタイム」で株価を追いたいというニーズは多いですが、Googleスプレッドシートの仕組み上、完全なリアルタイム更新には限界があります。
更新頻度を上げる方法
- 「ファイル > 設定 > 計算」から再計算の頻度を「変更時と1分ごと」に設定する
- シートを開いた状態を保つ(閉じている間は更新されない)
- Google Apps Scriptでトリガーを設定し、一定間隔でデータ取得処理を実行する
それでも「リアルタイム」にならない理由
- GOOGLEFINANCE自体に取得元の遅延がある(特に日本株)
- スプレッドシートの自動再計算は数分単位が上限で、秒単位の更新はできない
- IMPORTXML等での外部サイト読み込みも都度発生し、更新のたびに時間がかかる
数秒単位の値動きを追うトレード用途ではなく、日次・時間単位での株価チェックや資産管理用途であれば、上記の設定で実用上十分な更新頻度を実現できます。
株価取得方法の比較(GOOGLEFINANCE・IMPORTXML・API・Octoparse)
用途や技術力に応じてどの方法が向いているか、主要な観点で比較します。
| 比較項目 | GOOGLEFINANCE関数 | IMPORTXML(株探等) | 証券会社・有料株価API | Octoparse |
|---|---|---|---|---|
| プログラミング知識 | 不要 | XPathの知識が必要 | 必要な場合が多い | 不要(ノーコード) |
| 日本株対応 | 銘柄により制限あり | 対応(サイト依存) | 対応 | 対応(複数サイトから収集可能) |
| リアルタイム性 | 遅延あり | サイト更新頻度に依存 | 契約内容による | スケジュール設定で高頻度取得が可能 |
| 安定性(構造変更の影響) | 比較的安定 | サイト変更で頻繁にエラー | 安定 | テンプレート更新で対応しやすい |
| 複数銘柄・複数ページ一括取得 | 手間がかかる | 手動でXPathを個別設定 | 対応 | 自動巡回・一括取得が容易 |
| 定期自動更新 | 限定的 | 手動運用になりがち | 契約次第 | スケジュール実行で完全自動化 |
| データ出力形式 | スプレッドシート内 | スプレッドシート内 | API連携 | Excel/CSV/Google Sheets等 |
| 費用 | 無料 | 無料 | 有料が中心 | 無料プランあり、用途に応じ有料プラン |
| 適した利用者 | 少数銘柄を手軽に確認したい人 | 特定銘柄を一時的に取得したい人 | 業務でAPI連携できる開発者 | 複数サイト・複数銘柄を継続的に自動収集したい人 |
GOOGLEFINANCEは手軽さで優れ、IMPORTXMLは特定サイトの情報を柔軟に取得できる反面、保守の手間がかかります。開発リソースがなく、株探・Yahoo!ファイナンスなど複数の日本株情報サイトから継続的にデータを集めてスプレッドシートで管理したい場合は、ノーコードで自動化できるOctoparseが選択肢になります。
Octoparseを使って株価データを効率的に収集する方法
こんな悩みはありませんか
- 株探やYahoo!ファイナンスなど複数サイトを毎日手動でチェックしてコピペしている
- IMPORTXMLの数式がサイトの構造変更のたびにエラーになり、その都度修正が必要
- 数十〜数百銘柄をまとめて取得したいが、GOOGLEFINANCEでは対応しきれない
- プログラミングやAPI連携の知識がなく、自動化を諦めている
- 毎日決まった時間に自動でデータを更新したいが、PCを開いたままにできない
Octoparseがこれらの課題を解決する理由
株価データの収集では、複数銘柄の価格推移や市場動向を継続的に確認する必要がありますが、手作業でのコピーや単純なスクレイピングでは、更新頻度の高い情報を効率的に取得することが難しく、サイト側の構造変更やアクセス制限への対応も課題になります。特に金融サイトでは、動的に表示されるデータや複雑なページ構造により、安定したデータ取得環境を構築するには一定の技術的知識が求められます。
Octoparseは、ブラウザ操作に近い画面上で取得条件を設定でき、動的ページからのデータ取得、複数ページ・複数銘柄の一括収集、定期的な自動実行に対応しています。
また、データ取得時の安定性やアクセス制限への対応機能も備えているため、株価情報を継続的にモニタリングしたいユーザーに適しています。さらにMCP機能を利用すれば、ChatGPTなどのAIプラットフォームと連携し、「特定銘柄の最新株価を取得して分析する」といった自然言語での操作も可能になり、データ収集から分析までの流れを効率化できます。
Octoparseはノーコードで操作できるWebスクレイピングツールで、次のような機能で上記の課題に対応します。
- ノーコード操作:マウス操作だけで、銘柄名・株価・出来高・前日比など取得したい項目を指定できる
- テンプレート:主要な情報サイト向けのテンプレートを使えば設定の手間を減らせる
- クラウド抽出:クラウド上でタスクを実行できるため、PCを閉じていても自動でデータ収集が進む
- スケジュール実行:毎日・毎時など指定した間隔で自動的にデータを取得し続けられる
- 複数ページ・複数銘柄対応:ウォッチリストのように複数銘柄・複数ページをまとめて巡回取得できる
- Excel/CSV/Google Sheets出力:取得したデータをそのままスプレッドシートで使える形式で書き出せる
手動でのコピペ作業や、IMPORTXMLの保守に時間を取られている場合、また開発リソースを割かずに複数銘柄・複数サイトのデータを継続的に自動更新したい場合に、Octoparseは有力な選択肢になります。
Octoparseで株価データを取得する基本手順
以下はYahoo!ファイナンスのトヨタ自動車[7203]個別銘柄ページから株価を取得することを例として操作手順を詳しく紹介します。
ステップ1:octoaprseの公式サイトからツールをダウンロードし、インストールする
ステップ2:Octoparseを起動し、Yahoo!ファイナンスのトヨタ自動車の個別銘柄ページURL(https://finance.yahoo.co.jp/quote/7203.T)を入力する

ステップ3:ページが開いたら、「操作提案」に表示される「ウェブページのデータを自動検出」を選択するか、取得したいデータを手動でクリックし、「類似要素をすべて選択」をクリックします。

ステップ4:データプレビューで抽出したデータ(前日終値・始め値・高値など)を確認する

ステップ5:不要なフィールドを削除、または項目名を分かりやすく編集する
ステップ6:「実行」をクリックし、「抽出開始」から「ローカル収集」または「クラウド収集」を選択します。収集が完了したら、取得したデータをCSVまたはExcel形式でエクスポートできます。

ステップ7:毎日決まった時間にデータを自動更新したい場合は、Octoparseのダッシュボードで対象タスクの「もっと」をクリックし、「クラウド収集」内の「スケジュール実行を登録」を選択します。スケジュールを設定することで、パソコンを起動していない状態でも、クラウド上でデータ収集を自動実行できます。


複数銘柄をまとめて自動化したい場合は、すでに用意されているYahoo Finance Scraperテンプレートを使うとさらに早い。このテンプレートでは銘柄コードを入力するだけで、株価・出来高などの主要項目をワンクリックで取得できるよう事前に設計されている。
関連記事:
エクセルで株価を自動取得する方法は?|無料で日本株もリアルタイム化
競合情報も営業リストも、ウェブデータをそのままExcel・CSV・Google Sheetsに出力
コード不要、誰でも今日から。クリック操作だけで必要な項目を自動抽出
Google Maps・食べログ・iタウンページ向けテンプレートで、リード獲得をすぐに開始
クラウドで毎日・毎週自動実行。大量取得でも安定して、競合動向を常に把握
MCP対応でAIエージェントと連携。収集データをAIに渡して分析・活用まで一気通貫
クレジットカード不要で無料スタート。世界600万人以上が選んだ信頼のツール
スプレッドシートで株価が取得できないときのチェックリスト
スプレッドシートで株価を取得できないという状態になった場合は、以下を順番に確認してください。
- 数式のダブルクォーテーションやカンマの位置に誤りがないか確認する
- 証券コードの前に取引所コード(日本株なら「TYO:」)を付けているか確認する
- 対象銘柄がGOOGLEFINANCEでそもそも取得可能な銘柄か確認する(上場廃止・新規上場直後などは非対応の場合がある)
- IMPORTXMLを使っている場合、対象サイトのHTML構造が変わっていないか確認する
- シートの計算設定が「手動」になっていないか確認する(ファイル > 設定 > 計算)
- 一時的な通信エラーの可能性もあるため、時間を置いて再試行する
- 上記で解決しない場合は、複数サイトから安定して取得できるツール(Octoparseなど)への切り替えを検討する
よくある質問(FAQ)
Q1. スプレッドシートで日本株の株価を自動取得できますか?
A. GOOGLEFINANCE関数に「TYO:証券コード」の形式で入力することで取得可能です。ただし銘柄によっては取得できない場合があるため、その場合はIMPORTXMLや専用ツールでの取得を検討してください。
Q2. スプレッドシートの株価はリアルタイムですか?
A. 完全なリアルタイムではありません。GOOGLEFINANCEには数分〜20分程度の遅延があり、スプレッドシートの自動再計算にも数分単位の間隔があります。秒単位の値動きが必要な場合は証券会社の取引ツールを利用してください。
Q3. GOOGLEFINANCEで株探の株価データを取得できますか?
A. GOOGLEFINANCEは株探のデータを直接参照する関数ではありません。株探のページから情報を取得したい場合は、IMPORTXML関数、またはOctoparseのような収集ツールを利用する方法があります。
Q4. IMPORTXMLで急にエラーが出るようになったのはなぜですか?
A. 多くの場合、対象サイトのHTML構造が変更され、指定していたXPathが該当箇所を指さなくなったことが原因です。ブラウザの検証機能で最新のHTML構造を確認し、XPathを再設定する必要があります。
Q5. プログラミングができなくても株価データを自動収集できますか?
A. 可能です。GOOGLEFINANCE関数はプログラミング不要で利用でき、より複雑な複数サイト・複数銘柄の自動収集には、Octoparseのようなノーコードツールを利用することで、コードを書かずに自動化できます。
Q6. AIで株価データをスクレイピングできますか?
A. はい、AIを活用して株価データの取得や分析を効率化することは可能です。ただし、AI単体ではWebサイトから必要な株価情報を安定して収集する機能は限られており、データ取得ツールと組み合わせて利用することで、より実用的なワークフローを構築できます。
例えば、OctoparseのMCP機能を利用すると、ChatGPTなどのAIプラットフォームと連携し、自然言語で株価データの取得を指示できます。「トヨタ自動車の最新株価を取得して」「複数銘柄の株価変動を比較して」といった指示だけで、Octoparseが対象ページから株価、前日比、騰落率、出来高などのデータを収集し、そのデータをもとにAIで分析やレポート作成まで行えます。
まとめ
いかがでしょうか。この記事では、スプレッドシートで株価を自動取得する方法完全ガイドについて詳しく紹介しました。スプレッドシートで株価を自動取得する方法には、手軽なGOOGLEFINANCE関数、日本株サイトから情報を補えるIMPORTXML、そして複数サイト・複数銘柄を安定して自動収集できるOctoparseがあります。
少数の米国株や一部の日本株を手軽に確認したいならGOOGLEFINANCE、特定サイトの情報を一時的に取得したいならIMPORTXML、そして株探やYahoo!ファイナンスなど複数の日本株情報を継続的・自動的にスプレッドシートへ反映させたいなら、ノーコードで運用できるOctoparseの活用を検討してみてください。
競合情報も営業リストも、ウェブデータをそのままExcel・CSV・Google Sheetsに出力
コード不要、誰でも今日から。クリック操作だけで必要な項目を自動抽出
Google Maps・食べログ・iタウンページ向けテンプレートで、リード獲得をすぐに開始
クラウドで毎日・毎週自動実行。大量取得でも安定して、競合動向を常に把握
MCP対応でAIエージェントと連携。収集データをAIに渡して分析・活用まで一気通貫
クレジットカード不要で無料スタート。世界600万人以上が選んだ信頼のツール



