学习/Excel 快速入门

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

把一段 M 查询粘贴到 Excel,得到一张可刷新的汇率表。Mac 和 Windows 都能用,也不需要安装插件。

ERexchangerate.dev·Jun 29, 2026·5 min

如果工作簿里需要汇率,Power Query 比 WEBSERVICE() 更合适。下面的查询会调用 /v1/latest/USD,把 JSON 转成两列表格。打开文件或点击全部刷新时即可重新取数,不必让旧汇率一直留在单元格里。

要点
Power Query M 内置于 Mac 和 Windows 版 Excel。
一次 /v1/latest/{base} 调用可以返回多种汇率。
RelativePath 拆分主机和路径,计划刷新更稳定。
密钥放在 Authorization 请求头中。
汇率仅供模型、分析和展示使用,不能用于结算。

创建免费 API 密钥

exchangerate.dev/signup 注册。确认邮箱后,复制以 exr_live_ 开头的密钥。免费层级每月包含 10,000 次调用。

打开 Power Query 高级编辑器

在 Excel 中依次选择数据 → 获取数据 → 启动 Power Query 编辑器。新建空白查询,然后打开视图 → 高级编辑器

粘贴 M 查询

替换示例密钥,点击完成,并把查询命名为 FxRatesRelativePath 不能省略,否则 Microsoft 365 的计划刷新可能把它视为动态数据源。

Power Query · Advanced Editorcopy
// 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 /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,
                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 · 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 助手帮你改查询?
把 endpoint、Authorization 请求头和 RelativePath 要求说清楚,再对照本页代码检查字段名。不要把真实密钥粘贴进聊天窗口。

刷新时不要浪费调用次数

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

  • Power Query M 内置于 Mac 和 Windows 版 Excel。
  • 一次 /v1/latest/{base} 调用可以返回多种汇率。
  • RelativePath 拆分主机和路径,计划刷新更稳定。
  • 密钥放在 Authorization 请求头中。
  • 汇率仅供模型、分析和展示使用,不能用于结算。
代码现象检查
401未授权重新粘贴 API 密钥,并清除旧的数据源凭据。
429请求过多降低刷新频率,避免多个查询同时启动。
这是参考汇率
适合财务模型、看板、分析和展示,不是可成交报价,也不能用于结算。
先试端点,再写查询
你可以不带密钥直接调用 /v1/latest/USD,看到与 M 查询解析结构相同的 JSON。确认无误后,免费密钥会给你的工作簿每月 10,000 次的专属配额——无需银行卡。
ER
exchangerate.dev
面向开发者的集成指南。
更多比较Fixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.dev
学习在 Next.js 与 TypeScript 中使用汇率用 Python 构建 USD/IDR 汇率提醒用 Go 的 net/http 获取汇率
实时汇率EUR/USDGBP/USDUSD/JPY