ใช้ Power Query โหลดตารางอัตรา แล้วใช้สูตรในเซลล์คำนวณจำนวนเงิน query ด้านล่างเรียก /v1/latest/USD แปลง JSON เป็นตารางสองคอลัมน์ และอัปเดตเมื่อเปิดไฟล์หรือกด Refresh All ถ้าต้องการอัตราของวันที่ระบุ ให้ใช้เครื่องมือย้อนหลังและเก็บวันที่กับแหล่งข้อมูลไว้พร้อมผลลัพธ์ ถ้าต้องการสูตรแปลงสกุลเงินและตัวอย่างที่แก้ไขได้ ดูคู่มือแปลงสกุลเงินใน Excel ภาษาอังกฤษ หากต้องการอัตราของวันที่ระบุ ใช้เครื่องมืออัตราย้อนหลังภาษาอังกฤษ และเก็บวันที่กับแหล่งข้อมูลไว้พร้อมผลลัพธ์
- Power Query M มีใน Excel ทั้ง Mac และ Windows
- คำขอ
/v1/latest/{base}ครั้งเดียวคืนค่าได้หลายสกุล - แยก host กับ path ด้วย
RelativePathเพื่อให้ scheduled refresh ทำงาน - ส่งคีย์ใน Authorization header
- อัตราเป็นข้อมูลอ้างอิงสำหรับโมเดลและการวิเคราะห์ ไม่ใช่ราคาชำระ
- คีย์ฟรีมี 5,000 calls ต่อเดือนและ 10 requests ต่อนาที ไม่ต้องใช้บัตร
สร้าง API key ฟรี
สมัครที่ exchangerate.dev/signup ยืนยันอีเมล แล้วคัดลอกคีย์ที่ขึ้นต้นด้วย exr_live_ แพ็กเกจฟรีมี 5,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
// 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โหลดตารางลงชีต
กด Close & Load ครั้งแรก Excel จะถาม credential ของ https://api.exchangerate.dev ให้เลือก Anonymous เพราะ query ส่งคีย์ใน header อยู่แล้ว
เปลี่ยนสกุลฐานหรือกรองสกุลเงิน
เปลี่ยน Base เพื่อใช้สกุลฐานอื่น หากต้องการเพียงบางสกุลให้เพิ่ม symbols ใน Query และขอทั้งหมดในคำขอเดียว
// 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 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 เริ่มพร้อมกัน |
เหมาะกับโมเดล รายงาน การวิเคราะห์ และการแสดงผล ไม่ใช่ราคาซื้อขายหรือราคาชำระ
คุณเรียก /v1/latest/USD ได้โดยไม่ต้องใช้ key เพื่อดู JSON โครงสร้างเดียวกับที่คิวรี M แปลง เมื่อพอใจแล้ว key ฟรี จะให้โควตาเฉพาะของเวิร์กบุ๊ก 5,000 ครั้งต่อเดือน; ไม่ต้องใช้บัตร