Thep Excel

REGEXMATCHตรวจสอบข้อความด้วย Regular Expression

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

fx
=REGEXMATCH(text, regular_expression)

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

อัปเดต 23 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
text Text ข้อความหรือเซลล์ที่ต้องการตรวจสอบ (ต้องเป็น text หากเป็นตัวเลขให้ใช้ TEXT() ห่อก่อน)
regular_expression Text รูปแบบ Regex ที่ต้องการค้นหา (ต้องอยู่ในเครื่องหมายคำพูด)

Additional Notes

ฟังก์ชัน REGEXMATCH ช่วยให้คุณตรวจสอบว่าข้อความในเซลล์ตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ ต่างจาก REGEXEXTRACT (ดึงข้อความ) ตรงที่ REGEXMATCH คืนค่าเพียง TRUE หรือ FALSE ทำให้เหมาะสำหรับใช้ใน IF, FILTER และ Data Validation

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

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

**📚 เรียนรู้ Regex:**
• ทดสอบ & มองเห็น Pattern ที่ https://regexr.com/ (แนะนำสำหรับผู้เริ่มต้น)
• Tester ขั้นสูง https://regex101.com/ (เลือก RE2 flavor)
• ใช้ AI ช่วยเขียน: “Write a regex to [สิ่งที่ต้องการ]”
• ฝึกทีละรูปแบบ จากง่ายไปยาก

ส่วนตัวผม REGEXMATCH เป็นตัวช่วยที่ประหยัดเวลาเยอะเวลาต้องเช็ค Data Validation หรือ Filtering ที่ซับซ้อน ใช้ร่วมกับ FILTER ได้เลย ทำให้ Dashboard dynamic ขึ้นมา 😎

Examples

ตัวอย่างที่ 1: ตรวจสอบเบอร์โทรศัพท์REGEXMATCH("081-234-5678", "^\d{3}-\d{3}-\d{4}$")

^\d{3}-\d{3}-\d{4}$ = ตรวจสอบเบอร์โทรที่มี format XXX-XXX-XXXX ตั้งแต่ต้นถึงท้าย

fx
=REGEXMATCH("081-234-5678", "^\d{3}-\d{3}-\d{4}$")

ผลลัพธ์TRUE
ตัวอย่างที่ 2: ตรวจสอบรูปแบบอีเมลREGEXMATCH("user@example.com", "^[\w.-]+@[\w.-]+\.com$")

[\w.-]+ = อักขระ ตัวเลข จุด หรือ dash ซ้ำ ๆ ตามด้วย @ และ โดเมน

fx
=REGEXMATCH("user@example.com", "^[\w.-]+@[\w.-]+\.com$")

ผลลัพธ์TRUE
ตัวอย่างที่ 3: ตรวจสอบว่ามีตัวเลขในข้อความหรือไม่REGEXMATCH("Order #12345", "\d+")

\d+ = ตัวเลข 1 ตัวขึ้นไป (ไม่จำเป็นต้องเป็นทั้งข้อความ แค่มีตัวเลขก็พอ)

fx
=REGEXMATCH("Order #12345", "\d+")

ผลลัพธ์TRUE
ตัวอย่างที่ 4: ตรวจสอบตัวพิมพ์เล็ก/ใหญ่ (Case Insensitive)REGEXMATCH("Google Sheets", "(?i)google")

(?i) = ตัวเลือกสำหรับตรวจสอบแบบไม่สนใจ upper/lower case

fx
=REGEXMATCH("Google Sheets", "(?i)google")

ผลลัพธ์TRUE

FAQs

REGEXMATCH ต่างจาก REGEXEXTRACT อย่างไร?+

REGEXMATCH คืนค่า TRUE/FALSE (ใช้ใน IF, FILTER, Data Validation) แต่ REGEXEXTRACT ดึงข้อความจริง ๆ ออกมา เลือกใช้ตามว่าต้องการตรวจสอบหรือดึงข้อมูล

REGEXMATCH ใน Excel มีไหม?+

Excel 365 เพิ่งมี REGEXMATCH ให้ใช้แล้ว (Public Preview ปี 2024) ทำงานคล้าย ๆ Google Sheets แต่ถ้าใช้ Excel รุ่นเก่ากว่า (รวม Excel 2021) ต้องใช้ VBA หรือสูตร workaround

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

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

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

ใช้ RE2 (Google's regex engine) คล้าย JavaScript/PCRE แต่ไม่รองรับ lookahead (?=) และ lookbehind (?

ต้องแปลงตัวเลขเป็น text ไหม?+

ใช่ ถ้าเซลล์มีตัวเลขจริง ๆ ต้องใช้ TEXT() ห่อ เช่น =REGEXMATCH(TEXT(A1,"0"), "\d+")

Resources & Related

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

ฟังก์ชันนี้REGEXMATCHText
Text (2)
REGEXEXTRACT

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

REGEXREPLACE

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

Filter (1)
FILTER

FILTER กรองข้อมูลจาก Range แล้วแสดงเฉพาะแถว/คอลัมน์ที่ตรงเงื่อนไข รองรับหลายเงื่อนไข (AND/OR) และอัปเดตผลลัพธ์แบบ Real-time เมื่อข้อมูลต้นทางเปลี่ยน ทำให้เหมาะกับการสร้างรายงานไดนามิก

Google (1)
QUERY

QUERY ใช้ภาษา SQL-like (Google Visualization API Query Language) ในการจัดการข้อมูลจาก Range ที่กำหนด รองรับ 9 clauses ตามลำดับ: SELECT, WHERE, GROUP BY, PIVOT, ORDER BY, LIMIT, OFFSET, LABEL, FORMAT พร้อม Aggregate Functions (SUM, COUNT, AVG, MIN, MAX) และ Scalar Functions สำหรับวันที่และข้อความ ทำให้สามารถกรอง จัดเรียง และสรุปข้อมูลได้แบบ Dynamic ด้วยสูตรเดียว เหมาะสำหรับการสร้างรายงานและ Dashboard ที่ซับซ้อน

Comments

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