Excelで為替レートを取得する方法(Power Query)
MクエリをExcelに貼り付け、更新できる為替レート表を作る。MacとWindowsの両方で動き、アドインは不要。無料枠でも十分に試せる。
Excelで為替レートを扱うなら、WEBSERVICE()よりPower Queryの方が扱いやすい。下のクエリは/v1/latest/USDを呼び、JSONを2列の表に変換する。ブックを開いたときやすべて更新を押したときに値を取り直せるので、DCF、ヘッジ管理表、複数通貨のP&Lに古いレートを貼り付けたままにせずに済む。 JPYを含む表を作る場合は、下のクエリの対象通貨にJPYを指定します。Geminiに作成を手伝ってもらう場合は、GeminiでExcelの為替トラッカーを作るのプロンプトと参考クエリを使えます。Geminiはコードを作成し、実際の取得と更新はExcelが実行します。APIキーをチャットに貼り付けないでください。
WEBSERVICE()も使わない。/v1/latest/{base}への1コールで全レートを取得。ベースURLとRelativePathを分けて書くとスケジュール更新が壊れない。Authorization: Bearer exr_live_...で渡す。Authorizationヘッダーを設定できないコネクタではX-API-Keyを使う。無料APIキーを取得する
exchangerate.dev/signupで登録する。メール確認後、ダッシュボードにexr_live_で始まるキーが表示される。これをコピーして次のステップでクエリのパラメータに貼り付ける。無料枠は月10,000コール、カード不要。
Power Queryエディターを開く
Excelのリボンからデータ → データの取得 → Power Queryエディターの起動をクリックする。エディター内でホーム → 新しいソース → 空のクエリ、続いて表示 → 詳細エディターを開く。次のステップでこのボックスにMクエリを貼り付ける。
Mクエリを貼り付ける
エディターの内容を下のクエリで置き換えて完了をクリックし、右側のレールでクエリ名をFxRatesに変更する。RelativePath引数は省略できない — これがないとMicrosoft 365のスケジュール更新が資格情報エラーで失敗する。
ワークシートに読み込み、「匿名」を選ぶ
ホーム → 閉じて読み込むをクリックすると、通貨とレートの2列のテーブルが新しいシートに配置される。初回実行時にhttps://api.exchangerate.devへの認証方法を聞かれるので匿名を選ぶ。キーはURLではなくヘッダーで送られるため、匿名で正しい。Ctrl+Alt+F5でいつでも更新できる。
ベース通貨の変更・ペアの絞り込み
Baseを変えれば全レートのベース通貨が変わる。symbolsクエリを追加すれば必要なペアだけが返る — 行数は減り、コール数は1回のまま:
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}をカバー
noticeフィールドにその旨が記載されている。