Thep Excel

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

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

fx
=REGEXREPLACE(text, regular_expression, replacement)

ความนิยม6/10
ความยาก6/10
ประโยชน์6/10

อัปเดต 23 December 2025

Syntax & Arguments

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

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 ยิ่งชั่วร้ายไปเลย 😎

Examples

ตัวอย่างที่ 1: ลบสัญลักษณ์พิเศษจากเบอร์โทรREGEXREPLACE("0-2345-6789", "-", "")

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

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

ผลลัพธ์0234567890
ตัวอย่างที่ 2: จัดรูปแบบเบอร์โทรศัพท์REGEXREPLACE("0234567890", "(\d{3})(\d{3})(\d{4})", "$1-$2-$3")

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

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

ผลลัพธ์023-456-7890
ตัวอย่างที่ 3: ลบตัวอักษรซ้ำออกREGEXREPLACE("aabbccdd", "(.)\1", "$1")

ค้นหาตัวอักษรซ้ำ (.) ตามด้วยตัวเดิม \1 แล้วแทนที่ด้วยตัวเดิวตัวเดียว

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

ผลลัพธ์abcd
ตัวอย่างที่ 4: เปลี่ยนรูปแบบวันที่REGEXREPLACE("2025-12-23", "(\d{4})-(\d{2})-(\d{2})", "$3/$2/$1")

จัดเรียงปี-เดือน-วัน เป็น วัน/เดือน/ปี โดยใช้ capture groups

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

ผลลัพธ์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

ฟังก์ชันที่ผู้เขียนโยงไว้กับ REGEXREPLACE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้REGEXREPLACEText
Text (3)
REGEXEXTRACT

REGEXEXTRACT เป็นฟังก์ชันสำหรับดึงข้อความย่อย (Substring) ที่ตรงกับรูปแบบ Regular Expression ที่กำหนด เหมาะสำหรับการทำ Data Cleaning ขั้นสูงที่ฟังก์ชันจัดการข้อความปกติทำไม่ได้

REGEXMATCH

REGEXMATCH เป็นฟังก์ชันสำหรับตรวจสอบว่าข้อความตรงกับรูปแบบ Regular Expression หรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับ Data Validation และ Filtering ขั้นสูง

SPLIT

ฟังก์ชัน SPLIT ใช้สำหรับแยกข้อความในเซลล์หนึ่งออกเป็นหลายๆ เซลล์ตามตัวคั่น (Delimiter) ที่กำหนด เหมาะสำหรับการจัดการข้อมูลที่ถูกรวมมาในเซลล์เดียว เช่น ชื่อ-นามสกุล ที่ต้องการแยกเป็นคนละคอลัมน์

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่