3/04/2562

จากเนื้อหา “แยกชื่อและนามสกุล” ที่ได้แนะนำไปก่อนหน้า หากมีเนื้อหาดังตัวอย่าง



จากเนื้อหา “แยกชื่อและนามสกุล” ที่ได้แนะนำไปก่อนหน้า หากมีเนื้อหาดังตัวอย่าง





และต้องการแยกคำนำหน้าชื่อ ชื่อ และนามสกุลเป็น 3 คอลัมน์ ดังนี้





จะต้องใช้ฟังก์ชันหลายฟังก์ชัน รวมทั้งเทคนิคการคำนวณแบบ Array ของ Excel ผสมผสานกัน โดยเริ่มต้นจาก





1) สร้างตารางข้อมูลเก็บคำนำชื่อที่เป็นไปได้ (สามารถเพิ่มเติมได้ภายหลัง)





จากนั้นกำหนด Range name ให้กับช่วงข้อมูลของรายการคำนำหน้าชื่อ กรณีตัวอย่างกำหนดชื่อ nametitle ให้กับช่วง B2:B10 ด้วยคำสั่ง Formulas, Define Name





2) เมื่อกำหนดพื้นที่รายการคำนำหน้าชื่อแล้ว ขั้นถัดไปก็จะเป็นการดึงนามสกุลออกมาก่อน ด้วยคำสั่ง =RIGHT(A2,LEN(A2)-FIND(” “,A2))





คำสั่ง =RIGHT(A2,LEN(A2)-FIND(” “,A2)) ประกอบด้วยคำสั่งซ้อน 3 คำสั่งคือ RIGHT, LEN และ FIND โดยมีความหมาย คือ
นำข้อมูลมาแสดงโดยดึงค่าจากตำแหน่งขวาสุด คำสั่ง RIGHT ที่มีรูปแบบคำสั่ง คือ =RIGHT(text,num_chars)
Text คือสตริงข้อความที่มีอักขระที่ต้องการแยก
num_chars ระบุจำนวนอักขระที่ต้องการแยก
กรณีนี้ num_chars ได้จากสูตร =LEN(A2)-FIND(” “,A2) คือเอาจำนวนอักขระทั้งหมด (LEN) มาลบด้วยตำแหน่งของช่องว่าง (FIND)
จำนวนอักขระทั้งหมด =LEN(A2) เท่ากับ 15
ตำแหน่งช่องว่าง =FIND(” “,A2) คิอ 7
15 – 7 = 8
ดังนั้นคำสั่ง RIGHT จึงเปรียบได้กับ =RIGHT(A2,8) นั่นเอง … ซึ่งหมายถึง ให้นำอักขระ 8 อักขระมาแสดงโดยดึงจากด้านขวาของข้อมูล


3) ดึง “ชื่อ” ออกมาใส่ในคอลัมน์ D ด้วยคำสั่ง =SUBSTITUTE(RIGHT(A2,MIN(LEN(SUBSTITUTE(A2,nametilte,””)))),E2,””)





โดยสูตรนี้ต้องป้อนแบบ Array ซึ่งก็คือการกดปุ่ม Ctrl + Shift + Enter แทนการกด Enter ปกติ โดยสูตรที่สูตร จะต้องมีเครื่องหมาย { } กำกับหน้าหลัง ดังนี้





4) จากนั้นจึงเป็นการดึงคำนำหน้า ด้วยคำสั่ง =SUBSTITUTE(SUBSTITUTE(A2,D2,””),E2,””)





เพียงเท่านี้ก็จะสามารถดึงค่าดังกล่าวออกมาได้ตามต้องการ สำหรับการนำไปใช้ ขอแนะนำให้ใช้การเลือกข้อมูลคำนำหน้า ชื่อ นามสกุลแล้วคัดลอก (Copy) จากนั้นนำไปวางแบบ “เฉพาะค่า Value” ก่อนประมวลผลนะครับ


หมายเหตุ … สูตรที่ใช้ในข้อ 3 และะ 4 ขอไม่อธิบายรายละเอียด อยากแนะนำให้ลองศึกษาและฝึกทีละคำสั่งดูนะครับ เพื่อให้เกิดความเข้าใจด้วยตนเอง

0 ความคิดเห็น:

แสดงความคิดเห็น