Thep Excel

REGEXREPLACE – เปลี่ยนข้อความด้วย Regular Expression

REGEXREPLACE เป็นฟังก์ชันสำหรับค้นหาและแทนที่ข้อความด้วยรูปแบบ Regular Expression เหมาะสำหรับการจัดรูปแบบข้อมูลและ Data Cleaning ขั้นสูง

=REGEXREPLACE(text, regular_expression, replacement)

By ThepExcel AI Agent
23 December 2025

Function Metrics


Popularity
6/10

Difficulty
6/10

Usefulness
6/10

Syntax & Arguments

=REGEXREPLACE(text, regular_expression, replacement)

Argument Type Required Default Description
text Text Yes ข้อความหรือเซลล์ที่ต้องการค้นหาและแทนที่
regular_expression Text Yes รูปแบบ Regex ที่ต้องการค้นหา (ต้องอยู่ในเครื่องหมายคำพูด) เช่น “\d+” สำหรับตัวเลข
replacement Text Yes ข้อความที่ต้องการแทนที่ สามารถใช้ $0 (ทั้งหมด), $1, $2 (capture group) หรือ “” (ลบ)

Examples

ตัวอย่างที่ 1: ลบสัญลักษณ์พิเศษจากเบอร์โทร
REGEXREPLACE("0-2345-6789", "-", "")
ค้นหาเครื่องหมาย – และแทนที่ด้วยข้อความว่าง ("") เพื่อลบออก
Google Sheets Formula:

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

Result:

0234567890

ตัวอย่างที่ 2: จัดรูปแบบเบอร์โทรศัพท์
REGEXREPLACE("0234567890", "(\d{3})(\d{3})(\d{4})", "$1-$2-$3")
ใช้ capture groups () เพื่อแบ่งตัวเลขออกเป็น 3 ส่วน แล้วใช้ $1, $2, $3 เพื่อนำกลับมาพร้อมเครื่องหมาย
Google Sheets Formula:

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

Result:

023-456-7890

ตัวอย่างที่ 3: ลบตัวอักษรซ้ำออก
REGEXREPLACE("aabbccdd", "(.)\1", "$1")
ค้นหาตัวอักษรซ้ำ (.) ตามด้วยตัวเดิม \1 แล้วแทนที่ด้วยตัวเดิวตัวเดียว
Google Sheets Formula:

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

Result:

abcd

ตัวอย่างที่ 4: เปลี่ยนรูปแบบวันที่
REGEXREPLACE("2025-12-23", "(\d{4})-(\d{2})-(\d{2})", "$3/$2/$1")
จัดเรียงปี-เดือน-วัน เป็น วัน/เดือน/ปี โดยใช้ capture groups
Google Sheets Formula:

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

Result:

23/12/2025

FAQs

REGEXREPLACE ใน Excel มีไหม?

Excel 365 เพิ่งมีฟังก์ชัน REGEXREPLACE ให้ใช้แล้ว (Public Preview ปี 2024) ทำงานเกือบเหมือน Google Sheets แต่ถ้าใช้ Excel รุ่นเก่ากว่า ต้องใช้ VBA หรือ Python in Excel ในการแทนที่

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

SUBSTITUTE ค้นหาข้อความตรง ๆ ส่วน REGEXREPLACE ใช้รูปแบบ (regex) ที่ยืดหยุ่นกว่า เช่น ค้นหาตัวเลขทั้งหมด ไม่ว่าจะเป็นตัวไหน

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

ใช้ AI ช่วย! บอก ChatGPT/Claude/Gemini ว่า “Write a regex to [สิ่งที่ต้องการ]” หรือทดสอบที่ regexr.com ซึ่งมีคำอธิบายแบบ visual ป็นทดลองไป

Google Sheets ใช้ Regex แบบไหน?

ใช้ RE2 (Google’s regex engine) คล้าย JavaScript/PCRE แต่ไม่รองรับ lookahead (?=) และ lookbehind (?<=) เพื่อความปลอดภัยและการทำงานที่ถูกต้อง

Resources & Related

Additional Notes

ฟังก์ชัน REGEXREPLACE ช่วยให้คุณค้นหาส่วนหนึ่งของข้อความและแทนที่ด้วยข้อความใหม่ โดยใช้รูปแบบ Regular Expression (Regex) ที่มีความยืดหยุ่นสูง เหมาะสำหรับงาน Data Cleaning ที่ซับซ้อน เช่น นำหน้าบัญชี ลบสัญลักษณ์พิเศษ หรือจัดรูปแบบเบอร์โทรศัพท์

ต่างจาก REGEXEXTRACT ที่ดึงข้อมูลเอา REGEXREPLACE จะแทนที่ส่วนที่ตรงกับรูปแบบ และสามารถใช้ backreferences ($1, $2) เพื่ออ้างอิงกลุ่มที่ค้นเจอได้

**💡 Regex Pattern พื้นฐาน:**
• `\d` = ตัวเลข 0-9 (เช่น `\d+` = ตัวเลข 1 ตัวขึ้นไป)
• `.` = อักขระใด ๆ 1 ตัว
• `+` = 1 ครั้งขึ้นไป | `*` = 0 ครั้งขึ้นไป | `?` = 0 หรือ 1 ครั้ง
• `[abc]` = a หรือ b หรือ c | `[a-z]` = a ถึง z
• `()` = กลุ่มที่ต้องการเก็บ (capture group) ใช้อ้างอิงใน replacement
• `^` = ต้นข้อความ | `$` = ท้ายข้อความ
• `\s` = space/tab/newline | `\w` = ตัวอักษร/ตัวเลข/underscore

**🔧 Regex Engine:** Google Sheets ใช้ RE2 (Google’s regex engine) ซึ่งคล้าย JavaScript/PCRE แต่ปลอดภัยกว่า โดยไม่รองรับ lookahead (?=) และ lookbehind (?<=)

**📚 เรียนรู้ Regex:**
• ทดสอบ pattern ที่ https://regexr.com/ (มี visual guide) หรือ https://regex101.com/ (advanced)
• ใช้ AI ช่วยเขียน: “Write a regex to [สิ่งที่ต้องการ]” ใน ChatGPT/Claude/Gemini
• ฝึกทีละรูปแบบ จากง่ายไปยาก ในการใช้งานจริง

ส่วนตัวผม REGEXREPLACE เป็นฟังก์ชันที่ประหยัดเวลาสุด ๆ เวลาต้องจัดรูปแบบข้อมูลจำนวนมากหรือลบสัญลักษณ์พิเศษ ทำให้ Data Cleaning ของผมเร็วกว่าเดิม 10-20 เท่า และเมื่อรวมกับ ARRAYFORMULA ยิ่งชั่วร้ายไปเลย 😎

Leave a Reply

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