ลบตัวอักษรที่ไม่สามารถพิมพ์ได้ (ASCII 0-31) ออกจากข้อความ มีประโยชน์เมื่อคัดลอกข้อมูลจากระบบอื่นที่มีอักขระซ่อนอยู่
=CLEAN(text)
=CLEAN(text)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| text | Text | Yes | ข้อความที่ต้องการล้างข้อมูล ชนิด Text หรือ Cell reference ที่มีข้อความ |
ลบอักขระแปลกปลอมที่มองไม่เห็น ซึ่งทำให้การค้นหาข้อมูล (VLOOKUP) ผิดพลาด
CLEAN(CHAR(9) & "Hello")=CLEAN(CHAR(9) & "Hello")
Hello
CLEAN(A2)=CLEAN(A2)
John Doe
TRIM(CLEAN(A2))=TRIM(CLEAN(A2))
Text สะอาดสั้น
CLEAN("Line1" & CHAR(10) & "Line2")=CLEAN("Line1" & CHAR(10) & "Line2")
Line1Line2
CLEAN ลบอักขระ ASCII 0-31 (Non-printable characters) เช่น Tab (9), Line Feed (10), Carriage Return (13) เป็นต้น แต่ไม่ลบ ASCII 127 และ Unicode non-printing characters อื่น ๆ
ทุกเวอร์ชัน Excel ตั้งแต่ Excel 2003 ขึ้นไป รวม Excel 365, Excel 2021, Excel 2019
CLEAN ลบอักขระที่ไม่สามารถพิมพ์ได้ (ASCII 0-31) ส่วน TRIM ลบช่องว่างส่วนเกิน (spaces) ใช้คู่กันให้ล้างข้อมูลให้เรียบร้อย
ไม่ได้ CLEAN ลบได้แค่ ASCII 0-31 เท่านั้น สำหรับ Unicode characters (127, 129, 141, 143, 144, 157) ต้องใช้วิธีอื่นเช่น SUBSTITUTE หรือ Regular Expression (ถ้าใช้ Power Query)
ลองใช้ TRIM(CLEAN()) ให้ช่องว่างส่วนเกินหายไปด้วย บางครั้งปัญหาอาจมาจากช่องว่างซ่อนมากกว่าอักขระขยะ
ฟังก์ชัน CLEAN ใน Excel ใช้สำหรับลบตัวอักษรที่ไม่สามารถพิมพ์ได้ (Non-printable characters) ออกจากข้อความ โดยลบเฉพาะตัวอักษรในช่วง ASCII 0-31 เท่านั้น ซึ่งมักติดมาจากการคัดลอกข้อมูลจากระบบอื่นหรือเว็บไซต์
ที่เจ๋งคือ CLEAN ทำงานอย่างเงียบ ๆ คุณไม่เห็นเลยว่ามีอักขระขยะอยู่ แต่เมื่อนำข้อมูลไปใช้ต่อ ปัญหาก็จะไม่เกิด เช่น ข้อมูลที่คัดลอกมาจาก Database หรือ API มักมี Tab, Line Break, หรือตัวอักษรควบคุมอื่น ๆ ติดมา
ส่วนตัวผม แนะนำให้ใช้ CLEAN ทุกครั้งที่นำเข้าข้อมูลจากภายนอก แม้ว่าจะดูสะอาดตา แล้ว ลบอักขระขยะออกจะช่วยให้ VLOOKUP หรือ MATCH ทำงานได้อย่างถูกต้อง