วิธีการแยกคำนำหน้าชื่อ ชื่อและนามสกุล ที่รวมอยู่ในช่องเดียวกันใน Microsoft Excel
ในการใช้งาน Microsoft Excel เราคงจะเคยเจอปัญหาที่ข้อมูลมีทั้งคำนำหน้าชื่อ ชื่อและนามสกุล รวมอยู่ในช่องเดียวกัน แต่การนำไปใช้งานของเราต้องการที่จะแยกคำนำหน้าชื่อ ชื่อและนามสกุลออกจากกันเป็นคนละช่อง วันนี้จะขอนำเสนอสูตรเพื่อแก้ปัญหาดังกล่าวข้างต้น มาดูกันเลยคะว่าทำยังไง ในการแก้ปัญหานี้จะต้องใช้ฟังก์ชันหลายฟังก์ชัน รวมทั้งเทคนิคการคำนวณแบบ Array ของ Excel ผสมผสานกันโดยเริ่มจาก STEP 1 : สร้างคอลัมน์สำหรับการแสดงผล และสร้าง List รายการคำนำหน้าชื่อที่คอลัมน์ I STEP 2 : ทำการแปลง TITLE_LIST เป็นตาราง เพื่อความสะดวกในการจัดการข้อมูลคำนำหน้าชื่อและการอ้างอิงข้อมูล STEP 3 : ทำการแยกเฉพาะคำนำหน้าชื่อมาแสดงที่คอลัมน์ D ด้วยฟังก์ชัน SEARCH , MATCH และ INDEX =INDEX(TITLE[TITLE_LIST],MATCH(1,SEARCH(TITLE[TITLE_LIST],B2),0)) ฟังก์ชัน SEARCH : ค้นหาสตริงข้อความหนึ่งภายในสตริงข้อความที่สอง และส่งกลับตัวเลขที่เป็นตำแหน่งเริ่มต้นของสตริงข้อความแรกจากอักขระแรกของสตริงข้อความที่สอง ไวยากรณ์ : SEARCH(find_text,within_text,[start_num]) กรณี ฟังก์ชัน MATCH : ค้นหารายการที่ระบุช่วงในเซลล์ แล้วส่งกลับตําแหน่งสัมพันธ์ของรายการนั้นในช่วง ตัวอย่างเช่น ถ้าช่วง A1:A3 มีค่า 5, 25 และ 38 สูตร =MATCH(25,A1:A3,0) จะส่งกลับตัวเลข 2 เนื่องจาก 25 เป็นรายการที่สองในช่วง ไวยากรณ์ : MATCH(lookup_value, lookup_array, [match_type]) ฟังก์ชัน INDEX : ส่งกลับค่าจากภายในตารางหรือช่วงข้อมูล ไวยากรณ์ : INDEX(array, row_num, [column_num]) STEP 4 : ทำการแยกชื่อและนามสกุลออกจากคำนำหน้าชื่อมาแสดงที่คอลัมน์ C ด้วยฟังก์ชัน SUBSTITUTE =SUBSTITUTE(B2,D2,””) ฟังก์ชัน SUBSTITUTE : ใช้แทนที่ข้อความเดิม old text ด้วยข้อความใหม่ new text ส่วน instance_num ใช้เพื่อระบุตำแหน่งการแทนที่ ซึ่งถ้าไม่ระบุ old text จะถูกเปลี่ยนด้วย new text ทั้งหมด ไวยากรณ์ : SUBSTITUTE(text, old_text, new_text, [instance_num]) STEP 5 : ทำการแยกชื่อมาแสดงที่คอลัมน์ E ด้วยฟังก์ชัน LEFT และ SEARCH =LEFT(C2,SEARCH(” “,C2,1)-1) ฟังก์ชัน LEFT : ส่งกลับอักขระจำนวนหนึ่งที่อยู่ในลำดับแรกๆ ในสตริงข้อความ ตามจำนวนอักขระที่ระบุ ไวยากรณ์ : LEFT(text, [num_chars]) STEP 6 : ทำการแยกนามสกุลมาแสดงที่คอลัมน์ F ด้วยฟังก์ชัน RIGHT , LEN และ SEARCH =RIGHT(C2,LEN(C2)-SEARCH(” “,C2,1)) ฟังก์ชัน RIGHT : ส่งกลับอักขระสุดท้ายจำนวนหนึ่งในสตริงข้อความ ตามจำนวนอักขระที่ระบุ ไวยากรณ์ : RIGHT(text,[num_chars]) ฟังก์ชัน LEN : ส่งกลับเป็นจำนวนอักขระในสตริง ไวยากรณ์ : LEN(text) STEP 7 : แยกคำนำหน้าชื่อ ชื่อและนามสกุล ที่รวมอยู่ในช่องเดียวกันใน Microsoft Excel เรียบร้อยแล้วค่ะ ^_^ หวังว่าโพสนี้จะเป็นประโยชน์ต่อผู้อ่านไม่มากก็น้อยนะคะ แล้วพบกันใหม่ค่ะ