แยกตัวเลขออกจากข้อความใน GoogleSheet
1 ข้อความ123
2 อีกตัวอย่าง456
3 ข้อความสุดท้าย789
สูตรนี้ทำงานอย่างไร:
REGEXREPLACE(A1:A3, "[^\d]", "")
จะค้นหาและแทนที่ข้อความใดๆ ที่ไม่ใช่ตัวเลข (อักขระที่ไม่ใช่ \d) ในช่วง A1:A3 ด้วยข้อความว่าง (คือลบข้อความเหล่านั้นออกไป เหลือแต่ตัวเลข)
ในบริบทของการใช้งาน REGEX
(Regular Expression) หรือ การแสดงออกทางประจำที่ใช้สำหรับการค้นหาและแทนที่ข้อความในรูปแบบที่กำหนด, เครื่องหมาย []
เรียกว่า "ช่วงตัวอักษร" (Character Class) หรือ "ชุดตัวอักษร".
ช่วงตัวอักษรใช้สำหรับระบุเซ็ตของตัวอักษรที่เราต้องการค้นหา ซึ่งสามารถเลือกตัวอักษรใดๆ ภายในช่วงที่กำหนดไว้. เช่น:
[abc]
หมายถึงตัวอักษร a, b, หรือ c[a-z]
หมายถึงตัวอักษรใดๆ ตั้งแต่ a ถึง z[0-9]
หมายถึงตัวเลขใดๆ ตั้งแต่ 0 ถึง 9
การใช้ช่วงตัวอักษรเป็นวิธีที่มีประสิทธิภาพในการระบุเงื่อนไขค้นหาที่ซับซ้อนในการแสดงออกทางประจำ.
ในการใช้งาน REGEXREPLACE
, รูปแบบ [^\d]
มีความหมายดังนี้:
\d
หมายถึงตัวเลขทุกตัว (0-9)^
ในตำแหน่งนี้เมื่ออยู่ข้างใน[]
หมายถึงการ "ไม่" หรือ "ยกเว้น" สิ่งที่อยู่ต่อจากมัน[^\d]
จึงหมายถึงอักขระใดๆ ที่ไม่ใช่ตัวเลข (0-9)
ดังนั้น, เมื่อใช้ [^\d]
ในฟังก์ชั่น REGEXREPLACE
ใน Google Sheets, มันจะค้นหาและแทนที่อักขระทุกอย่างที่ไม่ใช่ตัวเลขด้วยข้อความว่างหรืออีกนัยหนึ่งคือลบมันออกไป ทำให้เหลือเพียงตัวเลขในข้อความนั้นๆ.
ARRAYFORMULA(...)
ทำให้สูตรREGEXREPLACE
สามารถประมวลผลกับหลายเซลล์ในช่วงที่กำหนด (A1:A3) ได้ทีเดียวIFERROR(...)
ใช้สำหรับกรณีที่สูตรทำงานไม่ได้หรือเกิดข้อผิดพลาด เช่น ถ้าไม่มีตัวเลขอยู่ในข้อความ ฟังก์ชั่นนี้จะทำให้เซลล์ที่แสดงผลไม่มีค่าแสดงออกมา (เป็นว่าง)
EmoticonEmoticon