Excelで株価を取得する方法まとめ|最新価格を自動取得

  • URLをコピーしました!

株価をExcelで自動取得できれば、
投資管理・資産管理・株価分析 を大幅に効率化できます。

アプリで管理も楽ですが、Excel管理すると自分好みに痒い所に手が届くカスタマイズが可能なのが最大のメリットです。

本記事では、
初心者でも使える方法から、少し高度な自動取得方法まで
Excelで株価を取得する代表的な手法をまとめて解説します。

Excelで株価を取得する方法まとめ

目次

Excelで株価を取得する主な方法一覧

方法難易度自動更新米国株対応対応Excelバージョン特徴
株価データ型★☆☆Excel 365 / Excel 2021以降最も簡単・関数不要
WEBSERVICE+FILTERXML★★☆Excel 2013以降関数だけで取得可能
Power Query★★☆Excel 2016以降 / 365安定・大量データ向き
VBA★★★Excel 2010以降高度な自動化が可能
外部CSV / API★★★Excel 2016以降 / 365本格運用向け

方法①:株価データ型(旧Office 365)

Excelの「株価データ型」を使えば、
数クリックで最新株価を自動取得 できます。

手順

  1. セルに銘柄名 or 証券コードを入力

  2. セルを選択

  3. [データ] → [株価] をクリック

  4. 株価データ型に変換される

  5. 右側のアイコンから「価格」「前日終値」などを選択

メリット

  • 関数不要

  • 初心者向け

  • 自動更新対応

注意点

  • 対応銘柄に制限あり

  • リアルタイムではなく 一定間隔更新

  • 2026年2月時点の最新のMicrosoft 365では株価(English)版しか選択できないため、日本の企業コードでの取得には対応できていません

方法②:WEBSERVICE関数で株価を取得する

Web上の株価情報を 関数だけで取得 する方法です。

=WEBSERVICE("URL")

特徴

  • VBA不要

  • 自由度が高い

  • サイト構造変更に弱い

向いているケース

  • 簡易的な取得

  • 検証・学習用途

WEBSERVICE関数で株価を取得例

方法③:Power Queryで株価を自動取得(安定)

Power Queryを使うと、
WebページやCSVから株価データを定期取得 できます。

特徴

  • 更新ボタン1つで再取得

  • 複数銘柄・大量データ向き

  • 業務利用でも安定

おすすめ用途

  • 投資管理シート

  • 定期レポート作成

  • CSV連携

例:Stooq(無料・APIキー不要)から日次データを取得(Power Queryだけで完結)

向いてる用途:とにかく手早く「日足(Open/High/Low/Close/Volume)」を自動取得したい

手順

  1. Excel → データデータの取得Webから
  2. URLに以下を入力(例:トヨタ 7203 の日足・CSV)
    https://stooq.com/q/d/l/?s=7203.jp&i=d
  3. 取り込み画面で 変換データ(Power Queryエディター)を開く
  4. 列の型(Date / number)を整える → 閉じて読み込む
  5. データすべて更新 で最新化(ブックを開くたびに更新も設定可)

ポイント

取得できるのは「終値だけ」ではなく日足一式なので、最新終値だけ欲しいなら「最新日付の行を残す」変換を入れると便利

銘柄コードはサイト仕様に依存します(7203.jp のように市場サフィックスが必要)


方法④:VBAで株価を取得(高度)

VBAを使えば、
完全自動で株価を取得・更新 できます。

できること

  • 起動時に自動更新

  • 定時実行

  • 複数サイト対応

注意点

  • VBA知識が必要

  • セキュリティ設定に注意

例1:WEBSERVICE()+VBAでセルに式を入れる(最短・簡単)

ポイント:VBAは“取得”というより「Webから取れるURLを組んで、セル関数で吸う」役。
(Microsoft 365 なら STOCKHISTORY / 株価 データ型でもっと簡単なことが多い)

  • メリット:Excel関数中心で速い
  • デメリット:JSONが返ると結局パースが必要。取得先URLが重要

