<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>金融データ &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%E9%87%91%E8%9E%8D%E3%83%87%E3%83%BC%E3%82%BF/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 28 May 2026 22:58:36 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>金融データ &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのSTOCKHISTORY関数の使い方｜株価の履歴データを自動取得する</title>
		<link>https://mashukabu.com/excel-function-howto-use-stockhistory/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-stockhistory/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 15 Jun 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[STOCKHISTORY]]></category>
		<category><![CDATA[株価]]></category>
		<category><![CDATA[金融データ]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2219</guid>

					<description><![CDATA[ExcelのSTOCKHISTORY関数で株価履歴データを自動取得する方法を解説。始値・終値・高値・安値・出来高の取得、期間指定、ポートフォリオ管理への活用、よくあるエラー対処まで完全網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Excelで株価の推移を毎回コピペするのが面倒」「ポートフォリオの月次データを自動更新したい」と感じていませんか。<code>STOCKHISTORY関数</code>なら、数式ひとつで株価履歴をExcelに展開できます。</p>



<p class="wp-block-paragraph">この記事では、Excelの<code>STOCKHISTORY関数</code>の使い方を解説します。書式・基本例・OHLCV取得・期間指定・チャート連携・エラー対処まで、コピペで動く数式つきで紹介します。Microsoft 365を使っていれば、今日から株価データの取得を自動化できます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">STOCKHISTORY関数とは？読み方と何ができるか</a><ol><li><a href="#toc2" tabindex="0">読み方と語源</a></li><li><a href="#toc3" tabindex="0">何ができるのか</a></li><li><a href="#toc4" tabindex="0">対応バージョンと制限事項</a></li></ol></li><li><a href="#toc5" tabindex="0">STOCKHISTORY関数の書式と引数</a><ol><li><a href="#toc6" tabindex="0">基本構文</a></li><li><a href="#toc7" tabindex="0">引数一覧</a></li><li><a href="#toc8" tabindex="0">第1引数 stock（銘柄指定）</a></li><li><a href="#toc9" tabindex="0">第2引数 start_date と第3引数 end_date</a></li><li><a href="#toc10" tabindex="0">第4引数 interval（取得間隔）</a></li><li><a href="#toc11" tabindex="0">第5引数 headers（ヘッダー表示）</a></li><li><a href="#toc12" tabindex="0">第6引数以降 property（取得するデータの種類と順序）</a></li></ol></li><li><a href="#toc13" tabindex="0">STOCKHISTORY関数の基本的な使い方（株価終値を取得する）</a><ol><li><a href="#toc14" tabindex="0">例1: 直近1ヶ月の終値を取得する</a></li><li><a href="#toc15" tabindex="0">例2: 期間を明示して取得する</a></li><li><a href="#toc16" tabindex="0">例3: 単一日の株価を取得する</a></li><li><a href="#toc17" tabindex="0">例4: 銘柄が認識されない場合は市場識別子を付ける</a></li></ol></li><li><a href="#toc18" tabindex="0">STOCKHISTORY関数の使い方｜OHLCV（始値・高値・安値・終値・出来高）を取得する</a><ol><li><a href="#toc19" tabindex="0">例5: OHLCV すべてを取得する</a></li><li><a href="#toc20" tabindex="0">例6: ローソク足チャートのための4本値を取得する</a></li><li><a href="#toc21" tabindex="0">例7: 終値と出来高だけ取得する（出来高分析用）</a></li><li><a href="#toc22" tabindex="0">propertyの並び順は自由に変えられる</a></li></ol></li><li><a href="#toc23" tabindex="0">STOCKHISTORY関数の使い方｜期間・頻度を指定してデータを取得する</a><ol><li><a href="#toc24" tabindex="0">例8: 月次データで長期トレンドを取得する</a></li><li><a href="#toc25" tabindex="0">例9: 週次データでスイングトレード分析</a></li><li><a href="#toc26" tabindex="0">例10: 動的な期間指定（年度・四半期）</a></li><li><a href="#toc27" tabindex="0">期間とinterval の組み合わせ早見表</a></li></ol></li><li><a href="#toc28" tabindex="0">STOCKHISTORY関数でETF・指数・為替レートを取得する</a><ol><li><a href="#toc29" tabindex="0">ETFを取得する（SPY・QQQ・VOOなど）</a></li><li><a href="#toc30" tabindex="0">指数を取得する（S&#038;P 500・ダウ・NASDAQ総合）</a></li><li><a href="#toc31" tabindex="0">為替レートを取得する（USD/JPY・EUR/USD）</a></li><li><a href="#toc32" tabindex="0">ETF・指数・為替の取得書式まとめ</a></li></ol></li><li><a href="#toc33" tabindex="0">STOCKHISTORY関数の活用例｜チャートや分析への応用</a><ol><li><a href="#toc34" tabindex="0">活用例1: 自動更新される株価チャート</a></li><li><a href="#toc35" tabindex="0">活用例2: 複数銘柄の比較表（ポートフォリオ管理）</a></li><li><a href="#toc36" tabindex="0">活用例3: パフォーマンスダッシュボード</a></li><li><a href="#toc37" tabindex="0">活用例4: 月次リターン推移表</a></li><li><a href="#toc38" tabindex="0">活用例5: 50日・200日移動平均線の自動計算</a></li></ol></li><li><a href="#toc39" tabindex="0">STOCKHISTORY関数でよくあるエラーと対処法（#N/A・#VALUE!・データが返らないなど）</a><ol><li><a href="#toc40" tabindex="0">#VALUE! エラー：銘柄が認識されない</a></li><li><a href="#toc41" tabindex="0">#NAME? エラー：非対応バージョン</a></li><li><a href="#toc42" tabindex="0">データが空欄になる日がある</a></li><li><a href="#toc43" tabindex="0">#BUSY! や データ取得中の表示</a></li><li><a href="#toc44" tabindex="0">結果が古い・更新されない</a></li><li><a href="#toc45" tabindex="0">データ取得の遅延</a></li></ol></li><li><a href="#toc46" tabindex="0">STOCKHISTORY関数で株式分割・配当の扱いに注意する</a><ol><li><a href="#toc47" tabindex="0">株式分割があった日付に断層が出る</a></li><li><a href="#toc48" tabindex="0">対処法1: ETF・指数で代用する</a></li><li><a href="#toc49" tabindex="0">対処法2: 別途調整係数を掛ける</a></li><li><a href="#toc50" tabindex="0">対処法3: 配当再投資込みのトータルリターンには別ツールを使う</a></li></ol></li><li><a href="#toc51" tabindex="0">STOCKHISTORY関数を含むファイルを共有するときの注意点</a><ol><li><a href="#toc52" tabindex="0">Microsoft 365を持っていない人が開くと#NAME?になる</a></li><li><a href="#toc53" tabindex="0">値貼り付けで配布するのが定番運用</a></li><li><a href="#toc54" tabindex="0">共有用と分析用でシートを分ける</a></li></ol></li><li><a href="#toc55" tabindex="0">STOCKHISTORY関数のよくある質問（FAQ）</a><ol><li><a href="#toc56" tabindex="0">Q1. 日本株（東証銘柄）の株価は取得できますか？</a></li><li><a href="#toc57" tabindex="0">Q2. リアルタイムの株価を取得できますか？</a></li><li><a href="#toc58" tabindex="0">Q3. 仮想通貨や為替レートも取得できますか？</a></li><li><a href="#toc59" tabindex="0">Q4. Excel 2021でSTOCKHISTORY関数を使うことはできますか？</a></li><li><a href="#toc60" tabindex="0">Q5. グラフを自動更新するにはどうすればいいですか？</a></li><li><a href="#toc61" tabindex="0">Q6. 結果が複数行・複数列にスピルしないのですが？</a></li><li><a href="#toc62" tabindex="0">Q7. 過去どこまでさかのぼってデータを取得できますか？</a></li><li><a href="#toc63" tabindex="0">Q8. 複数銘柄を1つの数式で取得できますか？</a></li></ol></li><li><a href="#toc64" tabindex="0">STOCKHISTORY関数で複数銘柄をまとめて取得する（REDUCE+LAMBDA+VSTACK）</a><ol><li><a href="#toc65" tabindex="0">複数銘柄を縦に積み上げる数式</a></li><li><a href="#toc66" tabindex="0">使うときの注意点</a></li></ol></li><li><a href="#toc67" tabindex="0">STOCKHISTORY・GOOGLEFINANCE・Power Query の使い分け</a><ol><li><a href="#toc68" tabindex="0">3つの手段を比較する</a></li><li><a href="#toc69" tabindex="0">結局どれを選べばいいのか</a></li></ol></li><li><a href="#toc70" tabindex="0">応用テクニック｜SEQUENCEで動的ヘッダーを自動生成する</a><ol><li><a href="#toc71" tabindex="0">12ヶ月分の月名ヘッダーを一発で作る</a></li></ol></li><li><a href="#toc72" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">STOCKHISTORY関数とは？読み方と何ができるか</span></h2>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>は、指定した金融商品の価格履歴データをExcelに取得する関数です。日付・始値・終値・高値・安値・出来高といったデータを、指定した期間でまとめて取り出せます。</p>



<h3 class="wp-block-heading"><span id="toc2">読み方と語源</span></h3>



<p class="wp-block-paragraph">読み方は「ストックヒストリー」です。<code>STOCK</code>（株式）と<code>HISTORY</code>（履歴）を組み合わせた名前で、「株式の履歴」を取得するための関数です。略称ではなく英単語をそのまま並べた素直な命名なので、覚えやすい関数のひとつです。</p>



<h3 class="wp-block-heading"><span id="toc3">何ができるのか</span></h3>



<p class="wp-block-paragraph">ひとことで言うと「外部の株価データベースに数式から問い合わせて、結果を表形式で返す関数」です。具体的には次のような操作を一発で実現できます。</p>



<ul class="wp-block-list"><li>米国株の終値を直近1ヶ月分、自動でスピル表示する</li><li>Apple・Microsoft・Amazonなど複数銘柄の月次データを比較する</li><li>始値・高値・安値・終値・出来高（OHLCV）を1つの数式で取得する</li><li>グラフと組み合わせて、自動更新される株価チャートを作る</li></ul>



<p class="wp-block-paragraph">毎回ヤフーファイナンスやSBI証券にアクセスして手でコピペする必要がなくなります。</p>



<h3 class="wp-block-heading"><span id="toc4">対応バージョンと制限事項</span></h3>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>を使うには、いくつかの前提条件があります。導入してから「動かない」とならないよう、事前に確認しておきましょう。</p>



<ul class="wp-block-list"><li><strong>Microsoft 365専用</strong>: Excel 2019・2021・2024（永続ライセンス版）では使えません</li><li><strong>インターネット接続が必須</strong>: データを外部から取りに行くため、オフラインでは動作しません</li><li><strong>日本株（東京証券取引所）は非対応</strong>: 対象は主に米国株や主要海外市場です</li><li><strong>遅延データ</strong>: リアルタイム価格ではなく、一定時間遅れたデータが返されます</li></ul>



<p class="wp-block-paragraph">日本株を取得したい方は、Googleスプレッドシートの<a href="https://mashukabu.com/spreadsheet-googlefinance-function/">GOOGLEFINANCE関数</a>を検討するのも一つの手です。日本株の終値や為替レートも取得できます。</p>



<p class="wp-block-paragraph">ほかの関数とあわせて学習したい場合は、<a href="https://mashukabu.com/excel-function-alphabetical-order/">Excel関数一覧（アルファベット順）</a>も参考にしてください。</p>



<h2 class="wp-block-heading"><span id="toc5">STOCKHISTORY関数の書式と引数</span></h2>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>は引数が多めに見えますが、必須なのは2つだけです。落ち着いて1つずつ整理していきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">基本構文</span></h3>



<pre class="wp-block-code"><code>=STOCKHISTORY(stock, start_date, [end_date], [interval], [headers], [property1], [property2], ...)</code></pre>



<p class="wp-block-paragraph">角括弧<code>[]</code>で囲まれた引数は省略可能です。最小構成は<code>=STOCKHISTORY(銘柄, 開始日)</code>の2引数だけで動きます。</p>



<h3 class="wp-block-heading"><span id="toc7">引数一覧</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>内容</th><th>既定値</th></tr></thead><tbody><tr><td>stock</td><td>必須</td><td>金融商品のティッカーシンボル（例: <code>"MSFT"</code>）または市場識別子付き（例: <code>"XNAS:MSFT"</code>）</td><td>—</td></tr><tr><td>start_date</td><td>必須</td><td>データ取得の開始日</td><td>—</td></tr><tr><td>end_date</td><td>省略可</td><td>データ取得の終了日</td><td>start_dateと同じ</td></tr><tr><td>interval</td><td>省略可</td><td>取得単位（0=日次 / 1=週次 / 2=月次）</td><td>0</td></tr><tr><td>headers</td><td>省略可</td><td>ヘッダー表示（0=なし / 1=あり / 2=銘柄識別子＋ヘッダー）</td><td>1</td></tr><tr><td>property1〜</td><td>省略可</td><td>取得するデータ列の種類と並び順</td><td>0,1（日付・終値）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">第1引数 stock（銘柄指定）</span></h3>



<p class="wp-block-paragraph">ティッカーシンボルをダブルクォートで囲んで指定します。Microsoftなら<code>"MSFT"</code>、Appleなら<code>"AAPL"</code>です。シンボルが認識されない場合は<code>"XNAS:MSFT"</code>のように市場識別子を付けて明示しましょう。<code>XNAS</code>はNASDAQ、<code>XNYS</code>はNYSEを意味します。</p>



<p class="wp-block-paragraph">セル参照も使えるので、ティッカーを別セルにまとめて管理し、銘柄を入れ替えるだけで集計表が切り替わるような作りも可能です。</p>



<h3 class="wp-block-heading"><span id="toc9">第2引数 start_date と第3引数 end_date</span></h3>



<p class="wp-block-paragraph">取得期間の開始日・終了日を指定します。日付の指定方法は3パターンあります。</p>



<ul class="wp-block-list"><li>直接入力: <code>"2025-01-01"</code> または <code>"2025/1/1"</code></li><li>セル参照: <code>A1</code>（A1セルに日付が入っている場合）</li><li>関数組み合わせ: <code>TODAY()-30</code>（今日から30日前）や<code>DATE(2025,1,1)</code>など</li></ul>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a>と組み合わせると、ファイルを開くたびに最新データに自動更新される作りにできます。</p>



<h3 class="wp-block-heading"><span id="toc10">第4引数 interval（取得間隔）</span></h3>



<p class="wp-block-paragraph">データの間隔を数値で指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>意味</th><th>想定用途</th></tr></thead><tbody><tr><td>0</td><td>日次</td><td>短期トレード分析・週次レビュー</td></tr><tr><td>1</td><td>週次</td><td>中期チャート・週足分析</td></tr><tr><td>2</td><td>月次</td><td>長期トレンド・ポートフォリオ管理</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">省略時は<code>0</code>（日次）です。月次データなら数十年分でも数十行に収まるので、長期データを扱うときは積極的に<code>2</code>を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">第5引数 headers（ヘッダー表示）</span></h3>



<p class="wp-block-paragraph">結果表にヘッダー行を入れるかどうかを指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>結果</th></tr></thead><tbody><tr><td>0</td><td>ヘッダーなし。データのみ</td></tr><tr><td>1（既定値）</td><td>「日付」「終値」などのヘッダー付き</td></tr><tr><td>2</td><td>ヘッダーに加え、銘柄識別子も表示</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">複数銘柄を1シートに並べる場合は<code>2</code>を使うと、どの列がどの銘柄か視覚的にわかりやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc12">第6引数以降 property（取得するデータの種類と順序）</span></h3>



<p class="wp-block-paragraph">取得したい列を数値で指定します。複数指定可能で、指定した順番で列が並びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>取得データ</th></tr></thead><tbody><tr><td>0</td><td>日付</td></tr><tr><td>1</td><td>終値</td></tr><tr><td>2</td><td>始値</td></tr><tr><td>3</td><td>高値</td></tr><tr><td>4</td><td>安値</td></tr><tr><td>5</td><td>出来高</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">省略すると<code>0,1</code>（日付・終値）が返ります。例えば<code>0,2,3,4,1,5</code>と並べると「日付・始値・高値・安値・終値・出来高」のOHLCV順で出力されます。</p>



<h2 class="wp-block-heading"><span id="toc13">STOCKHISTORY関数の基本的な使い方（株価終値を取得する）</span></h2>



<p class="wp-block-paragraph">引数の解説だけでは動きがイメージしにくいので、ここからは具体例で見ていきましょう。まずは「終値だけ」を取得するシンプルなパターンです。</p>



<h3 class="wp-block-heading"><span id="toc14">例1: 直近1ヶ月の終値を取得する</span></h3>



<p class="wp-block-paragraph">Microsoft（MSFT）の直近30日間の終値を取得する数式です。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, TODAY()-30, TODAY())</code></pre>



<p class="wp-block-paragraph">セルに入力すると、結果が下方向にスピルして「日付」「終値」の2列が自動展開されます。<code>TODAY()</code>を使っているので、ファイルを開いた日を起点に「常に直近30日」のデータが表示されます。毎朝の株価チェックを定型化したい人にぴったりの書き方です。</p>



<h3 class="wp-block-heading"><span id="toc15">例2: 期間を明示して取得する</span></h3>



<p class="wp-block-paragraph">日付をハードコードする書き方も覚えておきましょう。決算期や特定イベント前後の動きを切り出すときに使います。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;AAPL&quot;, DATE(2025,1,1), DATE(2025,3,31), 0, 1)</code></pre>



<p class="wp-block-paragraph">Apple（AAPL）の2025年第1四半期（1〜3月）の日次データを取得します。<code>interval=0</code>（日次）、<code>headers=1</code>（ヘッダーあり）と明示しているため、出力結果が読みやすく整います。</p>



<h3 class="wp-block-heading"><span id="toc16">例3: 単一日の株価を取得する</span></h3>



<p class="wp-block-paragraph"><code>end_date</code>を省略すると、<code>start_date</code>と同じ日のデータが返ります。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, DATE(2025,3,3))</code></pre>



