Power Query 负责加载汇率表,单元格公式负责换算金额。下面的查询调用 /v1/latest/USD,把 JSON 转成两列表格,并在打开工作簿或点击全部刷新时更新。如果需要指定日期的汇率,请使用历史工具,并把日期和来源与结果一起保存。 如果需要单元格公式和可编辑示例,请看Excel 货币换算指南(英文)。查询特定日期时,可使用历史汇率工具(英文),并把日期和来源与结果一起保存。
- Power Query M 内置于 Mac 和 Windows 版 Excel。
- 一次
/v1/latest/{base}调用可以返回多种汇率。 - 用
RelativePath拆分主机和路径,计划刷新更稳定。 - 密钥放在 Authorization 请求头中。
- 汇率仅供模型、分析和展示使用,不能用于结算。
- 免费密钥每月包含 5,000 次调用和每分钟 10 个请求,无需信用卡。
创建免费 API 密钥
在 exchangerate.dev/signup 注册。确认邮箱后,复制以 exr_live_ 开头的密钥。免费层级每月包含 5,000 次调用。
打开 Power Query 高级编辑器
在 Excel 中依次选择数据 → 获取数据 → 启动 Power Query 编辑器。新建空白查询,然后打开视图 → 高级编辑器。
粘贴 M 查询
替换示例密钥,点击完成,并把查询命名为 FxRates。RelativePath 不能省略,否则 Microsoft 365 的计划刷新可能把它视为动态数据源。
// 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把表格载入工作表
点击关闭并加载。首次连接时,Excel 会询问 https://api.exchangerate.dev 的凭据类型,请选择匿名,因为查询已经通过请求头发送密钥。
更换基准货币或筛选币种
修改 Base 可以重新定基准。若只需要少量币种,请在 Query 中加入 symbols,一次请求即可返回所需结果。
// 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]把 endpoint、Authorization 请求头和 RelativePath 要求说清楚,再对照本页代码检查字段名。不要把真实密钥粘贴进聊天窗口。
刷新时不要浪费调用次数
打开工作簿、点击全部刷新或在查询属性中设置间隔都可以更新。多个币种应放在同一次请求中,不要为每个币种创建一条查询。
- Power Query M 内置于 Mac 和 Windows 版 Excel。
- 一次
/v1/latest/{base}调用可以返回多种汇率。 - 用
RelativePath拆分主机和路径,计划刷新更稳定。 - 密钥放在 Authorization 请求头中。
- 汇率仅供模型、分析和展示使用,不能用于结算。
| 代码 | 现象 | 检查 |
|---|---|---|
| 401 | 未授权 | 重新粘贴 API 密钥,并清除旧的数据源凭据。 |
| 429 | 请求过多 | 降低刷新频率,避免多个查询同时启动。 |
适合财务模型、看板、分析和展示,不是可成交报价,也不能用于结算。
你可以不带密钥直接调用 /v1/latest/USD,看到与 M 查询解析结构相同的 JSON。确认无误后,免费密钥会给你的工作簿每月 5,000 次的专属配额;无需银行卡。