จากเนื้อหา “แยกชื่อและนามสกุล” ที่ได้แนะนำไปก่อนหน้า หากมีเนื้อหาดังตัวอย่าง
และต้องการแยกคำนำหน้าชื่อ ชื่อ และนามสกุลเป็น 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 ขอไม่อธิบายรายละเอียด อยากแนะนำให้ลองศึกษาและฝึกทีละคำสั่งดูนะครับ เพื่อให้เกิดความเข้าใจด้วยตนเอง
3/04/2562
จากเนื้อหา “แยกชื่อและนามสกุล” ที่ได้แนะนำไปก่อนหน้า หากมีเนื้อหาดังตัวอย่าง
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
0 ความคิดเห็น:
แสดงความคิดเห็น