指南教程

如何用 Power Query 在 Excel 中获取汇率

把一段 M 查询粘贴到 Excel,加载一张可以刷新的汇率表。本文把公式换算、Power Query 取数,以及记录日期和来源的做法放在同一个流程里。

2026年10月1日 · 5 min

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 的计划刷新可能把它视为动态数据源。

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

把表格载入工作表

点击关闭并加载。首次连接时,Excel 会询问 https://api.exchangerate.dev 的凭据类型,请选择匿名,因为查询已经通过请求头发送密钥。

更换基准货币或筛选币种

修改 Base 可以重新定基准。若只需要少量币种,请在 Query 中加入 symbols,一次请求即可返回所需结果。

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 助手帮你改查询?

把 endpoint、Authorization 请求头和 RelativePath 要求说清楚,再对照本页代码检查字段名。不要把真实密钥粘贴进聊天窗口。

刷新时不要浪费调用次数

打开工作簿、点击全部刷新或在查询属性中设置间隔都可以更新。多个币种应放在同一次请求中,不要为每个币种创建一条查询。

  • Power Query M 内置于 Mac 和 Windows 版 Excel。
  • 一次 /v1/latest/{base} 调用可以返回多种汇率。
  • 用 RelativePath 拆分主机和路径,计划刷新更稳定。
  • 密钥放在 Authorization 请求头中。
  • 汇率仅供模型、分析和展示使用,不能用于结算。
代码现象检查
401未授权重新粘贴 API 密钥,并清除旧的数据源凭据。
429请求过多降低刷新频率,避免多个查询同时启动。
这是参考汇率

适合财务模型、看板、分析和展示,不是可成交报价,也不能用于结算。

先试端点,再写查询

你可以不带密钥直接调用 /v1/latest/USD,看到与 M 查询解析结构相同的 JSON。确认无误后,免费密钥会给你的工作簿每月 5,000 次的专属配额;无需银行卡。

常见问题

Mac 版 Excel 能用吗?

能。Power Query M 在 Mac 和 Windows 上都可用,本教程不使用仅限 Windows 的 WEBSERVICE()。

怎样只取一个币种?

在 Query 中把 symbols 设为所需代码,例如 JPY。

首次连接为什么选择匿名?

因为 API 密钥已经由 M 查询放进 Authorization 请求头,Excel 的数据源凭据不需要再保存一份。

可以在商业报表中使用吗?

Free 可用于商业展示,需显示来源链接;付费套餐无需标注。任何套餐都不允许再分发数据。

怎样自动刷新?

在查询属性中设置刷新间隔,或选择打开工作簿时刷新。

免费密钥有什么限制?

免费密钥每月包含 5,000 次调用和每分钟 10 个请求。使用定时刷新时,请把多个币种放在一次查询中,并留意用量。

继续阅读

从免费API密钥开始

免费套餐每月提供5,000次请求。无需信用卡。

获取免费密钥