Googleスプレッドシートとは、オンラインでスプレッドシートを作成、編集できるGoogleの無料サービスです。Microsoft Excelのブックファイルも編集できる便利なソフトウェアです。
Microsoft Excelに関数があるように、Googleスプレッドシートにも関数が用意されています。Googleスプレッドシートの関数の中には、Google Financeから株価や為替レートを取得する関数もあります。
価格
Google Financeから株価や為替レートを取得できるのはGOOGLEFINANCEという関数で、次のような構文になっています。
GOOGLEFINANCE(銘柄, [属性], [開始日], [日数|終了日], [間隔])
Googleスプレッドシートの関数は大文字と小文字を区別しないので、GoogleFinanceやgooglefinaceでも構いません。これをGoogleスプレッドシートのセルに入力すると、リアルタイムの株価を取得して、Googleスプレッドシートのセルに表示することができます。
ためしに、アップル(ティッカーコード:AAPL)のリアルタイム株価(ドル建て)を表示する例を示します。
取引所を指定することもできます。
=GOOGLEFINANCE("NASDAQ:GOOGL")
株価については始値、高値、安値および終値の4本値を取得することができます。たとえば、2016年11月20日におけるアメリカン・エキスプレスの始値を取得するには、次のように指定します。
=GOOGLEFINANCE("AXP", "open", "2016/11/20")
ただし、残念ながら日本株には対応していないようです。
銘柄
GOOGLEFINANCE関数の第1引数「銘柄」にはデータを取得したい株式のティッカーシンボルを指定します。株式だけでなく、投資信託のティッカーシンボルも指定できます。ただし、残念ながら日本株には対応していないようです。
| シンボル | 銘柄 | 
|---|---|
| AAPL | Apple | 
| AMZN | Amazon.com | 
| GOOG | Alphabet Inc. Class C | 
| GOOGL | Alphabet Inc. Class A | 
| IVV | iShares Core S&P 500 ETF | 
| META | Meta | 
| MSFT | Microsoft | 
| QQQ | Invesco QQQ Trust Series 1 | 
| SPXL | Direxion Daily S&P 500 Bull 3X Shares | 
| VOO | Vanguard S&P 500 ETF | 
| VT | Vanguard Total World Stock ETF | 
| VTI | Vanguard Total Stock Market ETF | 
| VTV | Vanguard Value ETF | 
株価指数
GoogleスプレッドシートのGoogleFinance関数は、個別銘柄だけでなく、株価指数も取得することができます。
| 株価指数 | シンボル | 
|---|---|
| TOPIX | TOPIX | 
| 日経平均株価 | NI225 | 
| ダウ平均株価 | .DJI | 
| S&P 500 | .INX | 
| ナスダック総合指数 | .IXIC | 
| ナスダック100指数 | NDX | 
| Nifty 50 | NIFTY_50 | 
| ラッセル1000 | RUI | 
| ラッセル2000 | RUT | 
| ラッセル3000 | RUA | 
| NYSE FANG+ 指数 | NYFANG | 
| ハンセン中国企業指数 | HSCEI | 
| 韓国総合株価指数 | KOSPI | 
| FTSE100種総合株価指数 | UKX | 
| イスタンブール100種指数 (BIST 100) | XU100 | 
| S&P BSE SENSEX | SENSEX | 
| ボベスパ指数 | IBOV | 
| ジャカルタ総合指数 | COMPOSITE | 
| CAC 40 | PX1 | 
| VXN | VXN | 
| Dow Jones Equity All REIT Index | REI | 
| ドイツ株価指数 | DAX | 
| ユーロ・ストックス50指数 | SX5E | 
| FTSE100種総合株価指数 | UKX | 
| 香港ハンセン株価指数 | HSI | 
| JPX日経インデックス400 | 8507 | 
| 米10年債 | TNX | 
| S&P トロント総合指数 | OSPTX | 
| NASDAQ-100 Pre Market Indicator | QMI | 
| STX AM600 CHEM RE USD | Q00U | 
| Dow Jones Equity All REIT Total Return Index | REIT | 
| REIT EUROPE | REITE | 
| VIX指数 | VIX | 
| VVIX | VVIX | 
| NIFTY Next 50 | NIFTY_NEXT_50 | 
| S&P/ASX 200 | XJO | 
下記の株価指数は現在値のみ取得できます。つまり、第2引数以降は指定できません。
| 株価指数 | シンボル | 
|---|---|
| FTSE All Cap Index | GEISAC | 
| ダウ・ジョーンズ輸送株平均 | DJT | 
| ダウ・ジョーンズ公共株平均 | DJU | 
| FTSE NAREIT Equity REITS | FNER | 
| フィラデルフィア半導体株指数 | SOX | 
| S&P Kensho Genetic Engineering Index | KDNAP | 
| S&P Kensho Virtual Reality Index | KVRP | 
| S&P Kensho Cleantech Index | KCLEANP | 
| DAX Futures Switch ER EO | Q2JB | 
| Russel 2500 Index | R25I | 
| S&P 500 VIX Short-Term Index MCAP | SPVIXST | 
Googleスプレッドシートで日経225の現在値を取得するには、次に示す数式をセルに入力します。
=GoogleFinance("NI225")
Googleスプレッドシートで日経225の履歴データを取得するには、次に示す数式をセルに入力します。
=GoogleFinance("NI225", "close", "1985/1/1", "2022/3/25")
ただし、取得できる日経225は1991年1月4日以降のデータだけのようです。
外貨
株式だけでなく、為替データも取得できます。為替レートを取得するには、銘柄(第1引数)に為替ペアを指定します。属性(第2引数)以降は指定できません。
=GoogleFinance("USDJPY")
外貨のティッカーシンボル
| 通貨ペア | ティッカーシンボル | 
|---|---|
| 米ドル/日本円 | USDJPY | 
| ユーロ/日本円 | EURJPY | 
| 英ポンド/日本円 | GBPJPY | 
| 豪ドル/日本円 | AUDJPY | 
| カナダドル/日本円 | CADJPY | 
| 香港ドル/日本円 | HKDJPY | 
| スイスフラン/日本円 | CHFJPY | 
| ブラジルレアル/日本円 | BRLJPY | 
仮想通貨
ビットコインなどの仮想通貨の価格データも取得できます。仮想通貨の価格を取得するには、銘柄(第1引数)に通貨ペアを指定します。属性(第2引数)以降は指定できません。
=GoogleFinance("BTCJPY")
| 仮想通貨 | ティッカーシンボル | 
|---|---|
| ビットコイン | BTCJPY | 
属性
GOOGLEFINANCE関数の第2引数「属性」には、次の値を指定することができます。
| 属性 | 説明 | リアルタイム | 過去 | 投資信託 | 
|---|---|---|---|---|
| “price” | 現在の価格 | ○ | ||
| “priceopen” | 始値 | ○ | ||
| “open” | 始値 | ○ | ||
| “high” | 高値 | ○ | ○ | |
| “low” | 安値 | ○ | ○ | |
| “close” | 終値 | ○ | ||
| “volume” | 出来高 | ○ | ○ | |
| “all” | 始値・高値・安値・終値・出来高 | ○ | ||
| “marketcap” | 株式の時価総額 | ○ | ||
| “tradetime” | 最終取引の時刻 | ○ | ||
| “datadelay” | リアルタイムデータの遅延度 | ○ | ||
| “volumeavg” | 1日の平均取引量 | ○ | ||
| “pe” | 株価収益率(PER) | ○ | ||
| “eps” | 1株あたりの収益 | ○ | ||
| “high52” | 52週高値 | ○ | ||
| “low52” | 52週安値 | ○ | ||
| “change” | 前取引日からの株価の変動 | ○ | ○ | |
| “beta” | ベータ値 | ○ | ||
| “changepct” | 前取引日からの株価の変動率 | ○ | ○ | |
| “closeyest” | 前日の終値 | ○ | ○ | |
| “shares” | 発行済み株式数 | ○ | ||
| “currency” | 証券の販売通貨 | ○ | ||
| “date” | 純資産価値が報告された日付 | ○ | ||
| “returnytd” | 年初からの収益 | ○ | ||
| “netassets” | 純資産 | ○ | ||
| “yieldpct” | 流通利回り | ○ | ||
| “returnday” | 1 日の総収益 | ○ | ||
| “return1” | 1週間の総収 | ○ | ||
| “return4” | 4週間の総収益 | ○ | ||
| “return13” | 13週間の総収益 | ○ | ||
| “return52” | 52 週間(年間)の総収益 | ○ | ||
| “return156” | 156 週間(3 年間)の総収 | ○ | ||
| “return260” | 260 週間(5 年間)の総収益 | ○ | ||
| “incomedividend” | 直近の現金分配額 | ○ | ||
| “incomedividenddate” | 直近の現金分配の日付 | ○ | ||
| “capitalgain” | 直近のキャピタルゲイン分配額 | ○ | ||
| “morningstarrating” | モーニングスターの「スター」評価 | ○ | ||
| “expenseratio” | ファンドの経費 | ○ | 
開始日
過去のデータを取得する場合、GOOGLEFINANCE関数の第3引数「開始日」に過去のデータを取得する期間の開始日を指定します。
=GoogleFinance("AAPL", "close", "2023/12/1")
現在のリアルタイムデータを取得する場合、開始日は省略します。
=GoogleFinance("AAPL")
終了日|日数
過去のデータを取得する場合、GOOGLEFINANCE関数の第4引数「終了日|日数」に過去のデータを取得する期間の終了日、またはデータを返す期間の開始日からの日数を指定します。
間隔
GOOGLEFINANCE関数の第5引数「間隔」には次の値を指定できます。間隔は省略することもできます。
| 属性 | 説明 | 
|---|---|
| “DAILY” | 毎日 | 
| “WEEKLY” | 毎週 | 
週次のデータを取得する例を次に示します。
=GoogleFinance("NI225", "close", "2023/1/1", "2023/12/31", "WEEKLY")
ミニグラフ
GoogleスプレッドシートのSPARKLINE関数を使って、1つのセル内にミニグラフを描くことができます。
SPARKLINE(データ)
第2引数にミニグラフのオプションを指定することができます。
SPARKLINE(データ, オプション)
Googleスプレッドシートの関数は大文字と小文字を区別しないので、SparkLineやsparklineでも構いません。
SPARKLINE関数によるミニグラフの表示例を次に示します。

