ガイドチュートリアル

Excelで為替レートを取得する方法(Power Query)

ExcelにMクエリを貼り付けて、更新できる為替レート表を作ります。単純な換算式、Power Queryでの取得、日付と出典を残す方法を一つの流れで説明します。

2026年10月1日 · 5分で読了

レート表の取得はPower Query、金額の換算はセルの数式で行います。クエリは/v1/latest/USDを呼び出し、JSONを2列の表にして、ブックを開いたときやすべて更新を押したときに更新します。特定の日付のレートが必要なら、過去レート検索を使い、日付と出典を結果と一緒に保存してください。 換算式と編集できる例はExcel通貨換算ガイド(英語)にまとめています。特定の日付のレートは日本語の過去レート検索で確認し、日付と出典を結果と一緒に保存してください。

  • Power Query MはMacとWindows両方のExcelに標準搭載、アドイン不要で、Windows専用でMacでは動かないWEBSERVICE()も使わない。
  • /v1/latest/{base}への1コールで全レートを取得。ベースURLとRelativePathを分けて書くとスケジュール更新が壊れない。
  • キーはAuthorization: Bearer exr_live_...で渡す。Authorizationヘッダーを設定できないコネクタではX-API-Keyを使う。
  • 無料枠は月5,000コール・毎分10リクエストで、カード登録は不要。
  • レートはインディケーティブ値、モデル、分析、表示向けであり、取引の決済には使えない。
  • 無料キーは月5,000回、毎分10リクエストまでです。カード登録は不要です。

無料APIキーを取得する

exchangerate.dev/signupで登録する。メール確認後、ダッシュボードにexr_live_で始まるキーが表示される。これをコピーして次のステップでクエリのパラメータに貼り付ける。無料枠は月5,000コール、カード不要。

Power Queryエディターを開く

Excelのリボンからデータ → データの取得 → Power Queryエディターの起動をクリックする。エディター内でホーム → 新しいソース → 空のクエリ、続いて表示 → 詳細エディターを開く。次のステップでこのボックスにMクエリを貼り付ける。

Mクエリを貼り付ける

エディターの内容を下のクエリで置き換えて完了をクリックし、右側のレールでクエリ名をFxRatesに変更する。RelativePath引数は省略できない、これがないとMicrosoft 365のスケジュール更新が資格情報エラーで失敗する。

Power Query · Advanced Editor
// excel: Power Query M query "FxRates"// curl-equivalent: https://api.exchangerate.dev/v1/latest/USD// Private workbook only: do not share or export this query with a key.// Replace ApiKey with your exchangerate.dev key from /signuplet    ApiKey = "exr_live_replace_with_your_key_here",    Base = "USD",    Source = Json.Document(        Web.Contents(            "https://api.exchangerate.dev",            [                RelativePath = "v1/latest/" & Base,                Timeout = #duration(0, 0, 0, 10),                Headers = [#"Authorization" = "Bearer " & ApiKey]            ]        )    ),    Rates = Record.ToTable(Source[rates]),    Renamed = Table.RenameColumns(Rates, {{"Name", "currency"}, {"Value", "rate"}})in    Renamed

ワークシートに読み込み、「匿名」を選ぶ

ホーム → 閉じて読み込むをクリックすると、通貨とレートの2列のテーブルが新しいシートに配置される。初回実行時にhttps://api.exchangerate.devへの認証方法を聞かれるので匿名を選ぶ。キーはURLではなくヘッダーで送られるため、匿名で正しい。Ctrl+Alt+F5でいつでも更新できる。

ベース通貨の変更・ペアの絞り込み

Baseを変えれば全レートのベース通貨が変わる。symbolsクエリを追加すれば必要なペアだけが返る、行数は減り、コール数は1回のまま:

Power Query · variants
// Re-base every rate to the euroBase = "EUR"// Return only the quote currencies you need (one call, fewer rows)RelativePath = "v1/latest/USD",Query = [symbols = "EUR,GBP,JPY"]// One pair, rate calculated for youRelativePath = "v1/convert/USD/JPY/1"   // read Source[rate]
AIアシスタントと一緒に作るなら

