แสดงราคาทอง ใน Excel Sheet ผ่านทาง

 ราคาทองมีแสดงตามเว็บต่าง ๆ หลายเว็บ แต่ถ้าจะเอาราคาทองมาแสดง ใน Excel ผ่าน Google Sheets มีอุปสรรคหลายอย่างเหมือนกัน

ผมไปเอาราคาทองจาก metalpriceapi.com โดยไปขอ key มาก่อน เป็น key ที่ให้ฟรี ซึ่งเว็บส่วนใหญ่เขาคิดตังกันทั้งนั้น

เมื่อได้ key มาแล้ว ก็ทำ Apps Script เขียนฟังก์ชันให้แสดงราคาได้ เรียบร้อย

ปัญหาคือ เวลาเอามาแสดงบน Excel ผ่านทาง Power query บางทีไม่แสดง เกิด #N/A

ที่เป็นเช่นนี้ เพราะ Apps Script ส่งฟังก์ชันมาให้ Power query ซึ่ง Excel ไม่รู้จักฟังก์ชันที่ Apps Script ส่งมา ก็เลยไม่รู้จัก

ทางแก้คือ แทนที่จะให้ส่งมาเป็นสูตร ก็ให้ส่งมา เป็นค่าตัวเลขแทน

ตัวอย่าง Apps Script

  function writeGoldPriceToCell() {
  const apiKey = 'KEY จาก metalpriceapi.com';
  const url = `https://api.metalpriceapi.com/v1/latest?api_key=${apiKey}&base=USD&currencies=XAU`;
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // ✅ Define sheet first
  let goldPriceUSD;
  const priceCell = sheet.getRange(77, 2); // ตำแหน่งที่จะให้แสดงราคา บน Google Sheet
  try {
    const response = UrlFetchApp.fetch(url);
    const data = JSON.parse(response.getContentText());
    if (data && data.rates && data.rates.USDXAU) {
      goldPriceUSD = Math.round(data.rates.USDXAU * 100) / 100;
    } else {
      goldPriceUSD = "Gold price not found";
    }
  } catch (error) {
    goldPriceUSD = `Error: ${error.message}`;
  }
priceCell.setValue(goldPriceUSD);
}
  

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

อุปมา อุปไมย สำนวนการเปรียบเทียบ ของไทย

คำทับศัพท์ยุค ดิจิทัล ที่มักเขียนผิด

การใช้ "การ" หรือ "ความ" นำหน้าคำในภาษาไทย ข้อสอบ ก.พ.