วันพุธที่ 29 กันยายน พ.ศ. 2553

การแยกคำ MS-Excel

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


จาก คุณสุรพล

ผมขอความช่วยเหลือเกี่ยวกับการแยกคำนำหน้าชื่อ เช่น นาย นางสาว นาง ออกไปอยู่อีก Column เพื่อต้องการ Sort รายชื่อให้เรียงลำดับตามตัวอักษร ไม่ทราบมีข้อแนะนำทำอย่างไรครับ ผมลองใช้สูตร =IF(LEFT(C3,6)="นางสาว",LEFT(C3,3)="นาย",LEFT(C3,3)) ทำไม่ได้ครับ



คุณ Pison ตอบไปว่าให้ใช้

=IF(LEFT(C3,6)="นางสาว",LEFT(C3,6),LEFT(C3,3))




ผมก็เลยขอรวบรวมไว้ให้ผู้สนใจว่า
การแยกคำแบ่งเป็น 2 ส่วน ส่วนแรกแยกคำนำหน้าใช้

=IF(LEFT(C3,6)="นางสาว",LEFT(C3,6),LEFT(C3,3))

โดยจากตัวอักษรตัวที่ 1-6 ถ้าหาเจอคำว่า "นางสาว" ให้แสดงตัวอักษรตัวที่ 1-6 ซึ่งก็คือคำว่า "นางสาว" นั่นเอง แต่ถ้าไปเจอคำอื่น ให้เอาตัวอักษรตัวที่ 1-3 มาแสดง ซึ่งก็คือคำว่า "นาย" กับ "นาง" นั่นเอง

ส่วนการตัดเอาเฉพาะชื่อไม่รวมคำนำหน้ามา
ผมลองใช้สูตร =IF(LEFT(C3,6)="นางสาว",MID(C3,7,15),MID(C3,4,15))

โดย ให้ไปหาคำว่า "นางสาว" แล้วให้ตัดตัวอักษรตัวที่ 1-6 ทิ้ง (ซึ่งก็คือคำว่า "นางสาว" มี 6 ตัวอักษร) แล้วเอาตัวที่ 7 จากซ้ายมือขึ้นไปจนถึงตัวอักษรที่ 15 มาแสดง (ซึ่งเป็นจำนวนตัวอักษรของคำนำหน้ารวมกับชื่อที่มากที่สุด แต่ตัวเลขนี้อาจจะเปลี่ยนเป็นจำนวนสูงกว่านี้ก็ได้ครับ เผื่อจะมีคนชื่อยาวกว่า 15 ตัวอักษร) ส่วนที่เหลือให้ตัดเอาตัวอักษรตัวที่ 1-3 ทิ้ง (ซึ่งก็คือคำว่า "นาย" กับ "นาง" มี 3 ตัวอักษรเท่ากัน) แล้วเอาเฉพาะตัวอักษรตัวที่ 4 ถึง 15 มาแสดง ผลลัพธ์น่าจะตรงอย่างที่ต้องการครับ



Enhance IT for HR Practitioner

เสกสิทธิ คูณศรี