Thep Excel

RIGHTตัดข้อความจากด้านขวา

RIGHT จะคืนค่าเป็นข้อความ (Text) ที่ถูกตัดมาจากด้านขวาสุดของข้อความต้นฉบับตามจำนวนที่ระบุ ถ้าไม่ระบุจำนวน ฟังก์ชันจะดึงมาเพียง 1 ตัวอักษร
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ผลลัพธ์ที่ได้จะเป็น Text เสมอ ถ้าต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนครับ

fx
=RIGHT(text, [num_chars])

ความนิยม8/10
ความยาก2/10
ประโยชน์9/10

อัปเดต 19 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
text Text ข้อความหรือเซลล์ที่ต้องการตัด (ถ้าเป็นตัวเลขจะถูกมองเป็นข้อความ)
[num_chars]ไม่บังคับ Number 1 จำนวนตัวอักษรที่ต้องการดึงจากขวา (ค่าเริ่มต้นคือ 1)

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

RIGHT เป็น Excel standard text function ที่ใช้ตัดข้อความจากด้านขวามือตามจำนวนตัวอักษรที่ต้องการ ส่งคืนผลลัพธ์เป็น Text เสมอ
.
ที่เจ๋งคือสามารถใช้ร่วมกับ LEN หรือ FIND เพื่อตัดข้อความแบบไดนามิกได้ ไม่ต้องนับตัวอักษรเอง
.
ส่วนตัวผมใช้บ่อยมากตอนต้องดึงนามสกุลไฟล์ แยกรหัสท้ายสินค้า หรือตัดปี พ.ศ. จากวันที่ครับ 😎

How it works

การแยกนามสกุลไฟล์

ใช้ RIGHT เพื่อตรวจสอบประเภทไฟล์ในรายการว่าเป็น .pdf, .docx หรือ .xlsx เพื่อจัดหมวดหมู่เอกสาร

การดึงรหัสพนักงาน/สินค้า

ดึงตัวเลขรันนิ่งท้ายรหัส (เช่น EMP-00123) เพื่อนำไปคำนวณหรือเรียงลำดับ

Examples

ดึงนามสกุลไฟล์RIGHT("report.xlsx", 4)

ดึงตัวอักษร 4 ตัวสุดท้ายจากข้อความ "report.xlsx" ได้ "xlsx" มาใช้ตรวจสอบประเภทไฟล์

ส่วนตัวผมใช้แบบนี้บ่อยมากตอนต้องกรองเอกสารครับ

fx
=RIGHT("report.xlsx", 4)

ผลลัพธ์xlsx
ดึงปีจากวันที่ (แบบ Text)RIGHT("31/12/2024", 4)

ดึง 4 ตัวท้ายจากข้อความวันที่ เพื่อแยกเฉพาะปีออกมาใช้งาน

ที่ต้องระวังคือข้อความนี้ต้องเป็น Text จริงๆ นะครับ ไม่ใช่วันที่แบบ Date format

fx
=RIGHT("31/12/2024", 4)

ผลลัพธ์2024
ดึงตัวสุดท้าย (Default)RIGHT("Grade A")

เมื่อไม่ระบุจำนวนตัวอักษร ฟังก์ชันจะดึงตัวสุดท้ายเพียง 1 ตัว ได้ "A" มา เหมาะสำหรับดึงอักษรท้ายสุดออกมาเช็คครับ

fx
=RIGHT("Grade A")

ผลลัพธ์A
ดึงตัวเลขและแปลงค่า (Numeric Conversion)–RIGHT("ID-0056", 4)

ดึง 4 ตัวท้ายได้ "0056" แล้วใช้เครื่องหมาย — (Double Unary) แปลงให้กลายเป็นตัวเลขจริง ได้ 56 มา

เทคนิคนี้ใช้บ่อยตอนต้องเอารหัสไปคำนวณต่อครับ 💡

fx
=–RIGHT("ID-0056", 4)

ผลลัพธ์56
ดึงข้อความหลังเครื่องหมายขีด (Dynamic)RIGHT(A2, LEN(A2)-FIND("-", A2))

ใช้ LEN หาความยาวทั้งหมด ลบด้วยตำแหน่งที่เจอขีด (-) จะได้จำนวนตัวอักษรที่ต้องดึงจากด้านขวา

เรียกได้ว่าเป็นเทคนิคขั้นสูงที่ใช้แยกชื่อ-นามสกุล หรือรหัส-รายละเอียดแบบไดนามิก ส่วนตัวผมใช้วิธีนี้กับ FIND และ LEN บ่อยมากเลยครับ