<p class="wp-block-paragraph">「特定日の終値だけ知りたい」という単発の用途で使います。月末日の株価をまとめて拾ってきて、月次レポートに貼り付ける用途にも向いています。</p>



<h3 class="wp-block-heading"><span id="toc17">例4: 銘柄が認識されない場合は市場識別子を付ける</span></h3>



<p class="wp-block-paragraph">ティッカーシンボルだけでは曖昧で認識されないケースがあります。そんなときは市場識別子を付けて指定し直しましょう。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;XNAS:MSFT&quot;, TODAY()-30, TODAY())</code></pre>



<p class="wp-block-paragraph"><code>XNAS</code>はNASDAQの市場識別子です。NYSE上場銘柄なら<code>XNYS:</code>、ロンドン証券取引所なら<code>XLON:</code>を付けます。同じシンボルが複数の取引所に存在する場合に有効です。</p>



<figure class="wp-block-table"><table><thead><tr><th>市場識別子</th><th>取引所</th></tr></thead><tbody><tr><td>XNAS</td><td>NASDAQ</td></tr><tr><td>XNYS</td><td>ニューヨーク証券取引所（NYSE）</td></tr><tr><td>XLON</td><td>ロンドン証券取引所</td></tr><tr><td>XHKG</td><td>香港証券取引所</td></tr><tr><td>XSWX</td><td>スイス証券取引所</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">市場識別子の完全な一覧はMicrosoft公式サポートページで確認できます。</p>



