株価チャート Excelで自動更新する方法|証券コード入力だけ

この記事は約11分で読めます。

「Excelで株価チャートを自動更新したいけど、マクロとか難しそうで手が出ない…」

そう感じている人は多いはずだ。ネットで調べると「VBAを使え」「Power Queryで取得しろ」と出てくるが、初心者には敷居が高すぎる。実はExcel 365にはSTOCKHISTORY関数という武器があり、証券コードをセルに入力するだけで株価データが自動取得できる。マクロ不要・コード不要・関数1本で完結する。

ぼく自身、以前は毎日手作業でYahoo!ファイナンスから終値をコピーしていた。30銘柄分をこなすと1時間以上かかっていた。STOCKHISTORY関数に切り替えてからは、証券コードを変えるだけで全銘柄の株価履歴グラフが数秒で更新される。今回はその手順をそのまま公開する。

NISA複利効果を10年20年30年でシミュレーション
NISAの複利効果を10年・20年・30年でシミュレーション。毎月積立額別に資産がいくらになるか具体的な数字で解説。長期投資で複利を最大限活かす方法がわかる。
NISA積立額を月3000円上げると10年後どう変わるか
NISAの積立額を月3,000円増やすだけで10年後の資産は大きく変わる。複利効果・非課税メリットを活かした積立額の増やし方と具体的なシミュレーションを解説。
NISAの積立額を見直すタイミング3選|年収別チェックリスト
NISAの積立額を見直すべきタイミングは年収変化・ライフイベント・相場急落の3つ。年収別チェックリストで自分に合った積立額を今すぐ確認できる。

📋 この記事でわかること

  • STOCKHISTORY関数の基本構文と証券コードの指定方法
  • 株価データから自動更新チャートを作る手順(STEP1〜4)
  • 証券コードをセル参照に変えて銘柄切り替えを1クリック化する方法
  • よくあるエラーと対処法

📌 結論:証券コード入力だけで株価チャートは自動更新できる

STOCKHISTORY関数+Excelグラフを組み合わせれば、マクロ不要で株価チャートの自動更新が実現できる。証券コードを1つのセルに入力しておき、そのセルをINDIRECT関数やセル参照でSTOCKHISTORYに渡す。銘柄を変えたいときはコードを打ち替えるだけ。グラフは自動で描き直される。

必要なのはExcel 365(またはExcel 2021以降)だけだ。Power Queryもマクロも要らない。関数が苦手な人でも、この記事のSTEP通りに進めれば30分以内に動くものが完成する。

ヒイラギ
ヒイラギ

最初にこれを知っていれば、毎日の手作業コピペを1年もしなくて済んだと思う。正直悔しかった。

元ブラック公務員が現場で実際に使ったExcel関数19選|正社員2人分の事務作業が消える実務テク
Excel関数は数百種類あるけど、覚えるべきは一部だけ。残業月130時間の現場から業務改善の研修講師になった元公務員が、実際に残業を減らした関数19個をレベル別に厳選。IF・SUMIFの基礎から、3名2日の作業を1人30分にしたPower Queryまで紹介します。

📌 STEP1|STOCKHISTORY関数って何?まず仕組みを押さえる

✅ 結論:ネットから株価履歴を自動取得するExcel専用関数だ

STOCKHISTORY関数は、Microsoft 365のExcelに搭載された株価データ取得専用の関数だ。インターネットに接続した状態でセルに入力すると、指定した銘柄・期間・頻度の株価履歴(始値・高値・安値・終値・出来高)を自動でスピル(配列展開)する。

基本の構文は以下のとおりだ。

=STOCKHISTORY(銘柄, 開始日, [終了日], [頻度], [ヘッダー], [プロパティ...])

たとえばトヨタ(7203)の直近30日間の終値を取得したい場合はこう書く。=STOCKHISTORY("7203.T", TODAY()-30, TODAY(), 0, 1, 1)。末尾の「.T」は東証上場を示すサフィックスだ。米国株なら「AAPL」のようにティッカーシンボルをそのまま使える。

ノア
ノア

つまり「7203.T」って入力するだけで、トヨタの株価が自動で並ぶにゃ?すごいにゃ。

🖼 ここに図解を挿入(下のプロンプトで画像を作って差し替えてください)

図の内容: STOCKHISTORY関数の構文と各引数の対応表(銘柄・開始日・終了日・頻度・ヘッダー・プロパティ)を横並びで示した図解

ChatGPT(DALL-E)用プロンプト: A clean flat-design diagram showing the Excel STOCKHISTORY function syntax. Each argument (ticker, start_date, end_date, interval, headers, properties) is labeled in Japanese with colored brackets and short explanations below each one. White background, teal and orange accent colors, modern sans-serif Japanese font.

