LEN คืนค่าเป็นตัวเลขจำนวนเต็ม แสดงความยาวของข้อความในเซลล์ มีประโยชน์มากในการตรวจสอบความถูกต้องของข้อมูล (Data Validation) เช่น เช็ครหัสพนักงาน, เบอร์โทรศัพท์, หรือเลขบัตรประชาชน ว่ามีความยาวครบถ้วนหรือไม่
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| text | Text | ข้อความหรือเซลล์ที่ต้องการนับจำนวนตัวอักษร |
LEN (ย่อมาจาก Length) ใช้สำหรับนับความยาวของข้อความว่ามีทั้งหมดกี่ตัวอักษร โดยจะนับรวมทุกอย่างทั้งตัวอักษร, ตัวเลข, สระ, วรรณยุกต์, ช่องว่าง (Space), และอักขระพิเศษต่างๆ
.
ที่เจ๋งคือมันใช้ง่ายมากแต่ทรงพลังมหาศาล โดยเฉพาะเวลาต้องตรวจสอบความถูกต้องของข้อมูล เช่น เช็ครหัสพนักงาน เบอร์โทรศัพท์ หรือเลขบัตรประชาชนว่ามีความยาวครบถ้วนหรือไม่
.
ส่วนตัวผมใช้บ่อยมากเลยครับ โดยเฉพาะเวลาทำ Data Validation ก่อนนำเข้าข้อมูลเข้าระบบ 😎
ใช้ LEN ตรวจสอบว่าเลขบัตรประชาชนที่กรอกเข้ามาครบ 13 หลักหรือไม่ เพื่อป้องกัน Human Error ในการกรอกข้อมูล
ใช้ LEN ร่วมกับ SEARCH หรือ FIND เพื่อหาตำแหน่งและตัดข้อความส่วนที่เหลือ (เช่น ตัดเอาเฉพาะชื่อ ไม่เอานามสกุล)
คำว่า "Excel" มี 5 ตัวอักษร ง่ายๆ แบบนี้เลยครับ
นับรวมช่องว่างระหว่างคำด้วย (T,h,a,i, ,E,x,c,e,l = 10 ตัว)
ที่ต้องระวังคือ LEN จะนับช่องว่างด้วยนะครับ ถ้าไม่ต้องการนับ ให้ใช้ TRIM() ตัดช่องว่างออกก่อน 💡
เช็คว่าเบอร์โทรศัพท์ในเซลล์ A2 มีครบ 10 หลักหรือไม่ ถ้าไม่ใช่ 10 แสดงว่าอาจกรอกผิด
ส่วนตัวผมใช้เทคนิคนี้ทุกครั้งก่อนนำเข้าข้อมูลลูกค้าเข้าระบบเลยครับ 😎
เทคนิคการนับคำ: หาความยาวทั้งหมด ลบด้วยความยาวเมื่อตัดช่องว่างออก จะได้จำนวนช่องว่าง แล้วบวก 1 จะได้จำนวนคำ (ใช้ได้กับภาษาอังกฤษหรือภาษาที่วรรคคำด้วย Space)
หาความยาวปกติ ลบด้วยความยาวหลังจากลบตัว 'a' ออก ผลต่างคือจำนวนตัว 'a' ที่มีอยู่ในข้อความ
เอาจริงๆ เทคนิคนี้เจ๋งมากเวลาต้องนับอักขระเฉพาะตัวครับ 💡
นับเป็น 1 ตัวอักษร เช่น "น้ำ" (น+ ำ+ ้) จะได้ความยาว 3 ตัว (ถ้าพิมพ์แบบแยกส่วน) หรือ 3 ตัวปกติ LEN นับตาม Character ที่ปรากฏ
มักเกิดจากมีช่องว่าง (Space) หรืออักขระที่มองไม่เห็น (Non-printing characters) ซ่อนอยู่
แนะนำให้ใช้ TRIM() หรือ CLEAN() เพื่อล้างค่าเหล่านี้ออกก่อนนะครับ ส่วนตัวผมเจอปัญหานี้บ่อยเวลาดึงข้อมูลจาก CSV 😅
นับครับ การขึ้นบรรทัดใหม่ถือเป็น 1 ตัวอักษร (Line Feed – CHAR(10))
ได้ครับ Excel จะแปลงตัวเลขเป็นข้อความและนับ เช่น =LEN(12345) ได้ 5 ตัว แต่ถ้าเป็น Formula ที่คืนค่าตัวเลข เช่น =LEN(SUM(A1:A10)) Excel จะแปลงผลลัพธ์เป็นข้อความก่อน
เพราะ LEN นับทุกตัวรวมช่องว่าง เช่น "Hello World" ได้ 11 ตัว (รวม Space) ถ้าต้องไม่นับช่องว่าง ใช้ =LEN(SUBSTITUTE(A1, " ", ""))
LEN นับ Character แต่ LENB นับ Byte (สำหรับข้อมูล DBCS เช่นไทย จีน) เช่น "ไทย" ใน LEN ได้ 4 แต่ LENB ได้ 8 Bytes
เอาจริงๆ นะครับ ถ้าทำงานกับฐานข้อมูลระบบเก่าที่จำกัด Byte ควรใช้ LENB แทน 💡
LEN นับจำนวนตัวอักษรในเซลล์ COUNTA นับจำนวนเซลล์ที่ไม่ว่าง ตัวอย่าง COUNTA(A1:A10)=5 คือมี 5 เซลล์ที่ไม่ว่าง แต่ LEN สำหรับ Range จะต้องลากสูตรลงมา
ฟังก์ชันที่ผู้เขียนโยงไว้กับ LEN จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ส่งกลับรหัส ASCII (ANSI code) ของตัวอักษรตัวแรกในข้อความ ตรงข้ามกับฟังก์ชัน CHAR
FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น "A" ไม่เหมือนกับ "a") ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง
LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา
MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ
REGEXTEST เป็นฟังก์ชันสำหรับทดสอบว่าข้อความตรงกับรูปแบบ Regular Expression ที่กำหนดหรือไม่ คืนค่า TRUE หรือ FALSE เหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูล (Validation) เช่น ที่อยู่อีเมล เบอร์โทรศัพท์ หรือรูปแบบข้อมูลอื่น ๆ
REPT ทำซ้ำข้อความตามจำนวนครั้งที่ระบุ เหมาะสำหรับสร้าง In-cell Bar Chart แสดง Rating ด้วยดาว เติม Padding ให้ข้อความ หรือสร้างเส้นแบ่ง ถ้า number_times เป็นทศนิยมจะถูกตัดเหลือจำนวนเต็ม
RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ
SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอคืนตัวเลขตำแหน่งที่พบ ถ้าไม่เจอคืน #VALUE! ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์เล็ก-ใหญ่ (A=a) และใช้ wildcard (* กับ ?) ค้นหาแบบมีรูปแบบได้ เอาไปต่อกับ ISNUMBER ก็กลายเป็นสูตรเช็คว่าเซลล์มีคำนี้อยู่หรือไม่ ซึ่งเป็นวิธีที่ใช้กันบ่อยที่สุดในงานจัดหมวดหมู่หรือกรองข้อมูลจากคำสำคัญ
SUBSTITUTE ค้นหาคำเก่า (old_text) ในข้อความแล้วแทนที่ด้วยคำใหม่ (new_text) โดยแยกแยะตัวพิมพ์เล็ก-ใหญ่ (case-sensitive) และเลือกได้ว่าจะแทนที่ทุกจุดที่เจอ หรือเฉพาะลำดับที่ระบุผ่าน instance_num งานที่ใช้บ่อยคือลบตัวคั่นออกจากตัวเลขที่ถูกเก็บเป็นข้อความ เปลี่ยนโดเมนอีเมลหลังรีแบรนด์ หรือล้างอักขระที่พิมพ์มาผิดรูปแบบก่อนนำไปคำนวณต่อ
TRIM ลบช่องว่างที่ด้านหน้า ด้านหลัง และลดช่องว่างระหว่างคำให้เหลือเพียงเคาะเดียว เหมาะสำหรับทำความสะอาดข้อมูลที่ Copy จากเว็บหรือระบบอื่น
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่