<h2 class="wp-block-heading"><span id="toc18">STOCKHISTORY関数の使い方｜OHLCV（始値・高値・安値・終値・出来高）を取得する</span></h2>



<p class="wp-block-paragraph">「終値だけじゃ物足りない、ローソク足を描くのに必要な情報がほしい」というニーズに応えるのが、第6引数以降の<code>property</code>指定です。</p>



<h3 class="wp-block-heading"><span id="toc19">例5: OHLCV すべてを取得する</span></h3>



<p class="wp-block-paragraph">Amazon（AMZN）の過去21日間のOHLCVをすべて取得する例です。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;XNAS:AMZN&quot;, TODAY()-21, TODAY(), 0, 2, 0, 2, 3, 4, 1, 5)</code></pre>



<p class="wp-block-paragraph">引数を分解すると次の意味になります。</p>



<ul class="wp-block-list"><li><code>"XNAS:AMZN"</code>: NASDAQ上場のAmazon</li><li><code>TODAY()-21, TODAY()</code>: 直近21日間</li><li><code>0</code>: 日次データ</li><li><code>2</code>: ヘッダーに銘柄識別子を追加表示</li><li><code>0, 2, 3, 4, 1, 5</code>: 日付・始値・高値・安値・終値・出来高の順</li></ul>



<p class="wp-block-paragraph">結果は6列のテーブルとしてスピル展開され、上端には「AMZN」と各列名が表示されます。</p>



<h3 class="wp-block-heading"><span id="toc20">例6: ローソク足チャートのための4本値を取得する</span></h3>



<p class="wp-block-paragraph">ローソク足チャートには「始値・高値・安値・終値」の4本値があれば足ります。出来高は省いて4列だけ取得しましょう。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, DATE(2025,1,1), DATE(2025,3,31), 0, 1, 0, 2, 3, 4, 1)</code></pre>



<p class="wp-block-paragraph">Microsoftの2025年Q1の日次4本値が取得できます。この結果範囲を選択して「挿入 → 株価チャート → 始値-高値-安値-終値」を選べば、すぐにローソク足が描画できます。</p>



<h3 class="wp-block-heading"><span id="toc21">例7: 終値と出来高だけ取得する（出来高分析用）</span></h3>



<p class="wp-block-paragraph">出来高を加味した分析をしたい場合は、終値と出来高の2列だけに絞るとシートがすっきりします。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, TODAY()-90, TODAY(), 0, 1, 0, 1, 5)</code></pre>



<p class="wp-block-paragraph">過去90日の「日付・終値・出来高」が3列で返ります。出来高急増日をフィルタやIF関数で抽出すれば、ニュース材料が出た日を割り出すきっかけになります。</p>



<h3 class="wp-block-heading"><span id="toc22">propertyの並び順は自由に変えられる</span></h3>



<p class="wp-block-paragraph"><code>property</code>引数は指定した順番がそのまま列の並び順になります。例えば「出来高を一番左に置いて目立たせたい」という場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, TODAY()-30, TODAY(), 0, 1, 5, 0, 1)</code></pre>



<p class="wp-block-paragraph">「出来高・日付・終値」の順で出力されます。レポート用のフォーマットに合わせて、列の並びを柔軟にコントロールできます。</p>



<h2 class="wp-block-heading"><span id="toc23">STOCKHISTORY関数の使い方｜期間・頻度を指定してデータを取得する</span></h2>



