Thep Excel

WEBSERVICE – ฟังก์ชันเรียกเว็บเซอร์วิส

WEBSERVICE ส่งคำขอ GET ไปยัง URL ของ web service (API) บนอินเทอร์เน็ตหรือ Intranet และส่งกลับข้อมูลที่ได้รับ ใช้เพื่อดึงข้อมูลแบบ real-time เช่น ราคาหุ้น อัตราแลกเปลี่ยน ข้อมูลสภาพอากาศ โดยปกติใช้ร่วมกับ FILTERXML เพื่อแยกข้อมูลที่ต้องการจากผลลัพธ์ XML และกับ ENCODEURL เพื่อเข้ารหัส URL ให้ปลอดภัย

=WEBSERVICE(url)

By ThepExcel AI Agent
11 December 2025

Function Metrics


Popularity
4/10

Difficulty
4/10

Usefulness
5/10

Syntax & Arguments

=WEBSERVICE(url)

Argument Type Required Default Description
url text Yes URL ของ web service (API) ที่ต้องการเรียกในรูปแบบข้อความ (string) โดยต้องเป็น URL ที่ถูกต้องและ web service ต้องรองรับการขอ GET request สูงสุด 2,048 ตัวอักษร ตัวอักษรพิเศษในพารามิเตอร์ต้องเข้ารหัสด้วย ENCODEURL

How it works

ดึงข้อมูลราคาหุ้นแบบ real-time

ใช้ WEBSERVICE ร่วมกับ FILTERXML เพื่อดึงราคาหุ้นล่าสุดจาก web API การทำงาน WEBSERVICE จะส่งคำขอไปยัง API ของผู้ให้บริการข้อมูลหุ้น และส่งกลับข้อมูล XML ของราคาปัจจุบัน

ดึงข้อมูลสภาพอากาศจากเซอร์วิสอากาศ

ใช้ WEBSERVICE เพื่อเรียก web API ของบริการสภาพอากาศเพื่อดึงข้อมูลอุณหภูมิ ความชื้น ลมแบบ real-time ตามสถานที่ที่ระบุ

เรียก RESTful API ของระบบภายใน

ใช้ WEBSERVICE เพื่อเรียก API ที่สร้างขึ้นเอง (Custom API) บน Intranet เพื่อดึงข้อมูลจากฐานข้อมูลบริษัท หรือจากระบบ ERP ต่าง ๆ

Examples

ตัวอย่างที่ 1: เรียก web service ด้วย URL ธรรมชาติ
WEBSERVICE("http://mywebservice.com/serviceEndpoint?searchString=Excel")
สูตรนี้ส่งคำขอ GET ไปยัง http://mywebservice.com/ ด้วยพารามิเตอร์ searchString=Excel ผลลัพธ์คือข้อมูล XML ทั้งหมดที่ส่งกลับมาจาก web service หลังจากนั้นอาจใช้ FILTERXML เพื่อแยกข้อมูลที่ต้องการจาก XML นี้
Excel Formula:

=WEBSERVICE("http://mywebservice.com/serviceEndpoint?searchString=Excel")

Result:

<?xml version="1.0"?>...[ผลลัพธ์ XML ทั้งหมด]

ตัวอย่างที่ 2: เรียก web service ด้วย URL จากเซลล์
WEBSERVICE(A1)
สูตรนี้ดึง URL จากเซลล์ A1 และส่งคำขอไปยัง URL นั้น ทำให้สามารถเปลี่ยน URL แบบไดนามิก โดยแค่เปลี่ยนค่าในเซลล์ A1 ผลลัพธ์คือข้อมูลที่ส่งกลับจาก web service
Excel Formula:

=WEBSERVICE(A1)

Result:

<?xml version="1.0"?>...[ผลลัพธ์ XML]

ตัวอย่างที่ 3: รวม WEBSERVICE กับ FILTERXML และ ENCODEURL
FILTERXML(WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2)),"//QuoteApiModel/Data/LastPrice")
สูตรนี้รวม WEBSERVICE กับ FILTERXML และ ENCODEURL เข้าด้วยกัน ขั้นแรก ENCODEURL เข้ารหัส URL จากรหัสหุ้นในเซลล์ C2 ประมาณเช่น MSFT จากนั้น WEBSERVICE ส่งคำขอไปยัง web service เพื่อดึงข้อมูล XML ของราคาหุ้น สุดท้าย FILTERXML ดึงเฉพาะราคาปิดล่าสุด (LastPrice) จากผลลัพธ์ XML โดยใช้ XPath expression
Excel Formula:

=FILTERXML(WEBSERVICE("http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol="&ENCODEURL(C2)),"//QuoteApiModel/Data/LastPrice")

Result:

150.25 (ราคาปิดล่าสุดของหุ้น)

FAQs

WEBSERVICE รองรับ protocol ใดบ้าง?

WEBSERVICE รองรับเฉพาะ HTTP และ HTTPS เท่านั้น ไม่รองรับ FTP, FILE หรือ protocol อื่น ๆ ดังนั้นต้องใช้ web service ที่เข้าถึงได้ผ่าน HTTP/HTTPS

WEBSERVICE มีข้อจำกัดความยาว URL หรือไม่?

ใช่ URL ต้องไม่เกิน 2,048 ตัวอักษร และผลลัพธ์ที่ส่งกลับต้องไม่เกิน 32,767 ตัวอักษร (ขีดจำกัดของเซลล์ Excel) หากข้อมูลมากกว่านี้จะเกิดข้อผิดพลาด #VALUE!

WEBSERVICE รองรับ POST request หรือไม่?

ไม่ WEBSERVICE รองรับเฉพาะ GET request เท่านั้น ถ้า web service ต้องใช้ POST ต้องใช้วิธีอื่น เช่น Power Query หรือ VBA

ความแตกต่างระหว่าง WEBSERVICE กับ FILTERXML คืออะไร?

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

Resources & Related

Additional Notes

WEBSERVICE เป็นฟังก์ชันที่ส่งคำขอไปยัง web service (API) บนอินเทอร์เน็ตหรือ Intranet และส่งกลับข้อมูลที่ได้รับ มักใช้ร่วมกับ FILTERXML เพื่อดึงข้อมูลเฉพาะจากผลลัพธ์ XML หรือกับ ENCODEURL เพื่อส่งพารามิเตอร์ที่ปลอดภัยในการขอ URL

Leave a Reply

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