REGEXTEST เป็นฟังก์ชันสำหรับทดสอบว่าข้อความตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูล (Validation) เช่น ที่อยู่อีเมล เบอร์โทรศัพท์ หรือรูปแบบข้อมูลอื่น ๆ
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| text | Text | ข้อความหรือเซลล์ที่ต้องการทดสอบ |
| pattern | Text | รูปแบบ Regular Expression ที่ต้องการตรงกัน (ต้องอยู่ในเครื่องหมายคำพูด) เช่น “\d+” สำหรับตัวเลข, “[a-z]+” สำหรับตัวอักษรเล็ก |
| [case_sensitivity]ไม่บังคับ | Number | 0 = ตรงตามตัวพิมพ์ใหญ่เล็ก (default), 1 = ไม่ระบุตัวพิมพ์ใหญ่เล็ก (case-insensitive) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน REGEXTEST ช่วยให้คุณทดสอบว่าข้อความตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ โดยคืนค่า TRUE (ตรงกัน) หรือ FALSE (ไม่ตรงกัน) ซึ่งเหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูลแทนการใช้ IF + LEFT + FIND ที่ยุ่งและจำกัด ใช้ได้ร่วมกับ IF เพื่อสร้าง Validation Rules ขั้นสูง
**📚 เรียนรู้ Regex:** ศึกษาวิธีเขียน Regex แบบละเอียดได้ที่ [คู่มือ Regex ฉบับสมบูรณ์สำหรับ Excel](https://www.thepexcel.com/regex-excel-guide/) ซึ่งครอบคลุม Pattern พื้นฐาน, Character Classes, Quantifiers, Anchors และเทคนิคขั้นสูง
ส่วนตัวผม REGEXTEST เป็นฟังก์ชันที่ประหยัดเวลาอย่างมหาศาล เวลาต้องตรวจสอบว่ารูปแบบข้อมูลถูกต้องไหม ไม่ต้องเขียน IF ยาว ๆ หรือสร้าง Custom Validation ที่ซับซ้อน เพียง =REGEXTEST(A2, “รูปแบบ”) เสร็จ 😎
รูปแบบ \d+ หมายถึง "หาตัวเลข 1 ตัวขึ้นไป" ในข้อความ "Invoice #12345" มี 12345 จึงคืนค่า TRUE
รูปแบบ .+@.+\..+ หมายถึง "มีอย่างน้อย 1 อักขระ แล้ว @ แล้ว อย่างน้อย 1 อักขระ แล้ว . แล้ว อย่างน้อย 1 อักขระ" ซึ่ง support@thepexcel.com ตรงกัน
รูปแบบตรวจสอบว่าต้นข้อความ (^) จะต้องมี (XXX) แล้ว ช่องว่าง แล้ว XXX-XXXX แล้วจบตรง ($) ข้อมูล (123) 456-7890 ตรงกัน
รูปแบบ [A-Z]{2}[0-9]{3} = 2 ตัวอักษร แล้ว 3 หลักตัวเลข ตัวที่ 3 คือ 1 หมายถึง case-insensitive ดังนั้น bs001, BS001, Bs001 ล้วนคืนค่า TRUE
ทั้งสองฟังก์ชันทำงานเกือบเหมือนกัน ตรวจสอบรูปแบบแล้วคืนค่า TRUE/FALSE ความแตกต่างคือ Google Sheets ใช้ RE2 Engine แต่ Excel ใช้ PCRE2 ซึ่งทรงพลังกว่า (รองรับ lookahead/lookbehind) และ Excel ใช้พารามิเตอร์ case_sensitivity เป็นตัวเลข (0 หรือ 1) ส่วน Google Sheets ใช้ TRUE/FALSE
ใช้ AI ช่วย! บอก ChatGPT, Claude, หรือ Gemini ว่า "Write a regex pattern to [สิ่งที่ต้องการตรวจสอบ]" เช่น "Write a regex pattern to validate US phone number" แล้วคัดลอกรูปแบบมาใช้ หรือทดสอบที่ https://regexr.com/ ซึ่งมี visual guide และคำอธิบายสำหรับแต่ละส่วนของรูปแบบ
Excel ใช้ PCRE2 (Perl-Compatible Regular Expressions 2) ซึ่งเต็มไปด้วยความสามารถ รองรับ lookahead (?=pattern), lookbehind (?
คืนค่า FALSE ไม่ error REGEXTEST ออกแบบมาให้คืนค่า TRUE/FALSE เสมอ ไม่มีกรณี error เหมือน REGEXEXTRACT ที่อาจคืน #N/A
REGEXTEST เป็นฟังก์ชันใหม่ (2024) ใช้ได้เฉพาะ Excel for Microsoft 365 (Windows/Mac) และ Excel for Web เท่านั้น ถ้าใช้ Excel 2021 ขึ้นมา ต้องอัปเดตไปใช้ Microsoft 365
ฟังก์ชันที่ผู้เขียนโยงไว้กับ REGEXTEST จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
EXACT เปรียบเทียบข้อความสองข้อความว่าเหมือนกันทุกประการหรือไม่ โดยสนใจตัวพิมพ์ใหญ่-เล็ก (Case-sensitive) คืนค่า TRUE ถ้าเหมือนกัน FALSE ถ้าต่างกัน
FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น "A" ไม่เหมือนกับ "a") ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง
LEN คืนค่าเป็นตัวเลขจำนวนเต็ม แสดงความยาวของข้อความในเซลล์ มีประโยชน์มากในการตรวจสอบความถูกต้องของข้อมูล (Data Validation) เช่น เช็ครหัสพนักงาน, เบอร์โทรศัพท์, หรือเลขบัตรประชาชน ว่ามีความยาวครบถ้วนหรือไม่
REGEXEXTRACT เป็นฟังก์ชันสำหรับดึงข้อความย่อย (Substring) ที่ตรงกับรูปแบบ Regular Expression (Regex) ที่กำหนด เหมาะสำหรับการทำ Data Cleaning ขั้นสูง
REGEXREPLACE ค้นหาและแทนที่ข้อความจากรูปแบบ Regular Expression ใช้สำหรับ Data Cleaning ที่ซับซ้อน เหมาะสำหรับ Excel 365 รองรับ backreferences
SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอคืนตัวเลขตำแหน่งที่พบ ถ้าไม่เจอคืน #VALUE! ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์เล็ก-ใหญ่ (A=a) และใช้ wildcard (* กับ ?) ค้นหาแบบมีรูปแบบได้ เอาไปต่อกับ ISNUMBER ก็กลายเป็นสูตรเช็คว่าเซลล์มีคำนี้อยู่หรือไม่ ซึ่งเป็นวิธีที่ใช้กันบ่อยที่สุดในงานจัดหมวดหมู่หรือกรองข้อมูลจากคำสำคัญ
IF เป็นฟังก์ชันตรรกะพื้นฐานที่ใช้ตัดสินใจสองทางตามเงื่อนไข ตรวจสอบว่าเงื่อนไขเป็น TRUE หรือ FALSE แล้วคืนค่าที่แตกต่างกันไปตามผลลัพธ์ สามารถใช้ได้กับการเปรียบเทียบตัวเลข ข้อความ หรือวันที่ และเป็นพื้นฐานสำคัญของการสร้างสูตรแบบมีเงื่อนไข
IFERROR ช่วยดักจับ Error ทุกประเภทที่เกิดขึ้นในสูตร (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!) แล้วเปลี่ยนเป็นค่าที่เราต้องการแทน
.
ที่เจ๋งคือมันช่วยให้รายงานและ Dashboard ดูสะอาด ไม่มี Error แสดงให้ผู้ใช้งานเห็น โดยถ้าสูตรไม่มี Error ก็จะ return ผลลัพธ์ปกติ
.
ส่วนตัวผมคิดว่าฟังก์ชันนี้เป็น "ตัวช่วยมหาเทพ" สำหรับคนทำรายงานเลยครับ 😎
ISNUMBER ตรวจสอบค่าที่ระบุว่าเป็นประเภทตัวเลขหรือไม่ (รวมถึงวันที่และเวลาซึ่ง Excel เก็บเป็นตัวเลข) แต่จะไม่นับตัวเลขที่ถูกจัดเก็บเป็นข้อความ (Numbers stored as text) ผลลัพธ์ที่ได้คือ TRUE หรือ FALSE
ISTEXT ตรวจสอบว่าค่าในเซลล์เป็นข้อความจริงหรือไม่ จุดเด่นของมันคือมันแยกความแตกต่างระหว่าง '123' (ข้อความ) กับ 123 (ตัวเลข) ซึ่งช่วยเมื่อต้องการตรวจสอบรูปแบบข้อมูลก่อนคำนวณ
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่