Skip to content

Lab: Clean Names & IDs

คุณได้รับข้อมูลนักศึกษาจากระบบเก่าที่ export มาเป็น CSV ข้อมูลยุ่งเหยิงมาก — ชื่อมี space เกิน, ตัวเล็กตัวใหญ่ปนกัน, และรหัสนักศึกษาหาย leading zeros ทั้งหมด

  1. สร้าง Google Sheet ใหม่

  2. ใส่ข้อมูลใน A1:C1 เป็น Header:

    ABC
    Raw NameRaw IDEmail
  3. ใส่ข้อมูลใน A2:C6 (พิมพ์ตามนี้เป๊ะ ๆ รวม space เกิน):

    A (Raw Name)B (Raw ID)C (Email)
    SOMCHAI SMITH 1234Somchai@School.AC.TH
    jane DOE567JANE.DOE@school.ac.th
    bOB jOnEs 89bob@SCHOOL.AC.TH
    MARY jane23Mary.Jane@School.ac.th
    tom 5TOM@school.AC.TH
  4. สังเกต: column B (Raw ID) ควรจะเป็นรหัส 5 หลัก เช่น 01234, 00567

ภารกิจ 1: ล้างชื่อ

Section titled “ภารกิจ 1: ล้างชื่อ”

ใน column D (header: Clean Name) สร้างสูตรที่:

  • ลบ space เกินหน้า-หลังและตรงกลาง
  • ทำให้ตัวอักษรแรกของแต่ละคำเป็นตัวใหญ่

เป้าหมาย:

Raw NameClean Name
SOMCHAI SMITH Somchai Smith
jane DOEJane Doe
bOB jOnEs Bob Jones
Show Solution
=PROPER(TRIM(CLEAN(A2)))

ทำงาน 3 ขั้น:

  1. CLEAN(A2) — ลบอักขระมองไม่เห็น
  2. TRIM(...) — ลบ space เกิน
  3. PROPER(...) — ทำตัวแรกของแต่ละคำเป็นตัวใหญ่

ผลลัพธ์:

RawClean
SOMCHAI SMITH Somchai Smith
jane DOEJane Doe
bOB jOnEs Bob Jones
MARY janeMary Jane
tom Tom

ภารกิจ 2: สร้างรหัสนักศึกษา 5 หลัก

Section titled “ภารกิจ 2: สร้างรหัสนักศึกษา 5 หลัก”

ใน column E (header: Student ID) สร้างสูตรที่แปลง Raw ID ให้เป็นรหัส 5 หลักมี leading zeros

เป้าหมาย:

Raw IDStudent ID
123401234
56700567
8900089
2300023
500005
Show Solution
=TEXT(B2, "00000")

TEXT() แปลงตัวเลขให้แสดงตาม format ที่กำหนด
"00000" = แสดงอย่างน้อย 5 หลัก เติม 0 ข้างหน้า

ผลลัพธ์:

Raw IDStudent ID
123401234
56700567
8900089
2300023
500005

ภารกิจ 3: ทำ Email ให้เป็นตัวเล็กทั้งหมด

Section titled “ภารกิจ 3: ทำ Email ให้เป็นตัวเล็กทั้งหมด”

ใน column F (header: Clean Email) ทำ email ให้เป็นตัวเล็กทั้งหมด

เป้าหมาย:

Raw EmailClean Email
Somchai@School.AC.THsomchai@school.ac.th
Show Solution
=LOWER(TRIM(C2))

Email address ต้องเป็นตัวเล็กทั้งหมด (ตามมาตรฐาน RFC ส่วน domain เป็น case-insensitive แต่ทำเป็นตัวเล็กหมดเป็นแนวปฏิบัติที่ดี)

ผลลัพธ์:

Raw EmailClean Email
Somchai@School.AC.THsomchai@school.ac.th
JANE.DOE@school.ac.thjane.doe@school.ac.th
bob@SCHOOL.AC.THbob@school.ac.th
Mary.Jane@School.ac.thmary.jane@school.ac.th
TOM@school.AC.THtom@school.ac.th

ภารกิจ 4 (ท้าทาย): สร้าง Email ใหม่จากชื่อ

Section titled “ภารกิจ 4 (ท้าทาย): สร้าง Email ใหม่จากชื่อ”

ใน column G สร้าง email ใหม่ในรูปแบบ firstname.lastname@university.ac.th
ใช้ชื่อที่ล้างแล้วจาก column D

Show Solution
=LOWER(LEFT(D2, FIND(" ", D2)-1)) & "." & LOWER(MID(D2, FIND(" ", D2)+1, LEN(D2))) & "@university.ac.th"

ทำงาน:

  1. LEFT(D2, FIND(" ",D2)-1) — ตัดชื่อ (ก่อน space)
  2. MID(D2, FIND(" ",D2)+1, LEN(D2)) — ตัดนามสกุล (หลัง space)
  3. LOWER() — ทำให้เป็นตัวเล็ก
  4. & — ต่อ string

ผลลัพธ์:

  • somchai.smith@university.ac.th
  • jane.doe@university.ac.th
  • bob.jones@university.ac.th