fx
=RIGHT(A2, LEN(A2)-FIND("-", A2))

ผลลัพธ์ข้อความหลัง – ทั้งหมด

FAQs

ผลลัพธ์จาก RIGHT เป็นตัวเลขหรือข้อความ?+

เป็นข้อความ (Text) เสมอครับ แม้ว่าจะดึงตัวเลขออกมาก็ตาม

หากต้องการนำไปคำนวณต่อ ต้องแปลงเป็นตัวเลขก่อนด้วยฟังก์ชัน VALUE หรือใช้เครื่องหมาย — นำหน้า

ถ้ามีช่องว่างท้ายข้อความ RIGHT จะนับไหม?+

นับด้วยครับ ช่องว่าง (Space) ถือเป็น 1 ตัวอักษร

ถ้าต้องการตัดช่องว่างออกก่อน ให้ใช้ TRIM ครอบข้อความต้นฉบับ เช่น =RIGHT(TRIM(A1), 5) จะได้ผลลัพธ์ที่แม่นยำกว่าครับ

ทำไมใช้กับวันที่ใน Excel แล้วได้เลขแปลกๆ?+

เพราะวันที่ใน Excel ถูกเก็บเป็น Serial Number (เช่น 45291) ไม่ใช่ข้อความ "31/12/2024" เมื่อใช้ RIGHT มันจะไปตัดเลข Serial Number แทน

ที่ต้องระวังคือต้องใช้ TEXT แปลงวันที่เป็นข้อความก่อน เช่น =RIGHT(TEXT(A1, "dd/mm/yyyy"), 4) ถึงจะได้ผลถูกต้องครับ 😅

ถ้าระบุ num_chars มากกว่าความยาวข้อความล่ะ?+

RIGHT จะคืนค่าข้อความทั้งหมด ไม่เกิด Error ครับ ตัวอย่างเช่น =RIGHT("Hello", 100) ก็จะได้ "Hello" กลับมาเต็มๆ ไม่มีปัญหาอะไร

ทำไม RIGHT ไม่นับตัวอักษรไทยอย่างถูกต้อง?+

เป็นปัญหา Character Encoding ในบางรุ่น Excel เก่าครับ ลองใช้ RIGHTB (Byte-based) แทน หรือใช้ Power Query ซึ่งมี Unicode support ที่ดีกว่า

ความต่างระหว่าง RIGHT กับ LEFT และ MID?+

RIGHT ตัดจากด้านขวา, LEFT ตัดจากด้านซ้าย, MID ตัดจากตรงกลางครับ สามารถผสมใช้ได้ เช่น =MID(A1, FIND("-", A1)+1, LEN(A1)) เพื่อดึงข้อความหลังเครื่องหมายขีด

RIGHT ใช้ได้กับ Array หรือ Range ไหม?+

ใช้ได้กับค่าเดียวครับ ถ้าต้องใช้กับ Range ต้องลากสูตรลงมา หรือใช้ ARRAYFORMULA ใน Google Sheets แต่ Excel ปกติต้องลากเองนะครับ

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ RIGHT จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้RIGHTText
Text (15)
CONCAT

CONCAT รวมข้อความจากหลายเซลล์ หรือช่วงข้อมูลเข้าด้วยกัน โดยไม่มีตัวคั่นอัตโนมัติ ต่างจาก CONCATENATE ที่ต้องระบุทีละเซลล์ CONCAT ใช้ได้กับช่วง Range ทำให้การรวมข้อมูลขนาดใหญ่ง่ายกว่า

CONCATENATE

CONCATENATE เป็นฟังก์ชันแบบเก่าที่ใช้นำข้อความ ตัวเลข หรือค่าจากเซลล์ต่างๆ มาต่อกันให้เป็นข้อความยาวๆ เพียงเส้นเดียว ปัจจุบันสามารถใช้เครื่องหมาย & หรือฟังก์ชัน CONCAT/TEXTJOIN ซึ่งสะดวกกว่าได้

FIND

FIND ค้นหาตำแหน่งเริ่มต้นของคำที่ต้องการภายในข้อความหลัก โดยสนใจตัวพิมพ์เล็ก-ใหญ่ (เช่น "A" ไม่เหมือนกับ "a") ถ้าค้นหาไม่เจอจะคืนค่า Error #VALUE! มักใช้ร่วมกับ MID, LEFT, RIGHT เพื่อตัดคำตามตำแหน่ง