<p class="wp-block-paragraph">期間と頻度の組み合わせを変えれば、用途に応じた粒度のデータを取り出せます。ここでは代表的な3パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc24">例8: 月次データで長期トレンドを取得する</span></h3>



<p class="wp-block-paragraph">長期トレンドの観察には月次データが向いています。<code>interval=2</code>を指定しましょう。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, DATE(2015,1,1), DATE(2025,12,31), 2, 1, 0, 1)</code></pre>



<p class="wp-block-paragraph">Microsoftの過去11年分の月末終値が取得できます。日次で取ると2,500行ほどになりますが、月次なら130行程度に収まります。長期チャートを軽快に動かしたいときに有効です。</p>



<h3 class="wp-block-heading"><span id="toc25">例9: 週次データでスイングトレード分析</span></h3>



<p class="wp-block-paragraph">週単位の値動きを追いたいときは<code>interval=1</code>を指定します。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;AAPL&quot;, TODAY()-365, TODAY(), 1, 1, 0, 2, 3, 4, 1)</code></pre>



<p class="wp-block-paragraph">Appleの過去1年分の週次4本値が取得できます。週足ベースのテクニカル分析に活用できる粒度です。</p>



<h3 class="wp-block-heading"><span id="toc26">例10: 動的な期間指定（年度・四半期）</span></h3>



<p class="wp-block-paragraph">年度や四半期ごとの集計を自動化したい場合は、<code>DATE</code>関数と組み合わせて期間を計算式で組み立てましょう。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, DATE(YEAR(TODAY()),1,1), TODAY(), 0, 1)</code></pre>



<p class="wp-block-paragraph">「今年の年初から今日まで」の日次終値が、年が変わるたびに自動的に再計算されます。Year-To-Date（YTD）リターンの算出に便利な書き方です。</p>



<p class="wp-block-paragraph">四半期ごとに区切りたい場合は、開始月をMOD関数や条件分岐で組み立てます。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, DATE(YEAR(TODAY()), INT((MONTH(TODAY())-1)/3)*3+1, 1), TODAY(), 0, 1)</code></pre>



<p class="wp-block-paragraph">少し複雑ですが、現在の四半期の初日から今日までのデータが取れます。月初リセットの集計に組み込むと便利です。</p>



<h3 class="wp-block-heading"><span id="toc27">期間とinterval の組み合わせ早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>シーン</th><th>期間</th><th>interval</th></tr></thead><tbody><tr><td>直近の値動きチェック</td><td>7〜30日</td><td>0（日次）</td></tr><tr><td>四半期レビュー</td><td>90日</td><td>0（日次）</td></tr><tr><td>年次レポート</td><td>1年</td><td>1（週次）</td></tr><tr><td>長期トレンド分析</td><td>5〜10年</td><td>2（月次）</td></tr><tr><td>イベント前後の動き</td><td>該当日±数日</td><td>0（日次）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">データの粒度と期間を合わせると、シートが軽く保てます。</p>



<h2 class="wp-block-heading"><span id="toc28">STOCKHISTORY関数でETF・指数・為替レートを取得する</span></h2>



<p class="wp-block-paragraph">個別株だけでなく、ETF（上場投資信託）や指数、為替レートも<code>STOCKHISTORY関数</code>の取得対象です。書式は基本的に個別株と同じで、第1引数のティッカーや市場識別子を切り替えるだけで動きます。</p>



<h3 class="wp-block-heading"><span id="toc29">ETFを取得する（SPY・QQQ・VOOなど）</span></h3>



<p class="wp-block-paragraph">主要な米国ETFは個別株と同じくティッカーシンボルだけで取得できます。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;SPY&quot;, TODAY()-90, TODAY(), 0, 1, 0, 1)</code></pre>



<p class="wp-block-paragraph">S&#038;P 500連動の代表的ETFである<code>SPY</code>（SPDR S&#038;P 500 ETF）の過去90日分の終値が取れます。<code>QQQ</code>（インベスコQQQ）・<code>VOO</code>（バンガードS&#038;P 500 ETF）・<code>VTI</code>（バンガード・トータル・ストック・マーケットETF）も同じ書式で取得できます。</p>



<p class="wp-block-paragraph">うまく認識されない場合は、市場識別子<code>ARCX:</code>（NYSE Arca）を付けて指定し直しましょう。SPYやVOOなど主要な米国ETFはNYSE Arca上場です。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;ARCX:SPY&quot;, TODAY()-90, TODAY(), 0, 1, 0, 1)</code></pre>



<h3 class="wp-block-heading"><span id="toc30">指数を取得する（S&#038;P 500・ダウ・NASDAQ総合）</span></h3>



<p class="wp-block-paragraph">指数の取得はETFよりやや癖があります。個別株と同じように直接指数名を入れても認識されないことが多いので、市場識別子を付けるか、<code>^</code>プレフィックスを使った書き方を試します。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;^GSPC&quot;, TODAY()-180, TODAY(), 0, 1, 0, 1)</code></pre>



<p class="wp-block-paragraph"><code>^GSPC</code>はS&#038;P 500、<code>^DJI</code>はNYダウ、<code>^IXIC</code>はNASDAQ総合指数を表します。環境によっては<code>^</code>プレフィックスが認識されず<code>#VALUE!</code>になるケースがあるので、その場合はSPYなどETFで代用する方が安定します。指数連動ETFはほぼ完全に指数と同じ動きをするので、実務ではETFを使う方が確実です。</p>



<h3 class="wp-block-heading"><span id="toc31">為替レートを取得する（USD/JPY・EUR/USD）</span></h3>



<p class="wp-block-paragraph">為替レートは<code>"USD/JPY"</code>のようにスラッシュ区切りで指定します。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;USD/JPY&quot;, TODAY()-30, TODAY(), 0, 1, 0, 1)</code></pre>



<p class="wp-block-paragraph">ドル円の直近30日分のレートが取れます。<code>EUR/USD</code>・<code>GBP/JPY</code>・<code>AUD/JPY</code>なども同じ書式です。</p>



<p class="wp-block-paragraph">ただし為替レートは仕様変更や市場識別子の追加で取得できなくなることもあるため、レートのチェックを継続的に行うシートでは取得失敗を想定して<code>IFERROR</code>で囲んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(STOCKHISTORY(&quot;USD/JPY&quot;, TODAY()-30, TODAY(), 0, 1, 0, 1), &quot;取得失敗&quot;)</code></pre>



<p class="wp-block-paragraph">為替レートをより安定的に取得したい場合は、Googleスプレッドシートの<a href="https://mashukabu.com/spreadsheet-googlefinance-function/">GOOGLEFINANCE関数</a>を併用するのも有効な選択肢です。</p>



<h3 class="wp-block-heading"><span id="toc32">ETF・指数・為替の取得書式まとめ</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>対象</th><th>書式例</th><th>補足</th></tr></thead><tbody><tr><td>米国ETF</td><td><code>"SPY"</code> / <code>"QQQ"</code> / <code>"VOO"</code></td><td>個別株と同じ</td></tr><tr><td>米国ETF（識別子付き）</td><td><code>"ARCX:SPY"</code></td><td>認識されない場合の保険</td></tr><tr><td>S&#038;P 500</td><td><code>"^GSPC"</code></td><td>環境依存・不安定なときはSPYで代用</td></tr><tr><td>NYダウ</td><td><code>"^DJI"</code></td><td>同上・DIAで代用可能</td></tr><tr><td>NASDAQ総合</td><td><code>"^IXIC"</code></td><td>同上・QQQで代用可能</td></tr><tr><td>ドル円</td><td><code>"USD/JPY"</code></td><td>スラッシュ区切り</td></tr><tr><td>ユーロドル</td><td><code>"EUR/USD"</code></td><td>同上</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">迷ったらまずはETFで取得し、必要に応じて指数や為替に切り替えるのが失敗しないルートです。</p>



