Learn/เริ่มต้นใช้งาน Excel

ดึงอัตราแลกเปลี่ยนเข้า Excel ด้วย Power Query

วาง M query ใน Excel แล้วได้ตารางอัตราแลกเปลี่ยนที่กด refresh ได้ ใช้ได้ทั้ง Mac และ Windows โดยไม่ต้องติดตั้ง add-in

ERexchangerate.dev·Jun 29, 2026·5 min

ถ้าสมุดงานต้องใช้อัตราแลกเปลี่ยน Power Query เหมาะกว่า WEBSERVICE() query ด้านล่างเรียก /v1/latest/USD แล้วแปลง JSON เป็นตารางสองคอลัมน์ เปิดไฟล์หรือกด Refresh All ก็อัปเดตใหม่ได้ ไม่ต้องทิ้งอัตราเก่าไว้ในเซลล์

ประเด็นสำคัญ
Power Query M มีใน Excel ทั้ง Mac และ Windows
คำขอ /v1/latest/{base} ครั้งเดียวคืนค่าได้หลายสกุล
แยก host กับ path ด้วย RelativePath เพื่อให้ scheduled refresh ทำงาน
ส่งคีย์ใน Authorization header
อัตราเป็นข้อมูลอ้างอิงสำหรับโมเดลและการวิเคราะห์ ไม่ใช่ราคาชำระ

สร้าง API key ฟรี

สมัครที่ exchangerate.dev/signup ยืนยันอีเมล แล้วคัดลอกคีย์ที่ขึ้นต้นด้วย exr_live_ แพ็กเกจฟรีมี 10,000 calls ต่อเดือน

เปิด Advanced Editor

ใน Excel เลือก Data → Get Data → Launch Power Query Editor สร้าง Blank Query แล้วเปิด View → Advanced Editor

วาง M query

เปลี่ยนคีย์ตัวอย่าง กด Done แล้วตั้งชื่อ query ว่า FxRates ต้องคง RelativePath ไว้เพื่อไม่ให้ Microsoft 365 มองว่าเป็น dynamic data source

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

โหลดตารางลงชีต

กด Close & Load ครั้งแรก Excel จะถาม credential ของ https://api.exchangerate.dev ให้เลือก Anonymous เพราะ query ส่งคีย์ใน header อยู่แล้ว

เปลี่ยนสกุลฐานหรือกรองสกุลเงิน

เปลี่ยน Base เพื่อใช้สกุลฐานอื่น หากต้องการเพียงบางสกุลให้เพิ่ม symbols ใน Query และขอทั้งหมดในคำขอเดียว

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 ช่วยแก้ query ได้ไหม?
ระบุ endpoint, Authorization header และการใช้ RelativePath ให้ชัด แล้วเทียบชื่อฟิลด์กับ code ในหน้านี้ อย่าส่งคีย์จริงเข้าแชต

ตั้ง refresh ให้พอดีกับงาน

อัปเดตได้ตอนเปิดไฟล์ กด Refresh All หรือตั้งช่วงเวลาใน Query Properties ควรขอหลายสกุลในคำขอเดียวแทนการทำ query แยก

  • Power Query M มีใน Excel ทั้ง Mac และ Windows
  • คำขอ /v1/latest/{base} ครั้งเดียวคืนค่าได้หลายสกุล
  • แยก host กับ path ด้วย RelativePath เพื่อให้ scheduled refresh ทำงาน
  • ส่งคีย์ใน Authorization header
  • อัตราเป็นข้อมูลอ้างอิงสำหรับโมเดลและการวิเคราะห์ ไม่ใช่ราคาชำระ
รหัสอาการวิธีตรวจ
401ไม่ได้รับอนุญาตวาง API key ใหม่และล้าง credential เดิมของ data source
429เรียกถี่เกินไปลดรอบ refresh และอย่าให้หลาย query เริ่มพร้อมกัน
อัตราสำหรับอ้างอิง
เหมาะกับโมเดล รายงาน การวิเคราะห์ และการแสดงผล ไม่ใช่ราคาซื้อขายหรือราคาชำระ
ลองเรียก endpoint ก่อนสร้างคิวรี
คุณเรียก /v1/latest/USD ได้โดยไม่ต้องใช้ key เพื่อดู JSON โครงสร้างเดียวกับที่คิวรี M แปลง เมื่อพอใจแล้ว key ฟรี จะให้โควตาเฉพาะของเวิร์กบุ๊ก 10,000 ครั้งต่อเดือน — ไม่ต้องใช้บัตร
ER
exchangerate.dev
คู่มือเชื่อมต่อสำหรับนักพัฒนา
เปรียบเทียบเพิ่มเติมFixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.dev
เรียนรู้อัตราแลกเปลี่ยนใน Next.js และ TypeScriptสร้างการแจ้งเตือนอัตรา USD/IDR ด้วย Pythonดึงอัตราแลกเปลี่ยนใน Go ด้วย net/http
อัตราสดEUR/USDGBP/USDUSD/JPY