---
title: REGEXREPLACE – แทนที่ข้อความด้วย Regular Expression
url: https://www.thepexcel.com/functions/excel/text/regexreplace/
type: function-explainer
program: Excel
syntax: "=REGEXREPLACE(text, pattern, replacement, [match_number])"
date: 2025-12-23
updated: 2026-05-31
scores:
  popularity: 6
  difficulty: 6
  usefulness: 7
---

# REGEXREPLACE – แทนที่ข้อความด้วย Regular Expression

> REGEXREPLACE ค้นหาและแทนที่ข้อความจากรูปแบบ Regular Expression ใช้สำหรับ Data Cleaning ที่ซับซ้อน เห

## คำอธิบาย

REGEXREPLACE ค้นหาและแทนที่ข้อความจากรูปแบบ Regular Expression ใช้สำหรับ Data Cleaning ที่ซับซ้อน เหมาะสำหรับ Excel 365 รองรับ backreferences

## Syntax

```excel
=REGEXREPLACE(text, pattern, replacement, [match_number])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| text | Yes | Text |  | ข้อความหรือเซลล์ที่ต้องการค้นหาและแทนที่ |
| pattern | Yes | Text |  | รูปแบบ Regex ที่ต้องการค้นหา (ต้องอยู่ในเครื่องหมายคำพูด) เช่น "\d+" สำหรับตัวเลข "(\d{3})-(\d{4})" สำหรับ xxx-xxxx |
| replacement | Yes | Text |  | ข้อความที่ต้องการแทนที่ สามารถใช้ $0 (ข้อความที่ตรงกันทั้งหมด), $1, $2, $3 (capture group) หรือ "" (ลบข้อความที่ค้นเจอ) |
| match_number | No | Number | -1 | [Optional] หมายเลขครั้งที่ต้องการแทนที่ (1 = ครั้งแรก, -1 = ทั้งหมด) ค่าเริ่มต้นคือ -1 (แทนที่ทั้งหมด) |

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ลบสัญลักษณ์พิเศษจากเบอร์โทร

```excel
=REGEXREPLACE("0-2345-6789", "-", "")
```

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

ค้นหาเครื่องหมาย - และแทนที่ด้วยข้อความว่าง ("") เพื่อลบออกทั้งหมด ใช้งานง่าย ไม่ต้องใช้ capture group

### 2. ตัวอย่างที่ 2: จัดรูปแบบเบอร์โทรศัพท์ (Backreference)

```excel
=REGEXREPLACE("0234567890", "(\d{3})(\d{3})(\d{4})", "$1-$2-$3")
```

**ผลลัพธ์:** `023-456-7890`

ใช้ capture groups () แบ่งตัวเลขออกเป็น 3 ส่วน: 3 หลัก-3 หลัก-4 หลัก แล้วใช้ $1, $2, $3 เพื่อนำกลับมาพร้อมเครื่องหมาย บ่อยมากในการจัดรูปแบบ

### 3. ตัวอย่างที่ 3: ลบตัวอักษรซ้ำออก (Advanced)

```excel
=REGEXREPLACE("aabbccdd", "(.)\\1", "$1")
```

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

ค้นหาตัวอักษร (.) ตามด้วยตัวเดิม \\1 (backreference ภายใน pattern) แล้วแทนที่ด้วยตัวเดิวตัวเดียว $1 ใช้ได้ดีสำหรับลบซ้ำ

### 4. ตัวอย่างที่ 4: เปลี่ยนรูปแบบวันที่ ISO เป็น ไทย

```excel
=REGEXREPLACE("2025-12-23", "(\d{4})-(\d{2})-(\d{2})", "$3/$2/$1")
```

**ผลลัพธ์:** `23/12/2025`

แบ่ง YYYY-MM-DD เป็น 3 groups แล้วจัดเรียงใหม่เป็น DD/MM/YYYY ทำงานได้ทั้งเซลล์เดียวและกับ ARRAYFORMULA

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

- ใช้ regexr.com เพื่อทดสอบ pattern ก่อน คล้ายการ debug สูตร - เห็นผลแบบ real-time และเข้าใจ pattern ได้ดีขึ้น

- ร่วมกับ ARRAYFORMULA ได้ =ARRAYFORMULA(REGEXREPLACE(A2:A10, "pattern", "replacement")) ลดเวลาการลากสูตร

- ใช้ backreferences $1, $2 เพื่อนำกลับมาใช้ส่วนที่ค้นเจอ เช่นจัดรูปแบบ โดยไม่ต้องเขียน pattern ใหม่

- แทนที่ด้วย "" (ข้อความว่าง) เพื่อลบข้อความที่ค้นเจอ ประหยัดเวลากว่า SUBSTITUTE หลายครั้ง

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

**Q: REGEXREPLACE ใน Google Sheets ต่างกันไหม?**

Google Sheets มี REGEXREPLACE ด้วย แต่ใช้ RE2 regex engine (Google's internal) ที่ไม่รองรับ lookahead/lookbehind ส่วน Excel ใช้ .NET Regex ที่รองรับได้ นอกนั้นก็ทำงานเกือบเหมือนกัน ต่างกันเพียง syntax backreference เล็กน้อย

**Q: ต่างจาก SUBSTITUTE อย่างไร?**

SUBSTITUTE ค้นหาข้อความตรง ๆ เท่านั้น เช่น "cat" ค้นหาแค่ "cat" ไม่ได้ "cats" ส่วน REGEXREPLACE ใช้รูปแบบ ค้นหา "cat." ได้ทั้ง "cat", "cats", "catch" เพราะ . = อักขระใด ๆ ยืดหยุ่นกว่ามาก

**Q: ไม่เก่ง Regex จะเขียนได้อย่างไร?**

ใช้ AI ช่วย! บอก ChatGPT/Claude/Gemini ว่า "Write a regex to [สิ่งที่ต้องการ]" เช่น "Write a regex to extract all email addresses" เขาจะให้ pattern มา หรือทดสอบที่ regexr.com ซึ่งมีคำอธิบายแบบ visual ทำให้เห็นผลทันที

**Q: Excel ใช้ Regex แบบไหน?**

ใช้ .NET Regex (Microsoft .NET Framework regular expressions) ที่รองรับ PCRE เต็มรูปแบบ รวม lookahead (?=), lookbehind (?

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

- [Microsoft Support: REGEXREPLACE](https://support.microsoft.com/en-us/office/regexreplace-function-d453059e-0c2f-4a83-9e8e-a4c8c0c01b8f) _(official)_
- [คู่มือ Regex ฉบับสมบูรณ์สำหรับ Excel](https://www.thepexcel.com/regex-excel-guide/) _(article)_
- [RegExr - Learn & Test Regex (Visual)](https://regexr.com/) _(article)_
- [Regex101 - Advanced Regex Tester](https://regex101.com/) _(article)_

---

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