データ
第1引数にはミニグラフの元データを指定します。”A1:A100″のようにセル範囲で指定するか、GOOGLEFINANCE関数を指定します。
SPARLINE("A1:A100")
SPARLINE(GOOGLEFINANCE("USDJPY", "price", TODAY()-30, TODAY()))
オプション
第2引数にはオプションを指定します。第2引数の指定は省略することができます。以下に示すオプションを指定できます。
| オプション | 説明 | 
|---|---|
| charttype | グラフの種類
  | 
グラフの種類が「折れ線グラフ」の場合は、以下に示すオプションも指定できます。
| オプション | 説明 | 
|---|---|
| xmin | 横軸の最小値 | 
| xmax | 横軸の最大値 | 
| ymin | 縦軸の最小値 | 
| ymax | 縦軸の最大値 | 
| color | 線の色 | 
| empty | 空のセルの処理方法
  | 
| nan | 非数値データの処理方法
  | 
| rtl | グラフを右から左に描画するかどうか
  | 
| linewidth | 線の太さ | 
グラフの種類が「縦棒グラフ」または「勝敗グラフ」の場合は、以下に示すオプションも指定できます。
| オプション | 説明 | 
|---|---|
| color | 縦棒の色 | 
| lowcolor | 最小値の色 | 
| highcolor | 最大値の色 | 
| firstcolor | 最初の縦棒の色 | 
| lastcolor | 最後の縦棒の色 | 
| negcolor | 負の縦棒の色 | 
| empty | 空のセルの処理方法
  | 
