RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| text | Text | ข้อความหรือเซลล์ที่ต้องการตัด (ถ้าเป็นตัวเลขจะถูกมองเป็นข้อความ) | |
| [num_chars]ไม่บังคับ | Number | 1 | จำนวนตัวอักษรที่ต้องการดึงจากขวา (ค่าเริ่มต้นคือ 1) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
RIGHT เป็น Excel standard text function ที่ใช้ตัดข้อความจากด้านขวามือตามจำนวนตัวอักษรที่ต้องการ ส่งคืนผลลัพธ์เป็น Text เสมอ
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ไม่ต้องนับตัวอักษรเอง
.
ส่วนตัวผมใช้บ่อยมากตอนต้องดึงนามสกุลไฟล์ แยกรหัสท้ายสินค้า หรือตัดปี พ.ศ. จากวันที่ครับ 😎
ใช้ RIGHT เพื่อตรวจสอบประเภทไฟล์ในรายการว่าเป็น .pdf, .docx หรือ .xlsx เพื่อจัดหมวดหมู่เอกสาร
ดึงตัวเลขรันนิ่งท้ายรหัส (เช่น EMP-00123) เพื่อนำไปคำนวณหรือเรียงลำดับ
ดึงตัวอักษร 4 ตัวสุดท้ายจากข้อความ "report.xlsx" ได้ "xlsx" มาใช้ตรวจสอบประเภทไฟล์
ส่วนตัวผมใช้แบบนี้บ่อยมากตอนต้องกรองเอกสารครับ
ดึง 4 ตัวท้ายจากข้อความวันที่ เพื่อแยกเฉพาะปีออกมาใช้งาน
ที่ต้องระวังคือข้อความนี้ต้องเป็น Text จริงๆ นะครับ ไม่ใช่วันที่แบบ Date format
เมื่อไม่ระบุจำนวนตัวอักษร ฟังก์ชันจะดึงตัวสุดท้ายเพียง 1 ตัว ได้ "A" มา เหมาะสำหรับดึงอักษรท้ายสุดออกมาเช็คครับ
ดึง 4 ตัวท้ายได้ "0056" แล้วใช้เครื่องหมาย — (Double Unary) แปลงให้กลายเป็นตัวเลขจริง ได้ 56 มา
เทคนิคนี้ใช้บ่อยตอนต้องเอารหัสไปคำนวณต่อครับ 💡
ใช้ LEN หาความยาวทั้งหมด ลบด้วยตำแหน่งที่เจอขีด (-) จะได้จำนวนตัวอักษรที่ต้องดึงจากด้านขวา
เรียกได้ว่าเป็นเทคนิคขั้นสูงที่ใช้แยกชื่อ-นามสกุล หรือรหัส-รายละเอียดแบบไดนามิก ส่วนตัวผมใช้วิธีนี้กับ FIND และ LEN บ่อยมากเลยครับ
เป็นข้อความ (Text) เสมอครับ แม้ว่าจะดึงตัวเลขออกมาก็ตาม
หากต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนด้วยฟังก์ชัน VALUE หรือใช้เครื่องหมาย — นำหน้า
นับด้วยครับ ช่องว่าง (Space) ถือเป็น 1 ตัวอักษร
ถ้าต้องการตัดช่องว่างออกก่อน ให้ใช้ TRIM ครอบข้อความต้นฉบับ เช่น =RIGHT(TRIM(A1), 5) จะได้ผลลัพธ์ที่แม่นยำกว่าครับ
เพราะวันที่ใน Excel ถูกเก็บเป็น Serial Number (เช่น 45291) ไม่ใช่ข้อความ "31/12/2024" เมื่อใช้ RIGHT มันจะไปตัดเลข Serial Number แทน
ที่ต้องระวังคือต้องใช้ TEXT แปลงวันที่เป็นข้อความก่อน เช่น =RIGHT(TEXT(A1, "dd/mm/yyyy"), 4) ถึงจะได้ผลถูกต้องครับ 😅
RIGHT จะคืนค่าข้อความทั้งหมด ไม่เกิด Error ครับ ตัวอย่างเช่น =RIGHT("Hello", 100) ก็จะได้ "Hello" กลับมาเต็มๆ ไม่มีปัญหาอะไร
เป็นปัญหา Character Encoding ในบางรุ่น Excel เก่าครับ ลองใช้ RIGHTB (Byte-based) แทน หรือใช้ Power Query ซึ่งมี Unicode support ที่ดีกว่า
RIGHT ตัดจากด้านขวา, LEFT ตัดจากด้านซ้าย, MID ตัดจากตรงกลางครับ สามารถผสมใช้ได้ เช่น =MID(A1, FIND("-", A1)+1, LEN(A1)) เพื่อดึงข้อความหลังเครื่องหมายขีด
ใช้ได้กับค่าเดียวครับ ถ้าต้องใช้กับ Range ต้องลากสูตรลงมา หรือใช้ ARRAYFORMULA ใน Google Sheets แต่ Excel ปกติต้องลากเองนะครับ
ฟังก์ชันที่ผู้เขียนโยงไว้กับ RIGHT จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
CONCAT รวมข้อความจากหลายเซลล์ หรือช่วงข้อมูลเข้าด้วยกัน โดยไม่มีตัวคั่นอัตโนมัติ ต่างจาก CONCATENATE ที่ต้องระบุทีละเซลล์ CONCAT ใช้ได้กับช่วง Range ทำให้การรวมข้อมูลขนาดใหญ่ง่ายกว่า
CONCATENATE เป็นฟังก์ชันแบบเก่าที่ใช้นำข้อความ ตัวเลข หรือค่าจากเซลล์ต่างๆ มาต่อกันให้เป็นข้อความยาวๆ เพียงเส้นเดียว ปัจจุบันสามารถใช้เครื่องหมาย & หรือฟังก์ชัน CONCAT/TEXTJOIN ซึ่งสะดวกกว่าได้
FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น "A" ไม่เหมือนกับ "a") ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง
LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา
LEN คืนค่าเป็นตัวเลขจำนวนเต็ม แสดงความยาวของข้อความในเซลล์ มีประโยชน์มากในการตรวจสอบความถูกต้องของข้อมูล (Data Validation) เช่น เช็ครหัสพนักงาน, เบอร์โทรศัพท์, หรือเลขบัตรประชาชน ว่ามีความยาวครบถ้วนหรือไม่
MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ
REGEXEXTRACT เป็นฟังก์ชันสำหรับดึงข้อความย่อย (Substring) ที่ตรงกับรูปแบบ Regular Expression (Regex) ที่กำหนด เหมาะสำหรับการทำ Data Cleaning ขั้นสูง
REGEXREPLACE ค้นหาและแทนที่ข้อความจากรูปแบบ Regular Expression ใช้สำหรับ Data Cleaning ที่ซับซ้อน เหมาะสำหรับ Excel 365 รองรับ backreferences
REPLACE แทนที่ข้อความจากตำแหน่งที่กำหนด โดยระบุตำแหน่งเริ่มต้น จำนวนตัวอักษรที่ต้องการลบ และข้อความใหม่ที่จะใส่แทน แตกต่างจาก SUBSTITUTE ที่ค้นหาคำที่ตรงตามความพึงพอใจ REPLACE ใช้ตำแหน่งแน่นอน
SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอคืนตัวเลขตำแหน่งที่พบ ถ้าไม่เจอคืน #VALUE! ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์เล็ก-ใหญ่ (A=a) และใช้ wildcard (* กับ ?) ค้นหาแบบมีรูปแบบได้ เอาไปต่อกับ ISNUMBER ก็กลายเป็นสูตรเช็คว่าเซลล์มีคำนี้อยู่หรือไม่ ซึ่งเป็นวิธีที่ใช้กันบ่อยที่สุดในงานจัดหมวดหมู่หรือกรองข้อมูลจากคำสำคัญ
TEXT ใช้รหัสรูปแบบ (Format Codes) เช่น "dd/mm/yyyy" สำหรับวันที่ หรือ "#,##0.00" สำหรับตัวเลขมีทศนิยม ผลลัพธ์ที่ได้จะเป็นข้อความ (Text) เสมอ ไม่สามารถนำไปคำนวณต่อได้
TEXTAFTER ดึงข้อความหลังจากตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า MID+FIND ใช้คู่กับ TEXTBEFORE TEXTSPLIT
TEXTBEFORE ดึงข้อความก่อนหน้าตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า LEFT+FIND ใช้คู่กับ TEXTAFTER TEXTSPLIT
TRIM ลบช่องว่างที่ด้านหน้า ด้านหลัง และลดช่องว่างระหว่างคำให้เหลือเพียงเคาะเดียว เหมาะสำหรับทำความสะอาดข้อมูลที่ Copy จากเว็บหรือระบบอื่น
VALUE แปลงข้อความที่มีลักษณะเป็นตัวเลขให้เป็นตัวเลขจริงที่คำนวณได้ รองรับรูปแบบตัวเลข วันที่ เวลา เปอร์เซ็นต์ และสกุลเงิน
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่