「スプレッドシートで株価や為替レートを手軽に確認できたらいいのに」と思ったことはありませんか。
毎回ネットで検索して数字を手入力していると、時間もかかるしミスも起きやすいですよね。
そんなときに便利なのが、Googleスプレッドシート専用のGOOGLEFINANCE関数です。セルに数式を入れるだけで、最新の株価や為替レートを自動取得できます。
この記事では、GOOGLEFINANCE関数の基本的な書き方からポートフォリオ管理への応用まで、実例付きで紹介します。
GOOGLEFINANCE関数とは?
GOOGLEFINANCE関数(読み方: ぐーぐる ふぁいなんす)は、Google Financeのデータを使って株価や為替レートなどの金融情報を取得する関数です。
Googleスプレッドシート独自の関数なので、Excelでは使えません。
GOOGLEFINANCE関数にできることをまとめると、次のとおりです。
- リアルタイムの株価(現在値・高値・安値など)を取得する
- 通貨ペアの為替レートを取得する
- 過去の株価データ(履歴)を期間指定で取得する
- 時価総額・PER・配当利回りなどの指標を確認する
NOTE
GOOGLEFINANCE関数はGoogleスプレッドシート専用です。データはGoogle Financeから提供されており、最大20分の遅延があります。リアルタイム取引には向きませんが、日常的な確認用途には十分です。
CAUTION
この記事で紹介する株価データの活用例は情報提供を目的としたものです。投資判断は自己責任で行ってください。
GOOGLEFINANCE関数の書き方(構文と引数)
基本構文
=GOOGLEFINANCE(ティッカー, [属性], [開始日], [終了日|日数], [間隔])
カッコの中にティッカーシンボル(銘柄コード)を指定します。属性以降は省略可能です。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| ティッカー | 必須 | 銘柄コードまたは通貨ペア(例: “GOOG”, “TYO:7203”, “USDJPY”) |
| 属性 | 任意 | 取得したい情報の種類(省略時は “price”) |
| 開始日 | 任意 | 履歴データの開始日(日付またはDATE関数) |
| 終了日/日数 | 任意 | 履歴データの終了日または日数(省略時は開始日のみ) |
| 間隔 | 任意 | “DAILY” または “WEEKLY”(省略時は “DAILY”) |
ティッカーだけを指定すると、現在の株価(price)が返されます。
TIP
日本株のティッカーは「TYO:証券コード」の形式です。たとえばトヨタ自動車なら
"TYO:7203"と指定します。
GOOGLEFINANCE関数の基本的な使い方
現在の株価を取得する
まずはシンプルに、現在の株価を取得してみましょう。
=GOOGLEFINANCE("GOOG")
Googleの親会社アルファベット(ティッカー: GOOG)の現在の株価が表示されます。
日本株の場合は証券コードの前に TYO: を付けます。
=GOOGLEFINANCE("TYO:7203")
トヨタ自動車(証券コード: 7203)の現在の株価です。
為替レートを取得する
通貨ペアを指定すると、為替レートを取得できます。
=GOOGLEFINANCE("USDJPY")
米ドル/日本円のレートが返されます。通貨コードを2つつなげて指定するのがポイントです。
ほかにもよく使う通貨ペアを挙げておきます。
| 数式 | 取得できるレート |
|---|---|
=GOOGLEFINANCE("USDJPY") | 米ドル → 日本円 |
=GOOGLEFINANCE("EURJPY") | ユーロ → 日本円 |
=GOOGLEFINANCE("GBPJPY") | 英ポンド → 日本円 |
=GOOGLEFINANCE("EURUSD") | ユーロ → 米ドル |
取得できる属性一覧
第2引数の「属性」を変えると、株価以外の情報も取得できます。よく使う属性をまとめました。
| 属性 | 説明 | 数式例 |
|---|---|---|
| “price” | 現在の株価(デフォルト) | =GOOGLEFINANCE("GOOG","price") |
| “high” | 当日の高値 | =GOOGLEFINANCE("GOOG","high") |
| “low” | 当日の安値 | =GOOGLEFINANCE("GOOG","low") |
| “volume” | 当日の出来高 | =GOOGLEFINANCE("GOOG","volume") |
| “marketcap” | 時価総額 | =GOOGLEFINANCE("GOOG","marketcap") |
| “pe” | 株価収益率(PER) | =GOOGLEFINANCE("GOOG","pe") |
| “eps” | 1株あたり利益(EPS) | =GOOGLEFINANCE("GOOG","eps") |
| “shares” | 発行済株式数 | =GOOGLEFINANCE("GOOG","shares") |
| “change” | 前日比の変動額 | =GOOGLEFINANCE("GOOG","change") |
| “changepct” | 前日比の変動率(%) | =GOOGLEFINANCE("GOOG","changepct") |
TIP
属性は大文字・小文字どちらでも指定できます。
"price"と"PRICE"は同じ結果です。
GOOGLEFINANCE関数の実践的な使い方・応用例
ポートフォリオ管理シートを作る
保有銘柄の一覧と評価額を自動計算するシートを作ってみましょう。
たとえば A列にティッカー、B列に保有株数を入力し、C列で現在株価を取得、D列で評価額を計算します。
| A(ティッカー) | B(保有株数) | C(現在株価) | D(評価額) | |
|---|---|---|---|---|
| 1 | ティッカー | 保有株数 | 現在株価 | 評価額 |
| 2 | GOOG | 10 | =GOOGLEFINANCE(A2) | =B2*C2 |
| 3 | AAPL | 20 | =GOOGLEFINANCE(A3) | =B3*C3 |
| 4 | TYO:7203 | 100 | =GOOGLEFINANCE(A4) | =B4*C4 |
C2 に =GOOGLEFINANCE(A2) と入力すれば、A列のティッカーに応じた株価が自動で取得されます。D2 の =B2*C2 で保有株数と掛け算すれば評価額の完成です。
銘柄を増やしても数式をコピーするだけなので管理が楽ですよ。
為替換算表を作る
海外取引の金額を日本円に換算する表も簡単に作れます。
=B2*GOOGLEFINANCE("USDJPY")
B2 にドル建ての金額が入っていれば、現在の為替レートで日本円に換算した結果が返されます。
複数通貨を扱う場合は、通貨コードをセルに入れておいて動的に切り替えると便利です。
=B2*GOOGLEFINANCE(A2&"JPY")
A2 に USD や EUR などの通貨コードを入れておけば、通貨に応じたレートで自動換算されます。
過去の株価データを取得する
GOOGLEFINANCE関数は過去の株価データも取得できます。開始日と終了日を指定すると、複数行にわたってデータが展開されます。
=GOOGLEFINANCE("GOOG","close",DATE(2025,1,1),DATE(2025,12,31),"DAILY")
2025年1月1日から12月31日までの終値が日次で返されます。
結果は「日付」と「Close(終値)」の2列が自動的に展開されるので、空いたセル範囲に数式を入れてください。
TIP
履歴データは複数セルに展開されます。展開先にデータがあるとエラーになるので、十分な空きスペースを確保しておきましょう。
間隔を "WEEKLY" に変えると、週次データに切り替わります。長期の傾向を確認したいときに便利です。
=GOOGLEFINANCE("GOOG","close",DATE(2025,1,1),DATE(2025,12,31),"WEEKLY")
よくあるエラーと対処法
GOOGLEFINANCE関数で「値が取れない」ケースをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #N/A エラーが出る | ティッカーが間違っている | Google Financeで正しいティッカーを確認する。日本株は TYO: を付ける |
| #N/A エラーが出る | 属性名のスペルミス | “price” “high” “low” など正しい属性名を確認する |
| #REF! エラーが出る | 履歴データの展開先にデータがある | 展開先のセルを空にしておく |
| 値が更新されない | スプレッドシートのキャッシュ | セルを再編集するか、シートを再読み込みする |
| 古い株価が表示される | Google Financeのデータ遅延(最大20分) | リアルタイムではなく遅延データであることを理解する |
| 日本株の値が取れない | 証券コードだけを指定している | "TYO:7203" のように取引所コードを付ける |
| 為替が取得できない | 通貨コードが逆または間違い | "USDJPY" のように正しい通貨コードの組み合わせにする |
TIP
ティッカーが正しいか確認するには、Google Financeでキーワード検索してみてください。検索結果に表示されるティッカーをそのまま使えます。
Excelとの違い(Excelには存在しない)
GOOGLEFINANCE関数はGoogleスプレッドシート専用の関数です。Excelには同じ関数がありません。
Excelで株価を取得したい場合は、STOCKHISTORY関数やデータ型(株式データ型)を使います。
| 比較項目 | GOOGLEFINANCE関数(Sheets) | STOCKHISTORY関数(Excel) |
|---|---|---|
| 対応環境 | Googleスプレッドシートのみ | Microsoft 365 / Excel 2024 |
| データソース | Google Finance | Microsoft提携の金融データプロバイダー |
| リアルタイム性 | 最大20分遅延 | 遅延あり(プロバイダーによる) |
| 為替レート | 対応(通貨ペア指定) | 非対応(株価のみ) |
| 過去データ | 対応(日次・週次) | 対応(日次) |
| 指標(PER等) | 対応(属性で指定) | 非対応 |
| 料金 | 無料 | Microsoft 365サブスクリプション必要 |
為替レートの取得や指標の確認まで無料でできるのは、GOOGLEFINANCE関数ならではの強みです。
Excelでの株価データ取得についてはExcelのSTOCKHISTORY関数の記事で解説しています。
まとめ
GOOGLEFINANCE関数は、スプレッドシート上で株価や為替レートを自動取得できるSheets独自の関数です。
ポイントを整理します。
- 構文は
=GOOGLEFINANCE(ティッカー, [属性], [開始日], [終了日|日数], [間隔]) - ティッカーだけ指定すると現在の株価を返す
- 日本株は
"TYO:証券コード"の形式で指定する - 通貨ペア(例:
"USDJPY")を指定すると為替レートを取得できる - 属性を変えれば高値・安値・PER・時価総額など多彩な情報を取得可能
- 開始日・終了日を指定すると過去の株価データも取得できる
- Excelには存在しないSheets独自の関数。ExcelではSTOCKHISTORY関数が代替手段
- ExcelのSTOCKHISTORY関数と使い分けるのがおすすめ
まずは =GOOGLEFINANCE("USDJPY") で今のドル円レートを確認するところから試してみてください。
