ฟังก์ชัน Excel RIGHT พร้อมตัวอย่างสูตร

  • แบ่งปันสิ่งนี้
Michael Brown

ในสองสามบทความที่ผ่านมา เราได้พูดถึงฟังก์ชันข้อความต่างๆ ซึ่งเป็นฟังก์ชันที่ใช้ในการจัดการสตริงข้อความ วันนี้โฟกัสของเราอยู่ที่ฟังก์ชัน RIGHT ซึ่งออกแบบมาเพื่อส่งกลับจำนวนอักขระที่ระบุจากด้านขวาสุดของสตริง เช่นเดียวกับฟังก์ชันข้อความอื่นๆ ของ Excel RIGHT นั้นเรียบง่ายและตรงไปตรงมามาก แต่ก็มีการใช้งานที่ไม่ชัดเจนอยู่บ้างซึ่งอาจเป็นประโยชน์ในการทำงานของคุณ

    ไวยากรณ์ของฟังก์ชัน Excel RIGHT

    ฟังก์ชัน RIGHT ใน Excel จะส่งกลับจำนวนอักขระที่ระบุจากส่วนท้ายของสตริงข้อความ

    ไวยากรณ์ของฟังก์ชัน RIGHT เป็นดังนี้:

    RIGHT(text, [num_chars])

    Where :

    • Text (จำเป็น) - สตริงข้อความที่คุณต้องการแยกอักขระ
    • Num_chars (ไม่บังคับ) - the จำนวนอักขระที่จะแยก โดยเริ่มจากอักขระด้านขวาสุด
      • หากละเว้น num_chars ระบบจะส่งกลับอักขระตัวสุดท้ายของสตริง 1 ตัว (ค่าเริ่มต้น)
      • หาก num_chars มากกว่าจำนวนรวมของ อักขระในสตริง อักขระทั้งหมดจะถูกส่งกลับ
      • ถ้า num_chars เป็นจำนวนลบ สูตร Right จะส่งกลับ #VALUE! ข้อผิดพลาด

    ตัวอย่างเช่น หากต้องการแยกอักขระ 3 ตัวสุดท้ายจากสตริงในเซลล์ A2 ให้ใช้สูตรนี้:

    =RIGHT(A2, 3)

    ผลลัพธ์อาจมีลักษณะดังนี้:

    หมายเหตุสำคัญ! ฟังก์ชัน Excel RIGHT จะส่งคืนข้อความ เสมอstring แม้ว่าค่าดั้งเดิมจะเป็นตัวเลขก็ตาม หากต้องการบังคับให้สูตร Right แสดงตัวเลข ให้ใช้ร่วมกับฟังก์ชัน VALUE ตามที่แสดงในตัวอย่างนี้

    วิธีใช้ฟังก์ชัน RIGHT ใน Excel - ตัวอย่างสูตร

    ในชีวิตจริง เวิร์กชีต ฟังก์ชัน Excel RIGHT มักไม่ค่อยได้ใช้ด้วยตัวเอง ในกรณีส่วนใหญ่ คุณจะใช้ร่วมกับฟังก์ชัน Excel อื่นๆ โดยเป็นส่วนหนึ่งของสูตรที่ซับซ้อนกว่า

    วิธีรับสตริงย่อยที่อยู่หลังอักขระบางตัว

    ในกรณีที่คุณต้องการแยก สตริงย่อยที่ตามหลังอักขระเฉพาะ ใช้ฟังก์ชัน SEARCH หรือ FIND เพื่อกำหนดตำแหน่งของอักขระนั้น ลบตำแหน่งออกจากความยาวสตริงทั้งหมดที่ส่งคืนโดยฟังก์ชัน LEN และดึงอักขระจำนวนมากนั้นจากด้านขวาสุดของสตริงเดิม

    ขวา( สตริง , LEN( สตริง ) - SEARCH( ตัวอักษร , สตริง ))

    สมมติว่า เซลล์ A2 มีชื่อและนามสกุลคั่นด้วยช่องว่าง และคุณต้องการดึงนามสกุลไปยังเซลล์อื่น เพียงใช้สูตรทั่วไปด้านบน และคุณใส่ A2 แทนที่ สตริง และ " " (เว้นวรรค) ตามลำดับ อักขระ:

    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))

    สูตรจะให้ผลลัพธ์ต่อไปนี้:

    ในลักษณะเดียวกัน คุณจะได้รับสตริงย่อยที่ตามหลังอักขระอื่นๆ เช่น เครื่องหมายจุลภาค เครื่องหมายอัฒภาค ยัติภังค์ เป็นต้น ตัวอย่างเช่น หากต้องการแยกสตริงย่อยที่อยู่หลังเครื่องหมายยัติภังค์ใช้สูตรนี้:

    =RIGHT(A2,LEN(A2)-SEARCH("-",A2))

    ผลลัพธ์จะมีลักษณะดังนี้:

    วิธีแยกสตริงย่อยหลังจากเกิดตัวคั่นครั้งล่าสุด

    เมื่อ การจัดการกับสตริงที่ซับซ้อนที่มีตัวคั่นเดียวกันเกิดขึ้นหลายครั้ง คุณอาจจำเป็นต้องดึงข้อความทางด้านขวาของตัวคั่นที่เกิดขึ้นล่าสุด เพื่อให้เข้าใจได้ง่ายขึ้น โปรดดูแหล่งข้อมูลต่อไปนี้และผลลัพธ์ที่ต้องการ:

    ดังที่คุณเห็นในภาพหน้าจอด้านบน คอลัมน์ A มีรายการข้อผิดพลาด เป้าหมายของคุณคือดึงคำอธิบายข้อผิดพลาดที่อยู่หลังโคลอนสุดท้ายในแต่ละสตริง ความยุ่งยากเพิ่มเติมคือสตริงต้นฉบับอาจมีจำนวนอินสแตนซ์ตัวคั่นที่แตกต่างกัน เช่น A3 มี 3 ทวิภาคในขณะที่ A5 มีเพียง 1 ทวิภาค

    กุญแจสำคัญในการค้นหาวิธีแก้ปัญหาคือกำหนดตำแหน่งของตัวคั่นสุดท้ายในสตริงต้นฉบับ (การเกิดขึ้นครั้งสุดท้ายของทวิภาคในตัวอย่างนี้) ในการทำเช่นนี้ คุณจะต้องใช้ฟังก์ชันต่างๆ จำนวนหนึ่ง:

    1. รับจำนวนตัวคั่นในสตริงต้นฉบับ เป็นส่วนที่ง่าย:
      • ประการแรก คุณคำนวณความยาวทั้งหมดของสตริงโดยใช้ฟังก์ชัน LEN: LEN(A2)
      • ประการที่สอง คุณคำนวณความยาวของสตริงโดยไม่มีตัวคั่นโดยใช้ ฟังก์ชัน SUBSTITUTE ที่แทนที่การเกิดขึ้นทั้งหมดของเครื่องหมายทวิภาคโดยไม่มีค่าอะไรเลย: LEN(SUBSTITUTE(A2,":",""))
      • สุดท้าย คุณลบความยาวของสตริงเดิมออกโดยไม่มีตัวคั่นจากความยาวสตริงทั้งหมด: LEN(A2)-LEN(SUBSTITUTE(A2,":",""))

      เพื่อให้แน่ใจว่าสูตรทำงานถูกต้อง คุณสามารถป้อนใน แยกเซลล์และผลลัพธ์จะเป็น 2 ซึ่งเป็นจำนวนทวิภาคในเซลล์ A2

    2. แทนที่ตัวคั่นสุดท้ายด้วยอักขระพิเศษบางตัว ในการแยกข้อความที่ตามหลังตัวคั่นสุดท้ายในสตริง เราจำเป็นต้อง "ทำเครื่องหมาย" ที่เกิดขึ้นสุดท้ายของตัวคั่นด้วยวิธีใดวิธีหนึ่ง สำหรับสิ่งนี้ เรามาแทนที่เครื่องหมายทวิภาคครั้งล่าสุดด้วยอักขระที่ไม่ปรากฏที่ใดก็ได้ในสตริงเดิม ตัวอย่างเช่น ด้วยเครื่องหมายปอนด์ (#)

      หากคุณคุ้นเคยกับไวยากรณ์ของฟังก์ชัน Excel SUBSTITUTE คุณอาจจำได้ว่ามีอาร์กิวเมนต์ตัวเลือกที่ 4 (instance_num) ที่อนุญาตให้แทนที่เฉพาะอักขระที่ระบุเท่านั้น และเนื่องจากเราได้คำนวณจำนวนตัวคั่นในสตริงแล้ว เพียงใส่ฟังก์ชันด้านบนในอาร์กิวเมนต์ที่สี่ของฟังก์ชัน SUBSTITUTE อื่น:

      =SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))

      หากคุณใส่สูตรนี้ในเซลล์แยกต่างหาก มันจะส่งคืนสตริงนี้: ERROR:432#Connection หมดเวลา

    3. รับตำแหน่งของตัวคั่นสุดท้ายในสตริง ขึ้นอยู่กับอักขระที่คุณแทนที่ตัวคั่นสุดท้ายด้วย ใช้ SEARCH ที่ไม่คำนึงถึงตัวพิมพ์เล็กหรือใหญ่ FIND เพื่อระบุตำแหน่งของอักขระนั้นในสตริง เราแทนที่เครื่องหมายทวิภาคสุดท้ายด้วยเครื่องหมาย # เราจึงใช้สูตรต่อไปนี้เพื่อหาตำแหน่ง:

      =SEARCH("#", SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))

      ในตัวอย่างนี้ สูตรจะส่งกลับ 10 ซึ่งเป็นตำแหน่งของ # ในสตริงที่ถูกแทนที่

    4. ส่งคืนสตริงย่อยทางด้านขวาของตัวคั่นสุดท้าย ตอนนี้คุณทราบตำแหน่งของตัวคั่นสุดท้ายในสตริงแล้ว สิ่งที่คุณต้องทำคือลบตัวเลขนั้นออกจากความยาวสตริงทั้งหมด และรับฟังก์ชัน RIGHT เพื่อส่งคืนอักขระจำนวนมากจากจุดสิ้นสุดของสตริงเดิม:

      =RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))

    ดังที่แสดงในภาพหน้าจอด้านล่าง สูตรทำงานได้อย่างสมบูรณ์:

    หากคุณกำลังทำงานกับชุดข้อมูลขนาดใหญ่ที่เซลล์ต่างๆ อาจมีตัวคั่นที่แตกต่างกัน คุณอาจต้องการ เพื่อใส่สูตรข้างต้นในฟังก์ชัน IFERROR เพื่อป้องกันข้อผิดพลาดที่อาจเกิดขึ้น:

    =IFERROR(RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))), A2)

    ในกรณีที่สตริงบางรายการไม่มีตัวคั่นที่ระบุเกิดขึ้นเพียงครั้งเดียว สตริงเดิมจะถูกส่งคืน เช่นเดียวกับในแถวที่ 6 ในภาพหน้าจอด้านล่าง:

    วิธีลบอักขระ N ตัวแรกออกจากสตริง

    นอกเหนือจากการแยกสตริงย่อยออกจากส่วนท้ายของสตริงแล้ว ฟังก์ชัน Excel RIGHT ยังมีประโยชน์อีกด้วย ในสถานการณ์ที่คุณต้องการลบอักขระจำนวนหนึ่งออกจากจุดเริ่มต้นของสตริง

    ในชุดข้อมูลที่ใช้ในก่อนหน้า ตัวอย่างเช่น คุณอาจต้องการลบคำว่า "ERROR" ที่ปรากฏที่จุดเริ่มต้นของแต่ละสตริง และเหลือไว้เฉพาะหมายเลขข้อผิดพลาดและคำอธิบาย ที่จะมีมันเสร็จแล้ว ให้ลบจำนวนอักขระที่จะเอาออกจากความยาวสตริงทั้งหมด และใส่ตัวเลขนั้นให้กับอาร์กิวเมนต์ num_chars ของฟังก์ชัน Excel RIGHT:

    RIGHT( string , LEN ( string )- number_of_chars_to_remove )

    ในตัวอย่างนี้ เราลบอักขระ 6 ตัวแรก (5 ตัวอักษรและโคลอน) ออกจากสตริงข้อความใน A2 ดังนั้นสูตรของเราจะเป็น ดังนี้:

    =RIGHT(A2, LEN(A2)-6)

    ฟังก์ชัน RIGHT ของ Excel สามารถส่งคืนตัวเลขได้หรือไม่

    ตามที่กล่าวไว้ในตอนต้นของบทช่วยสอนนี้ ฟังก์ชัน RIGHT ใน Excel จะส่งกลับสตริงข้อความเสมอ ถ้าค่าเดิมเป็นตัวเลข แต่ถ้าคุณทำงานกับชุดข้อมูลตัวเลขและต้องการให้ผลลัพธ์เป็นตัวเลขด้วยล่ะ วิธีแก้ปัญหาง่ายๆ คือการซ้อนสูตร Right ในฟังก์ชัน VALUE ซึ่งออกแบบมาเป็นพิเศษเพื่อแปลงสตริงที่แสดงตัวเลขเป็นตัวเลข

    ตัวอย่างเช่น เพื่อดึงอักขระ 5 ตัวสุดท้าย (รหัสไปรษณีย์) ออกจากสตริง ใน A2 และแปลงอักขระที่แยกออกมาเป็นตัวเลข ใช้สูตรนี้:

    =VALUE(RIGHT(A2, 5))

    ภาพหน้าจอด้านล่างแสดงผลลัพธ์ - โปรดสังเกตตัวเลขที่เรียงชิดขวาในคอลัมน์ B ซึ่งตรงข้ามกับด้านซ้าย -จัดสตริงข้อความในคอลัมน์ A:

    เหตุใดฟังก์ชัน RIGHT จึงใช้กับวันที่ไม่ได้

    เนื่องจากฟังก์ชัน RIGHT ของ Excel ออกแบบมาเพื่อทำงานกับสตริงข้อความ ในขณะที่วันที่จะแสดงด้วยตัวเลขใน ระบบ Excel ภายในสูตรที่ถูกต้องไม่สามารถดึงข้อมูลแต่ละรายการได้ส่วนหนึ่งของวันที่ เช่น วัน เดือน หรือปี หากคุณพยายามทำเช่นนี้ สิ่งที่คุณจะได้รับคือตัวเลขหลักสุดท้ายของตัวเลขที่แสดงวันที่

    สมมติว่า คุณมีวันที่ 18-ม.ค.-2017 ในเซลล์ A1 หากคุณพยายามแยกปีด้วยสูตร RIGHT(A1,4) ผลลัพธ์จะเป็น 2753 ซึ่งเป็นตัวเลข 4 หลักสุดท้ายของหมายเลข 42753 ที่แสดงถึงวันที่ 18 มกราคม 2017 ในระบบ Excel

    "แล้วฉันจะดึงบางส่วนของวันที่ได้อย่างไร" คุณอาจถามฉัน โดยใช้หนึ่งในฟังก์ชันต่อไปนี้:

    • ฟังก์ชัน DAY เพื่อแยกวัน: =DAY(A1)
    • ฟังก์ชัน MONTH เพื่อดึงข้อมูลเดือน: =MONTH(A1)
    • ฟังก์ชัน YEAR เพื่อดึงปี: =YEAR(A1)

    ภาพหน้าจอต่อไปนี้แสดงผลลัพธ์:

    หากวันที่ ของคุณแสดงด้วยสตริงข้อความ ซึ่งมักจะเกิดขึ้นเมื่อคุณส่งออกข้อมูลจากแหล่งภายนอก ไม่มีอะไรป้องกันคุณจากการใช้ฟังก์ชัน RIGHT เพื่อดึงอักขระสองสามตัวสุดท้ายในสตริงที่แสดงถึงบางส่วนของวันที่:

    Excel RIGHT ฟังก์ชันไม่ทำงาน - เหตุผลและแนวทางแก้ไข

    หากสูตร Right ไม่ทำงานอย่างถูกต้องในเวิร์กชีตของคุณ เป็นไปได้มากว่าเกิดจากสาเหตุข้อใดข้อหนึ่งต่อไปนี้:

    1. มีอย่างน้อยหนึ่งข้อ ช่องว่างต่อท้าย ในข้อมูลต้นฉบับ หากต้องการลบช่องว่างในเซลล์ออกอย่างรวดเร็ว ให้ใช้ฟังก์ชัน TRIM ของ Excel หรือ Add-in ของ Cell Cleaner
    2. อาร์กิวเมนต์ num_chars คือ น้อยกว่าศูนย์ ของแน่นอน คุณแทบจะไม่ต้องการใส่จำนวนลบในสูตรโดยตั้งใจ แต่ถ้าอาร์กิวเมนต์ num_chars ถูกคำนวณโดยฟังก์ชัน Excel อื่นหรือฟังก์ชันต่างๆ รวมกัน และสูตร Right ของคุณส่งคืน #VALUE! ตรวจสอบให้แน่ใจว่าได้ตรวจสอบฟังก์ชันที่ซ้อนกันเพื่อหาข้อผิดพลาด
    3. ค่าเดิมคือ วันที่ หากคุณปฏิบัติตามบทช่วยสอนนี้อย่างใกล้ชิด คุณคงทราบแล้วว่าทำไมฟังก์ชัน RIGHT จึงไม่สามารถทำงานกับวันที่ได้ หากมีคนข้ามส่วนก่อนหน้า คุณสามารถดูรายละเอียดทั้งหมดได้ในสาเหตุที่ฟังก์ชัน Excel RIGHT ไม่ทำงานกับวันที่

    นี่คือวิธีที่คุณใช้ฟังก์ชัน RIGHT ใน Excel หากต้องการดูสูตรที่กล่าวถึงในบทช่วยสอนนี้อย่างละเอียดยิ่งขึ้น คุณสามารถดาวน์โหลดสมุดงานตัวอย่างด้านล่างได้ ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า

    ดาวน์โหลดที่มีจำหน่าย

    ฟังก์ชัน Excel RIGHT - ตัวอย่าง (ไฟล์ .xlsx)

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้