| nan | 非数値データの処理方法
  | 
| axis | 軸を表示するかどうか
  | 
| axiscolor | 軸の色 | 
| ymin | 縦棒の高さを指定するカスタムデータの最小値 | 
| ymax | 縦棒の高さを指定するカスタムデータの最大値 | 
| rtl | グラフを右から左に描画するかどうか
  | 
グラフの種類が「棒グラフ」の場合は、以下に示すオプションも指定できます。
| オプション | 説明 | 
|---|---|
| max | 横軸の最大値 | 
| color1 | グラフ内の縦棒に使用する1つ目の色 | 
| color2 | グラフ内の縦棒に使用する2つ目の色 | 
| empty | 空のセルの処理方法
  | 
| nan | 非数値データの処理方法
  | 
| rtl | グラフを右から左に描画するかどうか
  | 
サンプル
下記のリンクからGoogleスプレッドシートで株価を取得するサンプルをご覧になれます。
関連資料 Googleスプレッドシートで株価を取得するサンプル
関連記事


  
  
  
  
コメント
上海総合指数が出せないのはなぜですか?
GoogleFinanceのドキュメントには以下のように記載されています。
株価情報はすべての市場から提供されているわけではなく、また、最大 20 分の遅延の可能性があります。
上海市場はデータ提供外になっているようです。