---
title: WEBSERVICE – ฟังก์ชันเรียกเว็บเซอร์วิส
url: https://www.thepexcel.com/functions/excel/web/webservice/
type: function-explainer
program: Excel
syntax: =WEBSERVICE(url)
date: 2025-12-11
updated: 2025-12-17
scores:
  popularity: 4
  difficulty: 4
  usefulness: 5
---

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

> เรียก web service และส่งกลับข้อมูลที่ได้รับจาก URL

## คำอธิบาย

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

## Syntax

```excel
=WEBSERVICE(url)
```

**Variant**

```excel
=WEBSERVICE("http://example.com/api/data")
```

เรียก web service ด้วย URL ที่ระบุอย่างชัดเจน (literal URL string)

**Variant**

```excel
=WEBSERVICE(A1)
```

เรียก web service ด้วย URL ที่อยู่ในเซลล์ A1 ทำให้สามารถเปลี่ยน URL แบบไดนามิก

**Variant**

```excel
=WEBSERVICE("http://api.example.com/query?parameter="&ENCODEURL(B2))
```

รวม WEBSERVICE กับ ENCODEURL เพื่อส่งพารามิเตอร์ที่ปลอดภัยแบบไดนามิก

## Arguments

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

## เคสการใช้งาน

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

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

_เหมาะกับ:_ financial-data-retrieval

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

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

_เหมาะกับ:_ weather-data

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

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

_เหมาะกับ:_ internal-api-call

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: เรียก web service ด้วย URL ธรรมชาติ

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

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

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

### 2. ตัวอย่างที่ 2: เรียก web service ด้วย URL จากเซลล์

```excel
=WEBSERVICE(A1)
```

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

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

### 3. ตัวอย่างที่ 3: รวม WEBSERVICE กับ FILTERXML และ ENCODEURL

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

**ผลลัพธ์:** `150.25 (ราคาปิดล่าสุดของหุ้น)`

สูตรนี้รวม WEBSERVICE กับ FILTERXML และ ENCODEURL เข้าด้วยกัน ขั้นแรก ENCODEURL เข้ารหัส URL จากรหัสหุ้นในเซลล์ C2 ประมาณเช่น MSFT จากนั้น WEBSERVICE ส่งคำขอไปยัง web service เพื่อดึงข้อมูล XML ของราคาหุ้น สุดท้าย FILTERXML ดึงเฉพาะราคาปิดล่าสุด (LastPrice) จากผลลัพธ์ XML โดยใช้ XPath expression

## หมายเหตุเพิ่มเติม

⚠️ WEBSERVICE ใช้ได้เฉพาะใน Excel 365, Excel 2024, Excel 2021, Excel 2019 และ Excel 2016 เท่านั้น แม้ว่าจะปรากฏในแกลเลอรี Excel for Mac แต่ต้องมี Windows ในการทำงาน ไม่สามารถใช้ใน Excel for Web เสมอใช้ ENCODEURL เพื่อเข้ารหัส URL ที่มีพารามิเตอร์แบบไดนามิก เพื่อหลีกเลี่ยงข้อผิดพลาดและให้แน่ใจว่า web service สามารถตีความพารามิเตอร์ได้อย่างถูกต้อง WEBSERVICE เป็น real-time function ซึ่งหมายความว่าจะส่งคำขอไปยัง web service ทุกครั้งที่เซลล์รีเฟรช อาจเสียความเร็วในการประมวลผลหากมีสูตรหลายตัว

## คำถามที่พบบ่อย

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

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

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

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

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

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

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

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

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

- [FILTERXML – ฟังก์ชันดึงข้อมูลจาก XML โดยใช้ XPath](https://www.thepexcel.com/functions/excel/web/filterxml/)
- [ENCODEURL – ฟังก์ชันเข้ารหัส URL สำหรับการเรียกใช้เว็บเซอร์วิส](https://www.thepexcel.com/functions/excel/web/encodeurl/)

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Learn: WEBSERVICE Function](https://support.microsoft.com/en-us/office/webservice-function-0546a35a-ecc6-4739-aed7-c0b7ce1562c4) _(documentation)_
- [Microsoft Learn: ENCODEURL Function](https://support.microsoft.com/en-us/office/encodeurl-function-07c7fb90-7c60-4bff-8687-fac50fe33d0e) _(documentation)_
- [Microsoft Learn: FILTERXML Function](https://support.microsoft.com/en-us/office/filterxml-function-4df72efc-11ec-4951-86f5-c1374812f5b7) _(documentation)_

---

_Source: [https://www.thepexcel.com/functions/excel/web/webservice/](https://www.thepexcel.com/functions/excel/web/webservice/)_