Canva用の指示: インフォグラフィックテンプレートを使い、「=STOCKHISTORY(“7203.T”, 開始日, 終了日, 0, 1, 1)」の数式を横に並べ、各引数に吹き出しで日本語の説明を付ける。配色はティール×オレンジ。


📌 STEP2|証券コードをセル参照にする方法は?

✅ 結論:コードをB1セルに入力し、関数からそのセルを参照するのが最速だ

銘柄コードを関数の中に直書きすると、銘柄を変えるたびに数式を書き直す手間が生じる。セル参照にすれば、1つのセルを書き換えるだけで全データとグラフが連動する。

設定手順はシンプルだ。B1セルに証券コード(例:「7203」)を入力し、B2セルにサフィックス付きのコードをCONCAT関数で生成する。数式はこうなる。=B1&".T"。これでB2セルには「7203.T」が表示される。あとはSTOCKHISTORY関数の第1引数にB2を参照させるだけだ。

=STOCKHISTORY(B2, TODAY()-90, TODAY(), 0, 1, 1)

B1セルを「4661」(オリエンタルランド)に変えれば、瞬時にディズニー株の株価履歴に切り替わる。INDIRECT関数を組み合わせると、ドロップダウンリストからの選択にも対応できる。

ヒイラギ
ヒイラギ

ぼくはB1にプルダウンリストを設定して、5銘柄をすぐ切り替えられるようにしている。これが地味に便利だ。


📌 STEP3|株価データからグラフを作るにはどうすればいい?

✅ 結論:スピルされたデータ範囲を選択して折れ線グラフを挿入するだけだ

STOCKHISTORY関数を入力すると、日付と終値(または始値〜終値)がスピル形式でセルに展開される。このデータ範囲をそのままグラフのデータ源として使う。

