Tutorial/Excelクイックスタート

ExcelにPower Queryでライブ為替レートを取り込む

Power QueryのMクエリでexchangerate.devを呼び出し、ライブ為替レートをExcelに取り込む。MacでもWindowsでも動作し、アドイン不要。無料枠は月10,000コール、カード登録なし。

MMexchangerate.dev·Jun 29, 2026·5分で読了

ライブ為替レートをExcelに取り込む最もクリーンな方法は、/v1/latest/USDを呼び出すPower QueryのMクエリでレートをワークシートに読み込むことだ。ブック起動時または手動クリックで更新され、MacとWindowsで同じように動き、アドインは不要。無料キーで月10,000コールまでカバーされる。DCFの入力、ヘッジ管理シート、開くたびに更新される複数通貨のP&Lなど、為替連動の財務モデルが求めるライブデータフィードそのものだ。

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

無料APIキーを取得する

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

Power Queryエディターを開く

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

Mクエリを貼り付ける

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

Power Query · Advanced Editorcopy
// excel: Power Query M query "FxRates"
// curl-equivalent: https://api.exchangerate.dev/v1/latest/USD
// Replace ApiKey with your exchangerate.dev key from /signup
let
    ApiKey = "exr_live_replace_with_your_key_here",
    Base = "USD",
    Source = Json.Document(
        Web.Contents(
            "https://api.exchangerate.dev",
            [
                RelativePath = "v1/latest/" & Base,
                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 · variantscopy
// Re-base every rate to the euro
Base = "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 you
RelativePath = "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は自動ではポーリングしない。テーブルはブックを開いたとき、すべて更新をクリックしたとき、またはデータ → クエリと接続 → プロパティで定期更新を設定したときに更新される。計算すると無料枠に余裕で収まる:

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

Keep reading

TutorialGoogle Sheetsでライブ為替レートを取得するRead TutorialJavaScriptとNode.jsによる通貨換算Read TutorialPythonで為替レートを取得する方法Read
他の比較exchangerate.dev vs Fixerexchangerate.dev vs Open Exchange Ratesexchangerate.dev vs Currencylayer
学ぶReading source and market_session in your pipelineIndicative vs executable FX rates: what a rates API actually gives youECB reference rates, explained
ライブレートEUR/USDGBP/USDUSD/JPY