Googleスプレッドシートで株価を取得して表示させる方法

がいの部屋

はじめに

Googleスプレッドシートには GOOGLEFINANCE 関数がありますが、

  • 取得できない銘柄がある
  • 長期間のデータ保存が難しい
  • 自動処理・加工に制限がある

といった弱点もあります。

そこで本記事では、
Google Apps Script(GAS)を使って株価データを取得し、スプレッドシートに保存・表示する方法
をわかりやすく解説します。

今回できること

  • 米国株の株価(日足)を取得
  • OHLC(始値・高値・安値・終値)+出来高を保存
  • Googleスプレッドシートでローソク足グラフを表示
  • 毎日自動更新(応用)

なぜGASを使うのか?

方法特徴
GOOGLEFINANCE簡単だが制限あり
GAS自動化・長期保存・加工が自由

👉 分析・検証・ブログ用途にはGASが非常に有効です。

GOOGLEFEINACE関数をA1セルに入力する方法

アップルの株価を2022年1月1日から本日までの株価を取得してシートに表示します。

下記のコードをA1セルに入力してください。

=QUERY(GOOGLEFINANCE("NASDAQ:AAPL", "all", DATE(2022,1,1), TODAY(), "DAILY"),"select Col1,Col2,Col3,Col4,Col5")

実際の表示結果は下記のようになります。

GASで行う場合

Google Apps Scriptでも同じようにできます。

手順①:Googleスプレッドシートを用意

  1. Googleドライブ → 新規 → Googleスプレッドシート
  2. メニュー「拡張機能」→「Apps Script」

手順②:GASコードを書く(株価取得)

以下のコードをそのまま貼り付けてください。

function fetchStockDataStooq() {
  const symbol = "aapl.us"; // 小文字 + .us
  const url = `https://stooq.com/q/d/l/?s=${symbol}&i=d`;

  const response = UrlFetchApp.fetch(url);
  const csv = Utilities.parseCsv(response.getContentText());

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName("DATA") || ss.insertSheet("DATA");

  sheet.clear();
  sheet.getRange(1, 1, csv.length, csv[0].length).setValues(csv);
}

手順③:コードを実行

  • 保存 → ▶ 実行
  • 初回は 権限の承認 が必要です

実行後、スプレッドシートに株価データが表示されます。

Copied title and URL