<h2 class="wp-block-heading"><span id="toc33">STOCKHISTORY関数の活用例｜チャートや分析への応用</span></h2>



<p class="wp-block-paragraph">数式単体で使うだけでなく、グラフや他の関数と組み合わせることで真価を発揮します。実務でよく使う応用パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc34">活用例1: 自動更新される株価チャート</span></h3>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>の出力範囲をそのままグラフ化すると、関数が更新されるたびにグラフも追従します。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, TODAY()-180, TODAY(), 0, 1, 0, 2, 3, 4, 1)</code></pre>



<p class="wp-block-paragraph">この結果範囲を選択し、「挿入 → 株価チャート → 始値-高値-安値-終値」を選びます。これで「直近半年のローソク足が常に最新」というダッシュボードの完成です。ファイルを開くたびに自動で更新されるので、定期レポート作成の手間がなくなります。</p>



<h3 class="wp-block-heading"><span id="toc35">活用例2: 複数銘柄の比較表（ポートフォリオ管理）</span></h3>



<p class="wp-block-paragraph">複数銘柄の終値を横並びに配置すれば、ポートフォリオ全体を一望できる表が作れます。</p>



<p class="wp-block-paragraph">A列を日付、B列以降を各銘柄の終値にする想定で考えます。まずA列に日付の枠を作っておき、各銘柄ごとに<code>STOCKHISTORY</code>を実行します。その結果を<a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>で日付一致させる構成が王道です。</p>



<pre class="wp-block-code"><code>=XLOOKUP(A2, STOCKHISTORY(&quot;MSFT&quot;, DATE(2025,1,1), TODAY(), 0, 0, 0, 1), STOCKHISTORY(&quot;MSFT&quot;, DATE(2025,1,1), TODAY(), 0, 0, 0, 1), &quot;&quot;, 0, 1)</code></pre>



<p class="wp-block-paragraph">少し冗長なので、別シートに<code>STOCKHISTORY</code>の結果を一度展開してから、本表側でXLOOKUPする2段構えにすると管理しやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc36">活用例3: パフォーマンスダッシュボード</span></h3>



<p class="wp-block-paragraph">買付日と買付価格を入力するだけで、現在の損益が自動計算されるパフォーマンス表を作れます。</p>



<figure class="wp-block-table"><table><thead><tr><th>銘柄</th><th>買付日</th><th>買付価格</th><th>現在値</th><th>損益率</th></tr></thead><tbody><tr><td>MSFT</td><td>2025/1/15</td><td>420.00</td><td>=数式</td><td>=数式</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「現在値」のセルには次のような数式を入れます。</p>



<pre class="wp-block-code"><code>=INDEX(STOCKHISTORY(A2, TODAY()-7, TODAY(), 0, 0, 1), COUNTA(STOCKHISTORY(A2, TODAY()-7, TODAY(), 0, 0, 1)))</code></pre>



<p class="wp-block-paragraph"><code>STOCKHISTORY</code>で直近1週間の終値を取得し、<code>INDEX</code>と<code>COUNTA</code>の組み合わせで最終行（=最新値）を抽出しています。直近7日にしているのは、休日のせいで「昨日」のデータがない場合のフェイルセーフです。</p>



<p class="wp-block-paragraph">損益率は素直に<code>(現在値 / 買付価格) - 1</code>で計算できます。書式で%表示にしておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc37">活用例4: 月次リターン推移表</span></h3>



<p class="wp-block-paragraph">月次のリターン（前月比）を求めて、シーズナリティ（月別の傾向）を観察したいケースです。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, DATE(2023,1,1), DATE(2025,12,31), 2, 1, 0, 1)</code></pre>



<p class="wp-block-paragraph">月次終値を取得した後、隣の列で「今月の終値 ÷ 前月の終値 &#8211; 1」を計算すれば、月次リターンの推移が見えます。条件付き書式のカラースケールをかけると、年単位のヒートマップが一瞬で完成します。</p>



<h3 class="wp-block-heading"><span id="toc38">活用例5: 50日・200日移動平均線の自動計算</span></h3>



<p class="wp-block-paragraph">テクニカル分析の定番、50日・200日移動平均線も<code>STOCKHISTORY</code>で土台データを揃えれば作れます。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, TODAY()-250, TODAY(), 0, 1, 0, 1)</code></pre>



<p class="wp-block-paragraph">過去250日（約1年）の終値を取得します。隣の列で<code>AVERAGE(B2:B51)</code>のように直近50日平均を計算すれば50日移動平均が求まります。<code>AVERAGE(B2:B201)</code>なら200日移動平均です。これをグラフに重ねれば、ゴールデンクロス・デッドクロスの判定が自動でできるようになります。</p>



<p class="wp-block-paragraph">日付関数を組み合わせた応用は<a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数一覧（機能別）</a>のカレンダー・日付カテゴリも参考になります。</p>



<h2 class="wp-block-heading"><span id="toc39">STOCKHISTORY関数でよくあるエラーと対処法（#N/A・#VALUE!・データが返らないなど）</span></h2>



<p class="wp-block-paragraph">便利な関数ですが、外部データに依存するぶん独特のエラーに遭遇しやすいのも事実です。代表的なつまずきと対処法をまとめます。</p>



<h3 class="wp-block-heading"><span id="toc40">#VALUE! エラー：銘柄が認識されない</span></h3>



<p class="wp-block-paragraph">最も多いのが<code>#VALUE!</code>エラーです。原因はだいたい次の3つに集約されます。</p>



<ol class="wp-block-list"><li><strong>ティッカーシンボルのスペルミス</strong>: <code>"MSFT"</code>を<code>"MSTF"</code>と書いてしまう典型例です</li><li><strong>対応していない市場の銘柄</strong>: 日本株（東証銘柄）を指定すると<code>#VALUE!</code>が返ります</li><li><strong>市場識別子の付け忘れ</strong>: 同名シンボルが複数市場に存在し、判別できないケース</li></ol>



<p class="wp-block-paragraph">まずはスペルを再確認し、それでも解決しなければ市場識別子を付けて指定し直しましょう。<code>"MSFT"</code>の代わりに<code>"XNAS:MSFT"</code>と書くと確実に認識されるケースが多いです。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;MSFT&quot;, TODAY()-30, TODAY())
=STOCKHISTORY(&quot;XNAS:MSFT&quot;, TODAY()-30, TODAY())</code></pre>



<p class="wp-block-paragraph">下の書き方の方が確実に認識されるケースが多いです。</p>



<h3 class="wp-block-heading"><span id="toc41">#NAME? エラー：非対応バージョン</span></h3>



<p class="wp-block-paragraph"><code>#NAME?</code>エラーが出る場合、お使いのExcelが<code>STOCKHISTORY関数</code>に対応していない可能性が高いです。確認ポイントは次の通りです。</p>



<ul class="wp-block-list"><li>Microsoft 365（サブスクリプション版）を使っているか</li><li>Excel 2019・2021・2024（永続ライセンス版）ではないか</li><li>Excelのバージョンが最新に更新されているか</li></ul>



<p class="wp-block-paragraph">「ファイル → アカウント → Excelのバージョン情報」から確認できます。永続ライセンス版を使っている場合、<code>STOCKHISTORY関数</code>は利用できないため、Microsoft 365への移行が必要です。</p>



<h3 class="wp-block-heading"><span id="toc42">データが空欄になる日がある</span></h3>



<p class="wp-block-paragraph">日次データを取得したのに、特定の日付が抜けていることがあります。これはエラーではなく仕様です。</p>



<ul class="wp-block-list"><li>取引所が休場の日（土日・祝日）はデータが存在しない</li><li>連続した日付に揃えたいなら、別途カレンダー表とXLOOKUPで突合する</li></ul>



