TLDR สรุปสั้นๆ

FILTERXML คัดกรองและดึงข้อมูลจาก XML ด้วยการใช้ XPath โดยเฉพาะร่วมกับข้อมูลจากเว็บ

คำอธิบาย

ฟังก์ชัน FILTERXML ใช้ในการดึงข้อมูลเฉพาะจากข้อมูล XML โดยใช้เส้นทางที่กำหนดในรูปแบบ xpath เพื่อตรวจสอบเนื้อหาที่คุณต้องการ สามารถใช้ร่วมกับฟังก์ชันอื่นอย่าง WEBSERVICE เพื่อดึงข้อมูลจากอินเทอร์เน็ตมาแปลงเป็น XML แล้วใช้ FILTERXML เพื่อเลือกข้อมูลที่ต้องการได้อย่างสะดวก

มีครั้งแรกในเวอร์ชันไหน

2013

รูปแบบคำสั่ง (Syntax)

FILTERXML(xml, xpath)

Arguments

  • xml (Required – string)
    ข้อความที่อยู่ในรูปแบบ XML ที่ถูกต้อง เช่น ‘Value
  • xpath (Required – string)
    เส้นทางในรูปแบบ XPath เพื่อระบุข้อมูลที่ต้องการดึงออกมา

ตัวอย่างการใช้งาน (Examples)

  • Formula:
    =FILTERXML("<items><item>Apple</item><item>Banana</item></items>", "//item")
    Description: ดึงค่าจากทุก ๆ <item> ภายใน XML ที่กำหนด ซึ่งในตัวอย่างนี้คือ Apple และ Banana
    Result:["Apple", "Banana"] (คืนผลลัพธ์เป็น array ของ strings)
  • Formula:
    =FILTERXML("<data><price>20</price></data>", "//price")
    Description: ดึงราคาผลลัพธ์จาก tag <price> ซึ่งใน XML นี้มีค่าเป็น 20
    Result:["20"] (คืนผลลัพธ์เป็น array ของ strings)
  • Formula:
    =FILTERXML(WEBSERVICE("http://service.url/xml"), "//response/data")
    Description: ใช้ร่วมกับ WEBSERVICE เพื่อดึงข้อมูล XML จาก URL แล้ว FILTERXML จะคัดกรองข้อมูลตามวิธีที่กำหนด
    Result:ขึ้นอยู่กับข้อมูล XML ที่ได้จาก service ที่เรียกใช้งาน
  • Formula:
    =FILTERXML(WEBSERVICE("http://service.url/xml?query="&ENCODEURL(B2)), "//result")
    Description: ใช้ร่วมกับ ENCODEURL เพื่อสร้าง query ที่สามารถปรับแต่งได้โดยใช้ค่าจาก B2 ซึ่งมีผลลัพธ์เป็นข้อมูลที่ค้นหาจากบริการออนไลน์
    Result:ขึ้นอยู่กับ XML ที่ได้และเงื่อนไขที่ใช้เรียกค้น
  • Formula:
    =FILTERXML("<stocks><stock><name>MSFT</name><price>285.5</price></stock></stocks>", "//stock/price")
    Description: ดึงราคาหุ้น MSFT จาก XML ที่มีโครงสร้างซับซ้อนมากขึ้น
    Result:["285.5"] (คืนผลลัพธ์เป็น array ของ strings)

Tips & Tricks

ถ้าคุณต้องการดึงข้อมูลจากเว็บเพจที่ไม่ได้อยู่ในรูปแบบ XML คุณอาจต้องใช้บริการแปลงข้อมูลหรือ API ที่แปลงข้อมูลนั้นก่อนจึงจะใช้ FILTERXML ได้อย่างมีประสิทธิภาพ

ข้อควรระวัง (Cautions)

FILTERXML ไม่สามารถใช้งานได้บน Excel สำหรับ Mac หรือ Excel เวอร์ชันออนไลน์ นอกจากนี้ถ้า XML ของคุณมี namespace ที่ไม่ได้ระบุหรือไม่มีความถูกต้อง ฟังก์ชันจะคืนค่าเป็น #VALUE!

ฟังก์ชันที่เกี่ยวข้อง

References

ขอบคุณที่เข้ามาอ่านนะครับ ❤️


Leave a Reply

Your email address will not be published. Required fields are marked *

อบรม In-House Training

Feedback การใช้งาน AI Chatbot