Googleスプレッドシートで過去の為替レートを取得|GOOGLEFINANCE 関数を活用

「過去の為替レートを知りたいけど、手作業で調べるのは面倒…」
「スプレッドシートで自動的に取得できたら便利なのに…」
そのように思ったことはありませんか?
Googleスプレッドシートでは、 関数を使えばカンタンに過去の為替レートを取得できます。
本記事では、GOOGLEFINANCE
関数を活用した過去の為替レートの基本的な取得方法と、指定した期間のレートをまとめて表示する方法をご紹介します。
GOOGLEFINANCE
関数 を使って過去の為替レートを取得

Googleスプレッドシートでは GOOGLEFINANCE
関数を使うことで、現在や過去の為替レートを取得できます。
GOOGLEFINANCE
関数の基本的な構文
GOOGLEFINANCE
関数の基本構文
=GOOGLEFINANCE("ticker", "attribute", [start_date], [end_date|days], [interval])
構文の説明:
ticker
: 取得したい金融商品のシンボル(例:"CURRENCY:USDJPY"
で米ドル/円の為替レート)attribute
: 取得するデータの種類(例:"close"
で終値)[start_date]
: 取得開始日(省略すると最新のデータ)[end_date|days]
: 取得終了日 またはstart_date
からの日数[interval]
: データの間隔(”DAILY” または “WEEKLY”、省略時はデフォルトで “DAILY”)
過去のレートを取得する基本的な数式

たとえば、USD/JPY
(米ドル/円)の為替レートを2025年2月10日時点で取得するには、以下の数式を入力します。
基本的な数式
=GOOGLEFINANCE("CURRENCY:USDJPY", "close", DATE(2025,2,10))
=GOOGLEFINANCE("ticker", "attribute", [start_date], [end_date|days](省略), [interval](省略))
数式の説明
CURRENCY:USDJPY
→ 米ドル/円の為替レートを指定"close"
→ 終値(その日の最後のレート)を取得DATE(2025,2,10)
→ 取得したい日付を指定
この数式をセルに入力すると、指定した日の終値が表示されます。
ヘッダーを非表示にした数式

GOOGLEFINANCE
関数を使うと、データと一緒に Date
(日付)や Close
(終値)のヘッダーが自動的に表示されます。
このヘッダーを消したい時はINDEX
関数を使うと省略できます。
計算に使う場合や表として見やすくしたいときに便利です。
ヘッダーを非表示にする数式
=INDEX(GOOGLEFINANCE("CURRENCY:USDJPY", "close", DATE(2025,2,10)),2,2)
数式の説明
GOOGLEFINANCE(...)
の出力は 2行2列のデータ(ヘッダー + データ) になっています。INDEX(配列, 行番号, 列番号)
を使い、2行目の2列目(レートのみ)を取得します。
これにより、ヘッダーが表示されず、直接レートだけがセルに表示されます。
A列の日付に応じて為替レートを取得する数式

特定の日付だけでなく、複数の日付の為替レートを取得 する方法もあります。
たとえば、A列に日付を入力し、それに対応したレートを取得する方法をご紹介します。
A列の日付に応じた為替レート
=IF(A2="", "", INDEX(GOOGLEFINANCE("CURRENCY:USDJPY", "close", A2),2,2))
数式の説明
A2
に入力された日付に対応する為替レートを取得します。IF(A2="", "", ...)
→ A2が空白のときは何も表示されません。INDEX()
を使ってヘッダーを非表示にします。



この方法を使えば、A列に日付をリストとして入力し、B列に対応する為替レートを自動で取得できます。
セル参照で指定期間の為替レートを一括取得する数式

開始日、終了日、通貨ペアをセル参照で設定し、より柔軟にデータを取得することもできます。
指定期間の為替レートを一括取得する数式
=GOOGLEFINANCE("CURRENCY:" & B3, "close", B1, B2)
数式の説明
B1
に開始日(例:2025/02/01
) →B1
の日付からデータ取得開始B2
に終了日(例:2025/02/10
) →B2
の日付までのデータを取得B3
にUSDJPY
やEURJPY
などの通貨ペアを入力 →GOOGLEFINANCE("CURRENCY:" & B3, "close", B1, B2)
で参照

B1~B3セルに指定期間と通貨ペアを入力します。
- B1:取得開始日
- B2:取得終了日
- B3:通貨ペア

任意のセルに数式を入力します。

指定した期間の為替レートが一括で表示されます。
まとめ
GOOGLEFINANCE
関数 を使えば、過去の為替レートを簡単に取得することができます。
また、日付のセルを参照した数式にすることで、複数の日付の為替レートをまとめて表示できます。
スプレッドシートで為替レートを管理する際にご活用ください。
弊社では、Google Apps Script(GAS)を活用した業務効率化のサポートを提供しております。
GASのカスタマイズやエラー対応にお困りの際は、ぜひお気軽にご相談ください。
また、ITツールの導入支援やIT導入補助金の申請サポートも行っております。
貴方の業務改善を全力でサポートいたします。
コメント