<pre class="wp-block-code"><code>=IFERROR(XLOOKUP(A2, STOCKHISTORY(&quot;MSFT&quot;, DATE(2025,1,1), TODAY(), 0, 0, 0, 1), STOCKHISTORY(&quot;MSFT&quot;, DATE(2025,1,1), TODAY(), 0, 0, 0, 1)), &quot;休場&quot;)</code></pre>



<p class="wp-block-paragraph">休場日には「休場」と表示する書き方です。レポートで「日付の連続性」が必要な場合に役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc43">#BUSY! や データ取得中の表示</span></h3>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>はオンラインでデータを取得するため、通信状況や混雑によって一時的に取得中の状態になることがあります。少し待っても結果が表示されない場合は、次の対処を試してみてください。</p>



<ol class="wp-block-list"><li>インターネット接続を確認する</li><li>F9キーを押して再計算する</li><li>Excelを再起動する</li><li>「データ → すべて更新」を実行する</li></ol>



<h3 class="wp-block-heading"><span id="toc44">結果が古い・更新されない</span></h3>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>の結果は自動再計算で更新されますが、ブックの設定によっては反映されないことがあります。</p>



<ul class="wp-block-list"><li>「数式 → 計算方法の設定 → 自動」になっているか確認</li><li>F9（再計算）またはCtrl+Alt+F9（強制再計算）を試す</li><li>データタブの「接続のプロパティ」で更新間隔を見直す</li></ul>



<p class="wp-block-paragraph">エラーの種類と対処法の総まとめは<a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧と対処法</a>も参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc45">データ取得の遅延</span></h3>



<p class="wp-block-paragraph">返ってくる株価はリアルタイムではなく、市場ごとに15〜20分程度の遅延があります。デイトレード判断には使わず、データ集計・分析・レポート作成用と割り切って使うのがコツです。</p>



<h2 class="wp-block-heading"><span id="toc46">STOCKHISTORY関数で株式分割・配当の扱いに注意する</span></h2>



<p class="wp-block-paragraph">長期データを取得するときに見落としやすいのが、<strong>株式分割と配当の調整</strong>です。<code>STOCKHISTORY関数</code>が返す価格は調整済みではないので、過去の特定イベントをまたぐと「いきなり株価が半分になっている日」が現れます。</p>



<h3 class="wp-block-heading"><span id="toc47">株式分割があった日付に断層が出る</span></h3>



<p class="wp-block-paragraph">たとえばApple（AAPL）は2020年8月に1株を4株に分割しました。<code>STOCKHISTORY</code>で2020年7月〜9月のデータを取得すると、分割前と分割後で株価が4分の1に飛びます。</p>



<pre class="wp-block-code"><code>=STOCKHISTORY(&quot;AAPL&quot;, DATE(2020,7,1), DATE(2020,9,30), 0, 1, 0, 1)</code></pre>



<p class="wp-block-paragraph">このまま長期チャートを描くと「8月31日に大暴落した銘柄」のように見えてしまいます。実際にはトータルリターンは滑らかに繋がっているので、分割を加味した調整値で扱う必要があります。</p>



<h3 class="wp-block-heading"><span id="toc48">対処法1: ETF・指数で代用する</span></h3>



<p class="wp-block-paragraph">個別株の長期分析が目的なら、その銘柄が属する業種ETFや指数で代用するのが手軽です。S&#038;P 500への組み入れ前後でなければ、<code>SPY</code>との連動性で大まかな傾向は掴めます。</p>



<h3 class="wp-block-heading"><span id="toc49">対処法2: 別途調整係数を掛ける</span></h3>



<p class="wp-block-paragraph">分割が起きた日を境に、分割比率の逆数を掛けて手動で調整値を計算します。AAPLの2020年8月の4分割なら、それ以前のデータをすべて4で割れば連続したデータになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>日付</th><th>終値（実数）</th><th>分割係数</th><th>調整後終値</th></tr></thead><tbody><tr><td>2020/8/28</td><td>499.23</td><td>÷4</td><td>124.81</td></tr><tr><td>2020/8/31</td><td>129.04</td><td>×1</td><td>129.04</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ただし分割が複数回あった銘柄は計算が複雑になるので、長期チャート目的ならYahoo Financeなどの調整済みデータをCSVで取り込む方が現実的です。</p>



<h3 class="wp-block-heading"><span id="toc50">対処法3: 配当再投資込みのトータルリターンには別ツールを使う</span></h3>



<p class="wp-block-paragraph"><code>STOCKHISTORY</code>は配当再投資（Total Return）を加味した価格は返しません。配当込みのパフォーマンスを正確に評価したい場合は、Morningstarや証券会社の分析ツールに任せるのが無難です。<code>STOCKHISTORY</code>はあくまで「数式で取れる範囲の価格時系列」と割り切って使うと、データの解釈で迷いません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong><br>短期〜中期（1年未満）の値動きを追う用途では、株式分割を踏まないかぎり調整は不要です。長期（数年〜十数年）の比較分析を行うときだけ、調整値を意識すれば十分です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc51">STOCKHISTORY関数を含むファイルを共有するときの注意点</span></h2>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>は外部データに依存する関数なので、ファイルを他人と共有するときに思わぬトラブルが起きやすいです。配布前に押さえておきたいポイントを整理します。</p>



<h3 class="wp-block-heading"><span id="toc52">Microsoft 365を持っていない人が開くと#NAME?になる</span></h3>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>はMicrosoft 365専用です。永続ライセンス版（Excel 2019・2021・2024）や、無料のExcel Onlineの一部プラン、Googleスプレッドシートで開いた場合、関数が認識されず<code>#NAME?</code>エラーになります。</p>



<p class="wp-block-paragraph">社内の一部にしかMicrosoft 365が行き渡っていない環境では、共有ファイルが「特定の人だけ数値が見えない」状態になりがちです。</p>



<h3 class="wp-block-heading"><span id="toc53">値貼り付けで配布するのが定番運用</span></h3>



<p class="wp-block-paragraph">共有する相手の環境が分からないときや、データを固定して配布したいときは、<code>STOCKHISTORY</code>の出力範囲を選択して<strong>値貼り付け</strong>しましょう。</p>



<ol class="wp-block-list"><li><code>STOCKHISTORY</code>の出力範囲全体を選択</li><li>Ctrl+Cでコピー</li><li>同じ範囲を選択した状態で右クリック → 「値の貼り付け」</li><li>数式が消え、表示されていた数値だけが残る</li></ol>



<p class="wp-block-paragraph">この状態で保存すれば、Microsoft 365を持っていない人が開いても通常の数値表として閲覧できます。月次レポートや決算資料に組み込むときは、最終的に値貼り付けで仕上げるのが安全です。</p>



<h3 class="wp-block-heading"><span id="toc54">共有用と分析用でシートを分ける</span></h3>



<p class="wp-block-paragraph">毎月最新データを取得して使うシートと、配布用に値固定したシートは分けておくと運用が楽になります。</p>



<ul class="wp-block-list"><li><strong>データ取得シート</strong>: <code>STOCKHISTORY</code>が並び、ファイルを開くたびに最新化</li><li><strong>配布用シート</strong>: データ取得シートから値貼り付けしたスナップショット</li></ul>



<p class="wp-block-paragraph"><code>STOCKHISTORY</code>の再計算が遅いと感じるときも、この分け方が効きます。配布用シートには関数が残らないので、開いたときの待ち時間がなくなります。</p>



<p class="wp-block-paragraph">数式の保護や運用のコツは<a href="https://mashukabu.com/excel-error-value-list/">Excelのエラー値一覧と対処法</a>もあわせて読むと、共有時のトラブルシュートが早くなります。</p>



