はじめに
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スプレッドシートを用意
- Googleドライブ → 新規 → Googleスプレッドシート
- メニュー「拡張機能」→「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);
}
手順③:コードを実行
- 保存 → ▶ 実行
- 初回は 権限の承認 が必要です

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