exchangerate.devはMCPサーバーとllms.txtを公開しているので、ClaudeやCursor、ChatGPTがライブのスキーマを読んでこのクエリを書いてくれる。「exchangerate.devからUSDレートを取得するExcel Power Query Mクエリを、キーをAuthorizationヘッダーに入れ、更新が動くようRelativePathを使って書いて」と頼めばよい。詳しくはMCPガイドを参照。

更新頻度と無料枠の収まり

Excelは自動ではポーリングしない。テーブルはブックを開いたとき、すべて更新をクリックしたとき、またはデータ → クエリと接続 → プロパティで定期更新を設定したときに更新される。計算すると無料枠に余裕で収まる:

  • 月5,000コール、毎分10リクエスト、カード不要
  • 一般的なモデルは1日数コール程度(起動時+数回の手動更新)
  • 市場時間中に5分間隔の自動更新をしても1日約100コール
  • /v1/latest、/v1/convert、/v1/range、/v1/{date}/{base}をカバー
コード症状対処
401DataSource.Error: 401キーが未設定か無効。ApiKeyに貼り直し、データ → データの取得 → データソース設定でapi.exchangerate.devの保存済み資格情報を削除する。
429429 Too Many Requests毎分10リクエストの上限を超えた。クエリ間で更新をずらすか、/pricingで上位プランへ。
—Excelが資格情報を何度も要求するRelativePathを使わずフルURLに接続している。上記のベースURL分割クエリをコピーし、匿名を選ぶ。
インディケーティブレート、決済には使えない

これらのレートはモデル、分析、表示向けに公開されている。ディーリングクォートではなく、取引や送金の決済に使ってはならない。すべてのレスポンスのnoticeフィールドにその旨が記載されている。

クエリを組む前にエンドポイントを試す

キーなしで/v1/latest/USDを呼び出し、Mクエリが解析するのと同じ構造のJSONを確認できる。問題なければ、無料キーでブックに月5,000コールの専用クォータが付く、カード不要。

よくある質問

ClaudeやCursor、ChatGPTにこの設定を作らせられるか?

可能だ。exchangerate.devはMCPサーバーとllms.txtを公開しているため、AIアシスタントがライブのスキーマとエンドポイントの形を読める。キーをAuthorizationヘッダーに入れ、更新が動くようRelativePathを使ったExcel Power Query Mクエリを書くよう頼めば、実際のスキーマを読むので最初からフィールド名を間違えない。

Excelの財務モデルに向いているか?

向いている、それが主用途だ。Power Query接続なら、DCFやヘッジ管理シート、複数通貨P&Lに、ハードコードされた古いレートではなくブックを開くたびに更新されるFX入力を与えられる。セルを読み込まれたレートテーブルに向ければ、モデルは最新データで再計算される。

Macでも動くか?

動く。Power Query Mは両プラットフォーム共通の方法だ。旧来のWEBSERVICE()関数はWindows専用でMacでは壊れるため、このチュートリアルでは使っていない。上のMクエリはmacOS版とWindows版のExcelで同一に動作する。

このレートを商用プロダクトで使えるか?

Freeは目立つクレジットリンク付きで商用利用できる。有料プランはクレジット不要。データの再配布・再販売には書面での契約が必要: hello@exchangerate.dev。

1つの通貨ペアだけ取得するには?

latestエンドポイントにsymbolsフィルタを付ける。例えば/v1/latest/USD?symbols=JPYを呼び、rates.JPYを読む。あるいは/v1/convert/USD/JPY/1を呼べば、レートと換算額が1つのレスポンスで返る。

無料キーの上限は?

無料キーは月5,000回、毎分10リクエストです。定期更新を使う場合は、通貨を1回のクエリにまとめて使用量を確認してください。

関連記事

無料のAPIキーで始める

無料プランで月5,000リクエスト。クレジットカードは不要です。

無料キーを取得