LEFT

LEFT ดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่ต้องการ ถ้าไม่ระบุจำนวนจะดึงมา 1 ตัว ผลลัพธ์เป็น Text เสมอแม้ดึงตัวเลขออกมา

LEN

LEN คืนค่าเป็นตัวเลขจำนวนเต็ม แสดงความยาวของข้อความในเซลล์ มีประโยชน์มากในการตรวจสอบความถูกต้องของข้อมูล (Data Validation) เช่น เช็ครหัสพนักงาน, เบอร์โทรศัพท์, หรือเลขบัตรประชาชน ว่ามีความยาวครบถ้วนหรือไม่

MID

MID ตัดข้อความออกจากตำแหน่งเริ่มต้นที่คุณกำหนด โดยระบุความยาวของข้อความที่ต้องการ สะดวกมากสำหรับดึงข้อมูลบางส่วนจากข้อความที่ยาว เช่น รหัสสินค้า, รหัสพนักงาน, หรือวันที่ที่ฝังตัวในข้อความ

REGEXEXTRACT

REGEXEXTRACT เป็นฟังก์ชันสำหรับดึงข้อความย่อย (Substring) ที่ตรงกับรูปแบบ Regular Expression (Regex) ที่กำหนด เหมาะสำหรับการทำ Data Cleaning ขั้นสูง

REGEXREPLACE

REGEXREPLACE ค้นหาและแทนที่ข้อความจากรูปแบบ Regular Expression ใช้สำหรับ Data Cleaning ที่ซับซ้อน เหมาะสำหรับ Excel 365 รองรับ backreferences

REPLACE

REPLACE แทนที่ข้อความจากตำแหน่งที่กำหนด โดยระบุตำแหน่งเริ่มต้น จำนวนตัวอักษรที่ต้องการลบ และข้อความใหม่ที่จะใส่แทน แตกต่างจาก SUBSTITUTE ที่ค้นหาคำที่ตรงตามความพึงพอใจ REPLACE ใช้ตำแหน่งแน่นอน

SEARCH

SEARCH ค้นหาตำแหน่งของคำที่ต้องการในข้อความหลัก ถ้าเจอคืนตัวเลขตำแหน่งที่พบ ถ้าไม่เจอคืน #VALUE! ต่างจาก FIND ตรงที่ไม่แยกแยะตัวพิมพ์เล็ก-ใหญ่ (A=a) และใช้ wildcard (* กับ ?) ค้นหาแบบมีรูปแบบได้ เอาไปต่อกับ ISNUMBER ก็กลายเป็นสูตรเช็คว่าเซลล์มีคำนี้อยู่หรือไม่ ซึ่งเป็นวิธีที่ใช้กันบ่อยที่สุดในงานจัดหมวดหมู่หรือกรองข้อมูลจากคำสำคัญ

TEXT

TEXT ใช้รหัสรูปแบบ (Format Codes) เช่น "dd/mm/yyyy" สำหรับวันที่ หรือ "#,##0.00" สำหรับตัวเลขมีทศนิยม ผลลัพธ์ที่ได้จะเป็นข้อความ (Text) เสมอ ไม่สามารถนำไปคำนวณต่อได้

TEXTAFTER

TEXTAFTER ดึงข้อความหลังจากตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า MID+FIND ใช้คู่กับ TEXTBEFORE TEXTSPLIT

TEXTBEFORE

TEXTBEFORE ดึงข้อความก่อนหน้าตัวคั่นที่ระบุ รองรับการเลือกลำดับตัวคั่น (instance_num) การค้นหาแบบ case-insensitive (match_mode) และค่า default เมื่อไม่พบ (if_not_found) ทำให้แยกข้อมูลได้ง่ายกว่า LEFT+FIND ใช้คู่กับ TEXTAFTER TEXTSPLIT

TRIM

TRIM ลบช่องว่างที่ด้านหน้า ด้านหลัง และลดช่องว่างระหว่างคำให้เหลือเพียงเคาะเดียว เหมาะสำหรับทำความสะอาดข้อมูลที่ Copy จากเว็บหรือระบบอื่น

VALUE

VALUE แปลงข้อความที่มีลักษณะเป็นตัวเลขให้เป็นตัวเลขจริงที่คำนวณได้ รองรับรูปแบบตัวเลข วันที่ เวลา เปอร์เซ็นต์ และสกุลเงิน

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่