手順は以下のとおりだ。

  • ① STOCKHISTORY関数をD2セルに入力(日付列・終値列がD列とE列にスピル)
  • ② D列〜E列の全データを選択(スピル範囲はD2#と入力するとすべて参照できる)
  • ③「挿入」タブ→「折れ線グラフ」→「折れ線」を選択
  • ④ 横軸に日付、縦軸に終値が自動でマッピングされる

グラフのデータ範囲にスピル参照(D2#)を使えば、データが増えても自動で拡張される。手動でグラフの範囲を広げる作業が不要になる。証券コードを変えれば、グラフも即座に書き換わる。これが「自動更新」の正体だ。

ノア
ノア

D2#って書くだけでスピル範囲を全部取れるにゃ。これ知らないとグラフ範囲を毎回直すはめになるにゃ。

🖼 ここに図解を挿入(下のプロンプトで画像を作って差し替えてください)

図の内容: STOCKHISTORY関数のスピル展開→グラフ挿入→自動更新の流れを示すフロー図(B1セルにコード入力→スピルデータ展開→折れ線グラフ自動更新)

ChatGPT(DALL-E)用プロンプト: A simple 3-step flowchart in flat design showing: Step 1 “Enter stock code in cell B1” → Step 2 “STOCKHISTORY function auto-expands date and price data” → Step 3 “Line chart updates automatically”. Japanese labels, clean white background, blue and green arrows, modern UI mockup style.

Canva用の指示: フロー図テンプレートを使い、「①証券コード入力」→「②株価データ自動展開」→「③グラフ自動更新」の3ステップを矢印でつなぐ。吹き出しに「マクロ不要」「関数1本」の補足テキストを入れる。配色は青×緑。


📌 STEP4|エラーが出たときはどう対処する?

✅ 結論:「.T」の有無・ネット接続・Excel バージョンの3点を確認するのが正解だ

STOCKHISTORY関数で最もよく出るエラーは「#GETTING_DATA」と「#N/A」の2種類だ。それぞれ原因と対処が異なる。

#GETTING_DATAはデータ取得中のサインだ。数秒〜数十秒待てば解消することが多い。Wi-Fiが不安定な環境では解消しない場合があるので、接続状態を確認してほしい。

#N/Aは銘柄コードが認識されていないサインだ。日本株は「7203.T」のように末尾に「.T」を付けることが必須だ。「7203」だけでは取得できない。米国株は「AAPL」「MSFT」のようにティッカーシンボルをそのまま使う。

また、STOCKHISTORY関数はExcel 365・Excel 2021以降専用だ。Excel 2019以前では関数自体が存在しないため、どうやっても動かない。Excelのバージョンを「ファイル→アカウント→Excelのバージョン情報」で確認してみてほしい。

ノア
ノア

「.T」を付けなくてエラーが出て1時間悩んでたやつ、ぼくのことにゃ…という話を聞いたにゃ。

ヒイラギ
ヒイラギ

…黙ってて。


📌 もっと使いこなしたい人向け|応用設定はどこまでできる?

✅ 結論:複数銘柄の比較チャートや週次・月次集計も関数の組み合わせで実現できる

STOCKHISTORY関数の第3引数(頻度)を変えると、日次(0)・週次(1)・月次(2)の切り替えが可能だ。月次チャートで長期トレンドを見たいときは「2」を指定するだけでいい。

複数銘柄を並べて比較したい場合は、シートを銘柄ごとに分けるか、STOCKHISTORY関数を複数行に並べて横に展開する方法が使いやすい。「Excelで投資管理」を本格的にやるなら、銘柄一覧シートと自動更新チャートシートを分けて設計するのがベストだ。

ローソク足チャートを作りたい場合は、STOCKHISTORYで始値・高値・安値・終値の4列を取得し、Excelの「株価チャート(ローソク足)」グラフを選択する。取得する列の指定は第6引数以降に「0, 1, 2, 3」と並べるだけだ。株価チャートの読み方についてはこちらの記事も参考にしてみてほしい。

Excelを10年使った正直評価|LET・パワークエリ・学習コストの本音
大学から10年Excelを使い続けた元公務員が、LET関数・パワークエリ・学習コストを包み隠さず評価。公務員時代の業務自動化、施工管理での実例を交えながら、Excelが武器になる人とならない人を具体的に解説します。

📌 まとめ

今回の手順を振り返る。

  • STOCKHISTORY関数はExcel 365専用の株価自動取得関数。マクロ不要・コード不要
  • 日本株は「7203.T」のように末尾に「.T」を付けるのが必須
  • 証券コードをB1セルに入力し、STOCKHISTORY関数からセル参照することで1クリック銘柄切り替えが実現する
  • グラフのデータ範囲にスピル参照(例:D2#)を使えばグラフも自動拡張される
  • エラーが出たら「.T の有無・ネット接続・Excelバージョン」の3点を最初に確認する

株価チャートの自動更新は、関数1本と5分の設定で完成する。手作業でデータをコピーし続ける時間は今日で終わりにしてほしい。まずはB1セルに自分の保有銘柄のコードを入力するところから始めてみてください。


📌 よくある質問

✅ STOCKHISTORY関数はExcel無料版(Web版)でも使える?

結論:Excel Web版では動作しない場合があるため、デスクトップ版の使用を推奨する

STOCKHISTORY関数はMicrosoft 365サブスクリプションのデスクトップ版Excelで最も安定して動作する。Excel Web版(ブラウザ版)でも対応しているケースはあるが、データ取得の安定性や更新速度はデスクトップ版に劣ることが多い。Excel 2019以前はそもそも関数が存在しないため使用不可だ。バージョン確認は「ファイル→アカウント→Excelのバージョン情報」で行える。

✅ 米国株(Apple・Teslaなど)の株価も取得できる?

結論:取得できる。ティッカーシンボルをそのまま入力すればいい

米国株はティッカーシンボル(AAPL・TSLA・MSFTなど)をそのまま第1引数に入力すれば取得できる。日本株と違い「.T」のようなサフィックスは不要だ。ただし、取得できるデータはMicrosoftが契約しているデータプロバイダに依存するため、銘柄によっては取得できないことがある。メジャーな銘柄(S&P500構成銘柄など)は概ね問題なく取得できる。

✅ Power Queryを使った株価取得との違いは何?

結論:手軽さはSTOCKHISTORY関数が上、柔軟性と安定性はPower Queryが上だ

STOCKHISTORY関数は関数を1つ入力するだけで完結するため、初心者でもすぐ使える。一方でデータ取得元や更新タイミングの細かい制御はできない。Power Queryはウェブスクレイピングや外部APIとの接続が可能で、より柔軟なデータ取得が実現できるが、設定の学習コストが高い。最初はSTOCKHISTORY関数で始め、物足りなくなったらPower Queryに移行するルートが現実的だ。投資管理をExcelで本格化したい人はこちらの実務Excelまとめ記事も参考にしてみてほしい。

✅ リアルタイムの株価は取得できる?

結論:リアルタイムではなく、基本的に前日終値までのデータが対象だ

STOCKHISTORY関数で取得できるデータは、基本的に前日までの終値・始値・高値・安値・出来高だ。リアルタイムの株価(ティック・分足)はこの関数では対応していない。リアルタイムデータが必要な場合は、各証券会社のツール(例:松井証券ネットストックハイスピードなど)を使う方が適切だ。Excelはあくまで「履歴データを管理・分析する」用途に向いている。


📚 参考文献

※本記事の情報は2026年7月時点のものです。Excelの仕様変更・データプロバイダの変更により、関数の挙動が変わる場合があります。最新情報はMicrosoft公式サポートページをご確認ください。

※本記事は情報提供を目的としており、投資の助言を目的としたものではありません。投資はリスクを伴います。実際の投資判断はご自身の責任でお願いします。

コメント

タイトルとURLをコピーしました