สารบัญ
ในสองสามบทความที่ผ่านมา เราได้พูดถึงฟังก์ชันข้อความต่างๆ ซึ่งเป็นฟังก์ชันที่ใช้ในการจัดการสตริงข้อความ วันนี้โฟกัสของเราอยู่ที่ฟังก์ชัน 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 ทวิภาค
กุญแจสำคัญในการค้นหาวิธีแก้ปัญหาคือกำหนดตำแหน่งของตัวคั่นสุดท้ายในสตริงต้นฉบับ (การเกิดขึ้นครั้งสุดท้ายของทวิภาคในตัวอย่างนี้) ในการทำเช่นนี้ คุณจะต้องใช้ฟังก์ชันต่างๆ จำนวนหนึ่ง:
- รับจำนวนตัวคั่นในสตริงต้นฉบับ เป็นส่วนที่ง่าย:
- ประการแรก คุณคำนวณความยาวทั้งหมดของสตริงโดยใช้ฟังก์ชัน LEN: LEN(A2)
- ประการที่สอง คุณคำนวณความยาวของสตริงโดยไม่มีตัวคั่นโดยใช้ ฟังก์ชัน SUBSTITUTE ที่แทนที่การเกิดขึ้นทั้งหมดของเครื่องหมายทวิภาคโดยไม่มีค่าอะไรเลย: LEN(SUBSTITUTE(A2,":",""))
- สุดท้าย คุณลบความยาวของสตริงเดิมออกโดยไม่มีตัวคั่นจากความยาวสตริงทั้งหมด: LEN(A2)-LEN(SUBSTITUTE(A2,":",""))
เพื่อให้แน่ใจว่าสูตรทำงานถูกต้อง คุณสามารถป้อนใน แยกเซลล์และผลลัพธ์จะเป็น 2 ซึ่งเป็นจำนวนทวิภาคในเซลล์ A2
- แทนที่ตัวคั่นสุดท้ายด้วยอักขระพิเศษบางตัว ในการแยกข้อความที่ตามหลังตัวคั่นสุดท้ายในสตริง เราจำเป็นต้อง "ทำเครื่องหมาย" ที่เกิดขึ้นสุดท้ายของตัวคั่นด้วยวิธีใดวิธีหนึ่ง สำหรับสิ่งนี้ เรามาแทนที่เครื่องหมายทวิภาคครั้งล่าสุดด้วยอักขระที่ไม่ปรากฏที่ใดก็ได้ในสตริงเดิม ตัวอย่างเช่น ด้วยเครื่องหมายปอนด์ (#)
หากคุณคุ้นเคยกับไวยากรณ์ของฟังก์ชัน Excel SUBSTITUTE คุณอาจจำได้ว่ามีอาร์กิวเมนต์ตัวเลือกที่ 4 (instance_num) ที่อนุญาตให้แทนที่เฉพาะอักขระที่ระบุเท่านั้น และเนื่องจากเราได้คำนวณจำนวนตัวคั่นในสตริงแล้ว เพียงใส่ฟังก์ชันด้านบนในอาร์กิวเมนต์ที่สี่ของฟังก์ชัน SUBSTITUTE อื่น:
=SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))
หากคุณใส่สูตรนี้ในเซลล์แยกต่างหาก มันจะส่งคืนสตริงนี้: ERROR:432#Connection หมดเวลา
- รับตำแหน่งของตัวคั่นสุดท้ายในสตริง ขึ้นอยู่กับอักขระที่คุณแทนที่ตัวคั่นสุดท้ายด้วย ใช้ SEARCH ที่ไม่คำนึงถึงตัวพิมพ์เล็กหรือใหญ่ FIND เพื่อระบุตำแหน่งของอักขระนั้นในสตริง เราแทนที่เครื่องหมายทวิภาคสุดท้ายด้วยเครื่องหมาย # เราจึงใช้สูตรต่อไปนี้เพื่อหาตำแหน่ง:
=SEARCH("#", SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))
ในตัวอย่างนี้ สูตรจะส่งกลับ 10 ซึ่งเป็นตำแหน่งของ # ในสตริงที่ถูกแทนที่
- ส่งคืนสตริงย่อยทางด้านขวาของตัวคั่นสุดท้าย ตอนนี้คุณทราบตำแหน่งของตัวคั่นสุดท้ายในสตริงแล้ว สิ่งที่คุณต้องทำคือลบตัวเลขนั้นออกจากความยาวสตริงทั้งหมด และรับฟังก์ชัน 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 ไม่ทำงานอย่างถูกต้องในเวิร์กชีตของคุณ เป็นไปได้มากว่าเกิดจากสาเหตุข้อใดข้อหนึ่งต่อไปนี้:
- มีอย่างน้อยหนึ่งข้อ ช่องว่างต่อท้าย ในข้อมูลต้นฉบับ หากต้องการลบช่องว่างในเซลล์ออกอย่างรวดเร็ว ให้ใช้ฟังก์ชัน TRIM ของ Excel หรือ Add-in ของ Cell Cleaner
- อาร์กิวเมนต์ num_chars คือ น้อยกว่าศูนย์ ของแน่นอน คุณแทบจะไม่ต้องการใส่จำนวนลบในสูตรโดยตั้งใจ แต่ถ้าอาร์กิวเมนต์ num_chars ถูกคำนวณโดยฟังก์ชัน Excel อื่นหรือฟังก์ชันต่างๆ รวมกัน และสูตร Right ของคุณส่งคืน #VALUE! ตรวจสอบให้แน่ใจว่าได้ตรวจสอบฟังก์ชันที่ซ้อนกันเพื่อหาข้อผิดพลาด
- ค่าเดิมคือ วันที่ หากคุณปฏิบัติตามบทช่วยสอนนี้อย่างใกล้ชิด คุณคงทราบแล้วว่าทำไมฟังก์ชัน RIGHT จึงไม่สามารถทำงานกับวันที่ได้ หากมีคนข้ามส่วนก่อนหน้า คุณสามารถดูรายละเอียดทั้งหมดได้ในสาเหตุที่ฟังก์ชัน Excel RIGHT ไม่ทำงานกับวันที่
นี่คือวิธีที่คุณใช้ฟังก์ชัน RIGHT ใน Excel หากต้องการดูสูตรที่กล่าวถึงในบทช่วยสอนนี้อย่างละเอียดยิ่งขึ้น คุณสามารถดาวน์โหลดสมุดงานตัวอย่างด้านล่างได้ ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า
ดาวน์โหลดที่มีจำหน่าย
ฟังก์ชัน Excel RIGHT - ตัวอย่าง (ไฟล์ .xlsx)