REGEXREPLACE เป็นฟังก์ชันสำหรับค้นหาและแทนที่ข้อความด้วยรูปแบบ Regular Expression เหมาะสำหรับการจัดรูปแบบข้อมูลและ Data Cleaning ขั้นสูง
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| text | Text | ข้อความหรือเซลล์ที่ต้องการค้นหาและแทนที่ |
| regular_expression | Text | รูปแบบ Regex ที่ต้องการค้นหา (ต้องอยู่ในเครื่องหมายคำพูด) เช่น “\d+” สำหรับตัวเลข |
| replacement | Text | ข้อความที่ต้องการแทนที่ สามารถใช้ $0 (ทั้งหมด), $1, $2 (capture group) หรือ “” (ลบ) |
ฟังก์ชัน 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 ยิ่งชั่วร้ายไปเลย 😎
ค้นหาเครื่องหมาย – และแทนที่ด้วยข้อความว่าง ("") เพื่อลบออก
ใช้ capture groups () เพื่อแบ่งตัวเลขออกเป็น 3 ส่วน แล้วใช้ $1, $2, $3 เพื่อนำกลับมาพร้อมเครื่องหมาย
ค้นหาตัวอักษรซ้ำ (.) ตามด้วยตัวเดิม \1 แล้วแทนที่ด้วยตัวเดิวตัวเดียว
จัดเรียงปี-เดือน-วัน เป็น วัน/เดือน/ปี โดยใช้ capture groups
Excel 365 เพิ่งมีฟังก์ชัน REGEXREPLACE ให้ใช้แล้ว (Public Preview ปี 2024) ทำงานเกือบเหมือน Google Sheets แต่ถ้าใช้ Excel รุ่นเก่ากว่า ต้องใช้ VBA หรือ Python in Excel ในการแทนที่
SUBSTITUTE ค้นหาข้อความตรง ๆ ส่วน REGEXREPLACE ใช้รูปแบบ (regex) ที่ยืดหยุ่นกว่า เช่น ค้นหาตัวเลขทั้งหมด ไม่ว่าจะเป็นตัวไหน
ใช้ AI ช่วย! บอก ChatGPT/Claude/Gemini ว่า "Write a regex to [สิ่งที่ต้องการ]" หรือทดสอบที่ regexr.com ซึ่งมีคำอธิบายแบบ visual ป็นทดลองไป
ใช้ RE2 (Google's regex engine) คล้าย JavaScript/PCRE แต่ไม่รองรับ lookahead (?=) และ lookbehind (?
ฟังก์ชันที่ผู้เขียนโยงไว้กับ REGEXREPLACE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
REGEXEXTRACT เป็นฟังก์ชันสำหรับดึงข้อความย่อย (Substring) ที่ตรงกับรูปแบบ Regular Expression ที่กำหนด เหมาะสำหรับการทำ Data Cleaning ขั้นสูงที่ฟังก์ชันจัดการข้อความปกติทำไม่ได้
REGEXMATCH เป็นฟังก์ชันสำหรับตรวจสอบว่าข้อความตรงกับรูปแบบ Regular Expression หรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับ Data Validation และ Filtering ขั้นสูง
ฟังก์ชัน SPLIT ใช้สำหรับแยกข้อความในเซลล์หนึ่งออกเป็นหลายๆ เซลล์ตามตัวคั่น (Delimiter) ที่กำหนด เหมาะสำหรับการจัดการข้อมูลที่ถูกรวมมาในเซลล์เดียว เช่น ชื่อ-นามสกุล ที่ต้องการแยกเป็นคนละคอลัมน์
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่