---
title: SUBSTITUTE – แทนที่คำหรือข้อความด้วยคำใหม่
url: https://www.thepexcel.com/functions/excel/text/substitute/
type: function-explainer
program: Excel
syntax: "=SUBSTITUTE(text, old_text, new_text, [instance_num])"
date: 2025-12-02
updated: 2025-12-17
scores:
  popularity: 7
  difficulty: 4
  usefulness: 9
---

# SUBSTITUTE – แทนที่คำหรือข้อความด้วยคำใหม่

> แทนที่คำเก่าด้วยคำใหม่ในข้อความ

## คำอธิบาย

SUBSTITUTE จะค้นหาคำเก่า (old_text) ในข้อความ แล้วแทนที่ด้วยคำใหม่ (new_text) โดยจะแยกแยะตัวพิมพ์เล็ก-ใหญ่ (Case-sensitive) สามารถเลือกได้ว่าจะแทนที่ทุกคำที่เจอ หรือแทนที่เฉพาะลำดับที่ระบุ (เช่น เปลี่ยนเฉพาะคำแรก)

## Syntax

```excel
=SUBSTITUTE(text, old_text, new_text, [instance_num])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| text | Yes | Text |  | ข้อความต้นฉบับ หรือเซลล์ที่ต้องการแก้ไข |
| old_text | Yes | Text |  | คำเก่าที่ต้องการค้นหาเพื่อเปลี่ยนออก (ต้องใส่เครื่องหมายคำพูด " ") |
| new_text | Yes | Text |  | คำใหม่ที่ต้องการนำไปใส่แทนที่ |
| instance_num | No | Number | All | ลำดับของคำที่ต้องการเปลี่ยน (เช่น 1 = เปลี่ยนเฉพาะคำแรก) ถ้าไม่ระบุจะเปลี่ยนทั้งหมด |

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

### ทำความสะอาดข้อมูล (Clean Data)

ลบช่องว่างส่วนเกิน, ลบเครื่องหมายวรรคตอน, หรือแก้ไขคำผิดที่พบบ่อยในฐานข้อมูลลูกค้า

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

### นับจำนวนคำในประโยค

ใช้สูตร =LEN(Text) - LEN(SUBSTITUTE(Text, " ", "")) + 1 เพื่อหาว่าในประโยคมีช่องว่างกี่ตัว แล้วบวก 1 จะได้จำนวนคำคร่าวๆ

_เหมาะกับ:_ text-analysis

## ตัวอย่าง

### 1. เปลี่ยนปี พ.ศ. เป็น ค.ศ.

```excel
=SUBSTITUTE("ปี 2567", "2567", "2024")
```

**ผลลัพธ์:** `ปี 2024`

ค้นหาคำว่า "2567" ในข้อความ แล้วแทนที่ด้วย "2024"

### 2. ลบขีดออกจากเบอร์โทรศัพท์

```excel
=SUBSTITUTE("081-123-4567", "-", "")
```

**ผลลัพธ์:** `0811234567`

แทนที่ขีด "-" ด้วยความว่างเปล่า "" (Empty String) เพื่อลบตัวอักษรที่ไม่ต้องการออกให้เหลือแต่ตัวเลข

### 3. เปลี่ยนเฉพาะคำแรก (Instance)

```excel
=SUBSTITUTE("Team A vs Team B", "Team", "Group", 1)
```

**ผลลัพธ์:** `Group A vs Team B`

ระบุ instance_num เป็น 1 เพื่อสั่งให้เปลี่ยนคำว่า "Team" เฉพาะครั้งแรกที่เจอเท่านั้น คำหลังจะไม่ถูกเปลี่ยน

### 4. แทนที่การขึ้นบรรทัดใหม่ด้วยช่องว่าง

```excel
=SUBSTITUTE(A2, CHAR(10), " ")
```

**ผลลัพธ์:** `ข้อความบรรทัดเดียว`

ใช้ CHAR(10) แทนรหัสของการขึ้นบรรทัดใหม่ (Line Break) แล้วเปลี่ยนให้เป็นช่องว่าง " " เพื่อจัดข้อความให้อยู่ในบรรทัดเดียว

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

💡 **Tip**: สามารถซ้อน SUBSTITUTE หลายชั้นได้เพื่อเปลี่ยนหลายคำพร้อมกัน เช่น =SUBSTITUTE(SUBSTITUTE(A1, "-", ""), " ", "") ลบทั้งขีดและช่องว่าง

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

**Q: ต่างจากฟังก์ชัน REPLACE อย่างไร?**

SUBSTITUTE เปลี่ยนโดย "ค้นหาคำ" (ไม่สนตำแหน่ง) ส่วน REPLACE เปลี่ยนโดย "ระบุตำแหน่ง" (เช่น เปลี่ยนตัวอักษรที่ 5 ถึง 8)

**Q: สนใจตัวพิมพ์เล็ก-ใหญ่ไหม (Case Sensitive)?**

สนใจครับ "Apple" ไม่เท่ากับ "apple" ถ้าต้องการเปลี่ยนแบบไม่สน Case อาจต้องใช้ฟังก์ชันอื่นช่วย หรือใช้ Power Query

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

- [REPLACE – แทนที่ข้อความตามตำแหน่ง](https://www.thepexcel.com/functions/excel/text/replace/)
- [TRIM – ลบช่องว่างส่วนเกินออกจากข้อความ](https://www.thepexcel.com/functions/excel/text/trim/)
- [CLEAN – ลบอักขระขยะ](https://www.thepexcel.com/functions/excel/text/clean/)
- [LEN – นับจำนวนตัวอักษรในข้อความ](https://www.thepexcel.com/functions/excel/text/len/)
- [FIND – ค้นหาตำแหน่งของคำ (แยกตัวพิมพ์เล็ก/ใหญ่)](https://www.thepexcel.com/functions/excel/text/find/)

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

- [Microsoft Support: ฟังก์ชัน SUBSTITUTE](https://support.microsoft.com/th-th/office/substitute-function-6434944e-a904-4336-a9b0-1e58df3bc332) _(official)_
- [ExcelJet: How to use SUBSTITUTE](https://exceljet.net/functions/substitute-function) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/excel/text/substitute/](https://www.thepexcel.com/functions/excel/text/substitute/)_