例2:HTTPでJSONを取得 → VBAで価格を抜き出す(汎用)

ポイントMSXML2.XMLHTTP でGETして、JSONから必要値を抜き出します。
※VBA標準にはJSONパーサがないので、ここでは 超簡易の文字列抽出 で例示(本番はVBA-JSON等推奨)。

  • メリット:APIを変えても使い回せる
  • デメリット:JSON処理はちゃんとやるならライブラリ導入が必要

例3:複数銘柄を一括更新(シートの銘柄一覧 → 価格列へ)

シート例

  • A列:銘柄コード(例:7203.T
  • B列:価格(ここに入れる)
  • 2行目以降に銘柄が並ぶ





実務でのおすすめ方針(失敗しにくい)

レート制限・エラー時のリトライ・キャッシュを入れる

Microsoft 365ならSTOCKHISTORY() / 「株価」データ型(VBA不要のことが多い)

VBAでやるなら

取得先は 公式API(証券会社/データベンダー)

JSONパースは VBA-JSON(JsonConverter) など導入


方法⑤:外部CSV・API連携(本格運用)

証券会社やデータ提供元の APIやCSV を使う方法です。

特徴

  • 精度が高い

  • リアルタイム性が高い

  • 将来の自動化・拡張向き

向いている人

  • 中〜上級者

  • 業務・分析用途

  • 長期運用


どの方法を選ぶべき?

目的おすすめ
初心者・簡単株価データ型
関数だけ使いたいWEBSERVICE
安定・実務Power Query
完全自動化VBA
本格分析API / CSV

よくある質問(Q & A)

Excelで取得できる株価はリアルタイムですか?

Excelで取得できる株価は、基本的に「リアルタイム」ではなく数分〜15分程度遅れた参考値になります。
Excelの「株価」データ型や WEBSERVICE 関数、Power Queryなどで取得する価格は、証券会社の取引システムと直接接続しているわけではありません。

そのため、

  • トレードの売買判断
  • スキャルピングやデイトレード

には向きませんが、

  • 資産管理
  • ポートフォリオの評価
  • 日次・週次の価格確認

といった用途であれば十分実用的です。

日本株と米国株の両方をExcelで取得できますか?

はい、日本株・米国株ともにExcelで取得可能です。

例えば、

  • 日本株:7203.T(トヨタ自動車)
  • 米国株:AAPL(Apple)

のようにティッカーシンボルを指定することで、株価データを取得できます。
Excelの「株価」データ型や、Webからの取得機能を使えば、
株価だけでなく以下の情報も取得できます。

  • 現在値
  • 前日終値
  • 始値・高値・安値
  • 時価総額
  • PER など

複数銘柄を一覧で管理できるため、資産管理表として活用できます。

株価が取得できない・更新されない場合の原因は何ですか?

株価が取得できない場合は、以下の原因が多く見られます。

  • ティッカーシンボルの入力ミス
  • 市場コード(.T など)の付け忘れ
  • 取得元サイトの仕様変更
  • Excelのデータ更新がオフになっている
  • ネットワーク接続エラー

対処法としては、

  • 銘柄コードを正しく入力する
  • 「すべて更新」を実行する
  • 一度データを削除して再取得する
  • Power Queryの場合は取得URLを確認する

といった点を見直すと改善することがあります。


まとめ

Excelでは、
用途・レベルに応じて複数の株価取得方法 が用意されています。

  • まずは株価データ型

  • 安定運用ならPower Query

  • 自動化したいならVBA

自分の投資スタイルに合った方法を選び、
株価管理を自動化・効率化 していきましょう。

よかったらシェアしてね!
  • URLをコピーしました!
0 0
Article Rating
申し込む
注目する
guest
0 コメント一覧
最も古い
最新 高評価
インラインフィードバック
すべてのコメントを見る
目次
0
あなたの考えが大好きです、コメントしてください。x