<h2 class="wp-block-heading"><span id="toc55">STOCKHISTORY関数のよくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph">実際に使い始めた人からよく聞かれる質問をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc56">Q1. 日本株（東証銘柄）の株価は取得できますか？</span></h3>



<p class="wp-block-paragraph">A. <strong>現時点では取得できません</strong>。<code>STOCKHISTORY関数</code>は東京証券取引所には対応していません。日本株の株価をスプレッドシートで管理したい場合は、Googleスプレッドシートの<a href="https://mashukabu.com/spreadsheet-googlefinance-function/">GOOGLEFINANCE関数</a>を検討してください。日本株のティッカー（例: <code>"TYO:7203"</code>でトヨタ自動車）にも対応しています。</p>



<h3 class="wp-block-heading"><span id="toc57">Q2. リアルタイムの株価を取得できますか？</span></h3>



<p class="wp-block-paragraph">A. <strong>リアルタイムではありません</strong>。市場ごとに15〜20分程度の遅延があります。データ集計や月次レポートには十分使えますが、デイトレードの判断材料には向きません。リアルタイム性が必要な場合は、証券会社のAPIなど別の手段を検討してください。</p>



<h3 class="wp-block-heading"><span id="toc58">Q3. 仮想通貨や為替レートも取得できますか？</span></h3>



<p class="wp-block-paragraph">A. <strong>一部は可能ですが安定しません</strong>。<code>STOCKHISTORY関数</code>は主に株式・ETF・インデックスを対象としています。為替レートや仮想通貨は対応状況が変動的で、取得できない通貨ペアもあります。為替レートを安定して取りたい場合も、GOOGLEFINANCE関数の方が選択肢が広い傾向です。</p>



<h3 class="wp-block-heading"><span id="toc59">Q4. Excel 2021でSTOCKHISTORY関数を使うことはできますか？</span></h3>



<p class="wp-block-paragraph">A. <strong>使えません</strong>。<code>STOCKHISTORY関数</code>はMicrosoft 365（サブスクリプション版）専用です。Excel 2019・2021・2024といった永続ライセンス版には搭載されていません。利用するにはMicrosoft 365への加入が必要です。</p>



<h3 class="wp-block-heading"><span id="toc60">Q5. グラフを自動更新するにはどうすればいいですか？</span></h3>



<p class="wp-block-paragraph">A. <code>STOCKHISTORY関数</code>の出力範囲をそのままグラフ化してください。<code>STOCKHISTORY</code>が再計算されると出力範囲も更新され、グラフも自動的に追従します。<code>TODAY()-30</code>のように動的な期間指定にしておけば、ファイルを開くたびに「常に直近30日」のチャートが見られる状態を作れます。</p>



<h3 class="wp-block-heading"><span id="toc61">Q6. 結果が複数行・複数列にスピルしないのですが？</span></h3>



<p class="wp-block-paragraph">A. <strong>古いExcelの動的配列非対応モードを使っている可能性があります</strong>。<code>STOCKHISTORY関数</code>は動的配列（スピル）機能を前提に設計されています。Microsoft 365なら標準で対応していますが、互換モードでブックを開いていると正しく展開されないことがあります。「ファイル → 名前を付けて保存」で<code>.xlsx</code>形式に変換してから再度試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc62">Q7. 過去どこまでさかのぼってデータを取得できますか？</span></h3>



<p class="wp-block-paragraph">A. <strong>銘柄や市場によって異なります</strong>。米国主要銘柄なら20〜30年前までさかのぼれるケースが多いですが、新規上場銘柄は上場日以降のデータしか存在しません。データが存在しない期間を指定した場合は、その範囲だけ空欄や省略となります。</p>



<h3 class="wp-block-heading"><span id="toc63">Q8. 複数銘柄を1つの数式で取得できますか？</span></h3>



<p class="wp-block-paragraph">A. <strong>できません</strong>。<code>STOCKHISTORY関数</code>は1つの数式で1銘柄しか扱えません。複数銘柄を比較したい場合は、銘柄ごとに別々のセルで<code>STOCKHISTORY</code>を実行し、<code>XLOOKUP</code>や<code>INDEX/MATCH</code>で日付突合する設計にしましょう。</p>



<h2 class="wp-block-heading"><span id="toc64">STOCKHISTORY関数で複数銘柄をまとめて取得する（REDUCE+LAMBDA+VSTACK）</span></h2>



<p class="wp-block-paragraph">FAQでは「<code>STOCKHISTORY関数</code>は1つの数式で1銘柄しか扱えない」と説明しました。これは基本的にはその通りなのですが、<code>STOCKHISTORY</code>単体での話です。Microsoft 365に搭載された<code>REDUCE</code>・<code>LAMBDA</code>・<code>VSTACK</code>を組み合わせると、複数銘柄のデータを1数式で縦結合できます。</p>



<h3 class="wp-block-heading"><span id="toc65">複数銘柄を縦に積み上げる数式</span></h3>



<p class="wp-block-paragraph">3銘柄（MSFT・AAPL・GOOGL）の直近30日分を、1つの数式で縦結合する例です。</p>



<pre class="wp-block-code"><code>=LET(
    tickers, {&quot;MSFT&quot;,&quot;AAPL&quot;,&quot;GOOGL&quot;},
    getData, LAMBDA(ticker, STOCKHISTORY(ticker, TODAY()-30, TODAY(), 0, 0, 1)),
    result, REDUCE(getData(INDEX(tickers,1)), OFFSET(tickers,0,1,1,COLUMNS(tickers)-1),
                   LAMBDA(acc, t, VSTACK(acc, getData(t)))),
    result
)</code></pre>



<p class="wp-block-paragraph">数式の流れを分解すると、次のようになっています。</p>



<ul class="wp-block-list"><li><code>tickers</code>: 取得したい銘柄を配列で定義する</li><li><code>getData</code>: 1銘柄分の<code>STOCKHISTORY</code>を返す関数を<code>LAMBDA</code>で定義する</li><li><code>REDUCE</code>: 1銘柄目を起点に、2銘柄目以降を順番に<code>VSTACK</code>で下方向に積み上げる</li><li><code>result</code>: 全銘柄分のデータが縦に連結された配列を返す</li></ul>



<p class="wp-block-paragraph"><code>STOCKHISTORY</code>の<code>headers</code>を<code>0</code>（ヘッダーなし）にしているのは、銘柄ごとにヘッダー行が混ざらないようにするためです。出力結果は「終値」が縦にずらりと並ぶので、別途<code>property</code>に<code>0,1</code>（日付・終値）を指定して日付列も添えておくと、どの行がいつのデータか追えます。</p>



<h3 class="wp-block-heading"><span id="toc66">使うときの注意点</span></h3>



<p class="wp-block-paragraph">便利な反面、数式が一気に複雑になるのが難点です。実務に組み込む際は次の点に気をつけてください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong><br>複数の関数がネストするぶん、エラーが出たときの原因切り分けが難しくなります。<code>#VALUE!</code>が返っても、どの銘柄でつまずいたのか数式だけでは判別できません。</p></blockquote>



<p class="wp-block-paragraph">銘柄数が3〜4個程度なら1数式でも管理できますが、それ以上になる場合は無理に1数式にまとめないほうが安全です。各銘柄を別シートに分けて<code>STOCKHISTORY</code>を実行し、集計シートで<a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>を使って突合する構成のほうが、後からのメンテナンスがずっと楽になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong><br>まずは2銘柄で動作を確認してから、銘柄数を増やしていくのがおすすめです。<code>LAMBDA</code>や<code>REDUCE</code>に不慣れな場合は、いきなり全銘柄を入れず、1ステップずつ動きを確かめながら組み立てましょう。</p></blockquote>



<p class="wp-block-paragraph">各関数の詳細は<a href="https://mashukabu.com/excel-function-howto-use-lambda/">LAMBDA関数の使い方</a>・<a href="https://mashukabu.com/excel-function-howto-use-reduce/">REDUCE関数の使い方</a>・<a href="https://mashukabu.com/excel-function-howto-use-vstack/">VSTACK関数の使い方</a>を参照してください。</p>



<h2 class="wp-block-heading"><span id="toc67">STOCKHISTORY・GOOGLEFINANCE・Power Query の使い分け</span></h2>



<p class="wp-block-paragraph">株価データをスプレッドシートに取り込む手段は<code>STOCKHISTORY関数</code>だけではありません。Googleスプレッドシートの<code>GOOGLEFINANCE関数</code>や、Excelの<code>Power Query</code>もそれぞれ得意分野が異なります。自分の環境と目的に合った手段を選びましょう。</p>



<h3 class="wp-block-heading"><span id="toc68">3つの手段を比較する</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>STOCKHISTORY</th><th>GOOGLEFINANCE</th><th>Power Query</th></tr></thead><tbody><tr><td>対応ツール</td><td>Excel（M365のみ）</td><td>Google スプレッドシートのみ</td><td>Excel・無料版も可</td></tr><tr><td>データ更新</td><td>ファイルを開く時・手動更新</td><td>自動（数分〜リアルタイム）</td><td>手動更新</td></tr><tr><td>日本株</td><td>非対応</td><td>非対応</td><td>Yahoo Finance等から取得可（サイト変更で壊れる可能性あり）</td></tr><tr><td>設定の手軽さ</td><td>関数1つで完結</td><td>関数1つで完結</td><td>設定が必要</td></tr><tr><td>為替・仮想通貨</td><td>一部対応（不安定）</td><td>為替対応</td><td>ソース次第</td></tr><tr><td>障害リスク</td><td>Microsoftサービス依存（2024年8月に約1週間の障害実績あり）</td><td>Googleサービス依存</td><td>Webサイト変更で壊れる</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc69">結局どれを選べばいいのか</span></h3>



<p class="wp-block-paragraph">それぞれに向いている場面があります。迷ったら次の基準で選んでください。</p>



<ul class="wp-block-list"><li><strong>Microsoft 365を使っていて米国株中心なら</strong>: 迷わず<code>STOCKHISTORY関数</code>です。関数1つで完結し、設定も不要なので一番手軽です。</li><li><strong>日本株や為替を扱いたいなら</strong>: Googleスプレッドシートの<a href="https://mashukabu.com/spreadsheet-googlefinance-function/">GOOGLEFINANCE関数</a>が有力です。自動更新される点も大きな魅力です。</li><li><strong>どうしてもExcelで日本株を扱いたい、または永続ライセンス版を使っているなら</strong>: <code>Power Query</code>でWebサイトからデータを取り込む方法があります。設定の手間はかかりますが、無料版Excelでも使えます。</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong><br><code>STOCKHISTORY関数</code>はMicrosoftのサービスに依存しているため、サービス側の障害があると一時的にデータが取得できなくなることがあります。実際に2024年8月には約1週間にわたる障害が発生しました。重要な業務で使う場合は、データを定期的に値貼り付けで保存しておくなど、サービス障害に備えたバックアップ運用も検討しておくと安心です。</p></blockquote>



<p class="wp-block-paragraph">このように、どの手段にも一長一短があります。常に最新の自動更新が必要なら<code>GOOGLEFINANCE</code>、Excelの分析機能と組み合わせたいなら<code>STOCKHISTORY</code>、というように目的から逆算して選ぶのが失敗しないコツです。</p>



<h2 class="wp-block-heading"><span id="toc70">応用テクニック｜SEQUENCEで動的ヘッダーを自動生成する</span></h2>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>で取得したデータを月次レポートにまとめるとき、ヘッダーの月名（Jan・Feb・…）を手入力していませんか。<code>SEQUENCE関数</code>と<code>TEXT関数</code>を組み合わせれば、月次ヘッダーを自動生成できます。年が変わっても作り直す必要がありません。</p>



<h3 class="wp-block-heading"><span id="toc71">12ヶ月分の月名ヘッダーを一発で作る</span></h3>



<p class="wp-block-paragraph">今年の1月から12月までの月名（英語3文字）を横一列に並べる数式です。</p>



<pre class="wp-block-code"><code>=TEXT(DATE(YEAR(TODAY()),SEQUENCE(1,12),1),&quot;mmm&quot;)</code></pre>



<p class="wp-block-paragraph">数式の中身を順番に見ていきましょう。</p>



<ul class="wp-block-list"><li><code>SEQUENCE(1,12)</code>: 1から12までの連番を横方向（1行12列）に生成する</li><li><code>DATE(YEAR(TODAY()), 連番, 1)</code>: 今年の各月1日の日付を12個作る</li><li><code>TEXT(..., "mmm")</code>: それぞれの日付を「Jan」「Feb」のような月名に変換する</li></ul>



<p class="wp-block-paragraph">結果は「Jan / Feb / Mar / … / Dec」が横一列にスピル展開されます。<code>YEAR(TODAY())</code>を使っているので、年が変わると自動的にその年のヘッダーに切り替わります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong><br>日本語の月名にしたい場合は、書式を<code>"m月"</code>に変えると「1月」「2月」…と表示されます。<code>=TEXT(DATE(YEAR(TODAY()),SEQUENCE(1,12),1),"m月")</code>のように書きましょう。</p></blockquote>



<p class="wp-block-paragraph"><code>STOCKHISTORY</code>で取得した月次データの上にこのヘッダーを配置すれば、毎年作り直し不要の月次比較表が完成します。<code>SEQUENCE関数</code>は連番生成の万能ツールなので、行番号の自動採番や日付の連続生成などにも応用が利きます。<a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数の使い方</a>やほかの動的配列関数とあわせて<a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数一覧（機能別）</a>もチェックしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc72">まとめ</span></h2>



<p class="wp-block-paragraph"><code>STOCKHISTORY関数</code>は、Excelで株価データの取得を自動化できる強力な関数です。最後にポイントを整理しておきます。</p>



<ul class="wp-block-list"><li><strong>書式</strong>: <code>=STOCKHISTORY(stock, start_date, [end_date], [interval], [headers], [property...])</code></li><li><strong>必須引数</strong>: 銘柄（stock）と開始日（start_date）の2つだけ</li><li><strong>intervalで頻度切替</strong>: 0=日次 / 1=週次 / 2=月次</li><li><strong>propertyで取得列を選択</strong>: 0=日付 / 1=終値 / 2=始値 / 3=高値 / 4=安値 / 5=出来高</li><li><strong>動的な期間指定</strong>: <code>TODAY()</code>や<code>DATE()</code>との組み合わせで自動更新化が可能</li><li><strong>OHLCV取得</strong>: <code>property</code>を順序指定でローソク足の元データも一発取得</li><li><strong>チャート連携</strong>: 出力範囲をグラフにすれば自動更新ダッシュボードが完成</li><li><strong>制限事項</strong>: Microsoft 365専用・日本株非対応・リアルタイムではない遅延データ</li></ul>



<p class="wp-block-paragraph">毎朝の株価チェックや月次レポート作成を「手作業のコピペ」から解放してくれる関数です。まずは<code>=STOCKHISTORY("MSFT", TODAY()-30, TODAY())</code>から試してみてください。慣れてきたら複数銘柄のポートフォリオ管理表へと育てていきましょう。</p>



<p class="wp-block-paragraph">日付系の関数や検索関数と組み合わせると、さらに表現の幅が広がります。<a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-xlookup/">XLOOKUP関数</a>もあわせてマスターして、自動化された株価管理シートを完成させてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-stockhistory/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
