Data Cleaning · สำหรับเจ้าของกิจการ

ทำความสะอาดข้อมูล

ข้อมูลสกปรก = รายงานผิด ตัดสินใจพลาด — garbage in, garbage out(ขยะเข้า ขยะออก). บทความนี้พาดู 7 ปัญหาข้อมูลสกปรกที่เจอบ่อยสุด พร้อม ตารางก่อน→หลัง + ตัวอย่างร้านไทยทุกอัน

อ่านยังไง

แต่ละหัวข้อ = ปัญหาข้อมูลสกปรก 1 อย่าง. ฝั่งซ้าย:มันคืออะไร + ตัวอย่างจริงในร้านไทย + วิธีแก้ + สิ่งที่ต้องระวัง · ฝั่งขวา:ตาราง ก่อน (สกปรก/ผิด)หลัง (สะอาด/ถูก)ให้เห็นภาพชัด ๆ. ไม่ต้องเขียนโค้ดเป็นก็เข้าใจได้

เจออาการแบบนี้? กระโดดไปอ่านข้อที่ใช่ วินิจฉัยเร็ว
อาการที่เจ้าของร้านมักเจอน่าจะเป็น
ยอด "ลูกค้าทั้งหมด" ดูพองผิดปกติ · ส่งโปรซ้ำคนเดิมหลายครั้ง① ข้อมูลซ้ำ
ค่าเฉลี่ยต่อวันต่ำกว่าจริง · ส่งอีเมลไม่ได้เพราะไม่มีเมล② ข้อมูลขาด
เรียงวันที่แล้วสลับมั่ว · รวม 2 ไฟล์แล้วจับคู่ไม่เจอ③ รูปแบบไม่ตรง
สรุปรายจังหวัด/หมวด กระจายหลายบรรทัดทั้งที่ควรเป็นอันเดียว④ สะกดต่าง
เกิดบัญชีซ้ำทั้งที่กรอกเมลเดิม · จับซ้ำยังไงก็ไม่เจอ⑤ ช่องว่าง/พิมพ์
ยอดเดือนพุ่งผิดปกติ · เจออายุ 999 หรือราคาติดลบ⑥ ค่าผิดปกติ
กด SUM ใน Excel ได้ 0 หรือ error · เลขต่อกันแทนที่จะบวก⑦ ชนิดผิด
ไม่แน่ใจ? ข้อมูลกองเดียวมักมีหลายปัญหาพร้อมกัน — ไล่อ่านครบ 7 ข้อรอบเดียว แล้วล้างทีเดียวจบ จะคุ้มกว่าแก้ทีละจุด
1·ข้อมูลซ้ำ2·ข้อมูลขาด3·รูปแบบไม่ตรง4·สะกดต่าง5·ช่องว่าง/ตัวพิมพ์6·ค่าผิดปกติ7·ชนิดผิดกันดีกว่าแก้ใช้ AI ช่วยเช็กลิสต์คำถามบ่อย
1. ข้อมูลซ้ำ Duplicate

ลูกค้า/สินค้า คนเดียวกัน-อันเดียวกัน แต่มีหลายแถวในตาราง — เกิดจากคีย์ซ้ำ นำเข้าไฟล์ซ้ำ หรือลูกค้ากรอกฟอร์มหลายรอบ. ทำให้นับจำนวนลูกค้าเกินจริง ยอดรวมเพี้ยน

ตัวอย่างจริงร้านขายของออนไลน์มี "คุณสมชาย 081-234-5678" อยู่ 3 แถว (พิมพ์ชื่อต่างกันนิดหน่อย) → ระบบนับเป็นลูกค้า 3 คน ส่ง SMS โปรซ้ำ 3 ครั้ง ลูกค้ารำคาญ + ยอด "ลูกค้าทั้งหมด" พองเกินจริง
วิธีแก้:จับซ้ำด้วย "ตัวระบุที่ไม่ซ้ำ" — เบอร์โทร / อีเมล / เลขบัตร(ไม่ใช่ชื่อ เพราะสะกดต่างได้) แล้ว ยุบรวมเหลือแถวเดียวเก็บข้อมูลที่ครบ/ใหม่สุด
ระวัง
ก่อนยุบ ดูให้ดีว่า "ซ้ำจริง" — เบอร์เดียวกันอาจเป็นคนละคน (สามี-ภรรยาใช้เบอร์เดียว) เช็กชื่อ+ที่อยู่ประกอบ
ตารางลูกค้า ยุบรวม
ก่อน · 3 แถวซ้ำ
ชื่อเบอร์ยอดซื้อ
สมชาย ใจดี081-234-5678฿1,200
สมชาย0812345678฿800
คุณสมชาย ใจดี081-234-5678฿500
↓ จับซ้ำด้วยเบอร์ → ยุบรวม
หลัง · 1 แถว
ชื่อเบอร์ยอดซื้อรวม
สมชาย ใจดี0812345678฿2,500
อ่านได้ว่า:3 แถวกลายเป็น 1 ลูกค้า · ยอดซื้อรวมถูกต้อง ฿2,500 (ไม่ใช่กระจัดกระจาย) · นับหัวลูกค้าตรงความจริง
2. ข้อมูลขาด Missing / Null

ช่องที่ ว่างเปล่า— ไม่มีเบอร์ ไม่มีอีเมล ไม่มียอด. ปัญหาคือช่องว่างทำให้คำนวณเพี้ยน (เฉลี่ยผิด นับผิด) และทำงานต่อไม่ได้ (ส่งอีเมลไม่ได้เพราะไม่มีอีเมล)

ตัวอย่างจริงร้านอาหารมีตารางยอดขายรายวัน แต่บางวันลืมกรอก (ช่องว่าง) → พอคำนวณ "ยอดเฉลี่ยต่อวัน" โปรแกรมบางตัวนับวันว่างเป็น 0 ทำให้ค่าเฉลี่ยต่ำกว่าจริง เจ้าของนึกว่าร้านแย่ลง ทั้งที่จริงแค่ลืมกรอก
วิธีแก้ (เลือกตามกรณี):เติมถ้าหาค่าได้จริง · ② ทำเครื่องหมาย "ไม่มี/N/A"ให้ชัด (อย่าปล่อยว่างเฉย ๆ) · ③ ตัดทิ้งถ้าแถวนั้นใช้ไม่ได้เลย
ระวัง
"ช่องว่าง" กับ "เลข 0" ไม่เหมือนกัน— วันที่ไม่ได้ขายเลย = 0, วันที่ลืมกรอก = ว่าง. ปนกันเมื่อไหร่ ยอดรวม/เฉลี่ยเพี้ยนทันที
ยอดขายรายวัน เติม/ทำเครื่องหมาย
ก่อน · มีช่องว่าง
วันที่เบอร์ติดต่อยอดขาย
1 มิ.ย.0891112222฿8,400
2 มิ.ย.(ว่าง)(ว่าง)
3 มิ.ย.0843334444฿6,100
↓ เติม / ทำเครื่องหมายให้ชัด
หลัง · ชัดเจน
วันที่เบอร์ติดต่อยอดขาย
1 มิ.ย.0891112222฿8,400
2 มิ.ย.ไม่มีข้อมูล฿7,250 *
3 มิ.ย.0843334444฿6,100
อ่านได้ว่า:เบอร์ที่หาไม่ได้ใส่ "ไม่มีข้อมูล" (ไม่ปล่อยว่าง) · ยอดขายเติมจากใบเสร็จย้อนหลัง ฿7,250 ติด * ว่าเป็นค่าประมาณ → ค่าเฉลี่ยไม่เพี้ยน
3. รูปแบบไม่ตรงกัน Format

ค่าเดียวกัน แต่ เขียนคนละแบบ— วันที่ "1/2/68" กับ "2025-02-01", เบอร์ "081-234-5678" กับ "+66 81 234 5678". คอมพิวเตอร์มองเป็นคนละค่า เรียงผิด จับคู่ไม่เจอ

ตัวอย่างจริงร้านรวมรายชื่อลูกค้าจาก 2 ที่ (LINE + Excel หน้าร้าน) วันเกิดเขียนคนละแบบ → พอจะส่งโปรวันเกิด ระบบจับวันที่ไม่ตรง ลูกค้าครึ่งหนึ่งไม่ได้รับ. หรือเบอร์รูปแบบต่าง ทำให้จับซ้ำ (ข้อ 1) ไม่เจอด้วย
วิธีแก้:เลือก "มาตรฐานเดียว"ให้ทั้งคอลัมน์ — วันที่ใช้ YYYY-MM-DDเสมอ, เบอร์เก็บแบบ 0812345678(ไม่มีขีด/เว้นวรรค) แล้วแปลงทุกแถวให้เหมือนกัน
ระวัง
วันที่ "1/2/68" คลุมเครือ — 1 ก.พ. หรือ 2 ม.ค.? และปี 68 = พ.ศ. หรือ ค.ศ.? ต้องรู้ที่มาก่อนแปลง ไม่งั้นเดาผิดทั้งคอลัมน์
ทำรูปแบบมาตรฐาน วันที่ · เบอร์
ก่อน · ปนกันมั่ว
ลูกค้าวันเกิดเบอร์
มาลี1/2/68081-234-5678
ปิติ2025-02-01+66 89 111 2222
วิภา1 ก.พ. 25680843334444
↓ แปลงเป็นมาตรฐานเดียว
หลัง · รูปแบบเดียว
ลูกค้าวันเกิดเบอร์
มาลี2025-02-010812345678
ปิติ2025-02-010891112222
วิภา2025-02-010843334444
อ่านได้ว่า:วันที่ทุกแถวเป็น YYYY-MM-DDเรียง/จับคู่ได้ · เบอร์เป็น 10 หลักล้วน ไม่มีขีด → ส่งโปรวันเกิดได้ครบ + จับซ้ำเจอ
4. สะกดต่าง / ชื่อไม่นิ่ง Typo / Inconsistent

สิ่งเดียวกัน เรียก หลายชื่อ— "กรุงเทพ" / "กทม." / "Bangkok" / "กรุงเทพฯ" คือที่เดียวกัน แต่ระบบนับแยกกัน. รวมถึงพิมพ์ผิด "กรุงเทพพ". ทำให้สรุปรายจังหวัด/หมวด กระจัดกระจาย

ตัวอย่างจริงร้านอยากรู้ "ลูกค้าจังหวัดไหนเยอะสุด" → รายงานขึ้น กรุงเทพ 120, กทม. 80, Bangkok 45 เป็น 3 บรรทัดแยก. จริง ๆ คือ 245 คนที่เดียว แต่ดูแล้วนึกว่ากระจาย ตัดสินใจเปิดสาขาผิดที่
วิธีแก้:ทำ "ตารางจับคู่" (mapping)— กำหนดว่าทุกแบบที่เขียนต่างกัน → แปลงเป็น ค่ามาตรฐานค่าเดียว(เช่น ทุกอย่างที่หมายถึงเมืองหลวง → "กรุงเทพมหานคร")
ระวัง
อย่าเหมารวมมั่ว — "สมุทรปราการ" ไม่ใช่ "กรุงเทพ" แม้ติดกัน. ให้คนที่รู้จริงตรวจตาราง mapping ก่อนใช้
รวมชื่อจังหวัด mapping
ก่อน · นับแยก 3 ค่า
จังหวัด (ดิบ)จำนวน
กรุงเทพ120
กทม.80
Bangkok45
↓ mapping → ค่าเดียว
หลัง · นับรวมถูก
จังหวัด (มาตรฐาน)จำนวน
กรุงเทพมหานคร245
อ่านได้ว่า:3 บรรทัดที่กระจาย ยุบเป็น 1 จังหวัด = 245 คน · เห็นชัดว่าเมืองหลวงคือตลาดหลัก ตัดสินใจถูก
5. ช่องว่าง & ตัวพิมพ์ Whitespace / Case

ค่าเดียวกันแต่มี ช่องว่างเกินหัว-ท้ายหรือ ตัวพิมพ์ใหญ่-เล็กต่างกัน— " John " / "JOHN" / "john" คนมองว่าเหมือนกัน แต่คอมพิวเตอร์นับเป็น 3 ค่า. เป็นต้นเหตุซ่อนของ"จับซ้ำไม่เจอ" และ "นับแยก"

ตัวอย่างจริงร้านรับสมัครสมาชิกผ่านฟอร์ม ลูกค้าพิมพ์อีเมล "Somchai@Gmail.com" บ้าง "somchai@gmail.com " (มีเว้นวรรคท้าย) บ้าง → ระบบมองเป็นคนละอีเมล สร้างบัญชีซ้ำ ส่งคูปองซ้ำ ลูกค้างง
วิธีแก้:trim= ตัดช่องว่างหัว-ท้ายทิ้ง · ② ปรับ case ให้ตรง— อีเมล/รหัสทำเป็นตัวเล็กทั้งหมด, ชื่อทำตัวขึ้นต้นใหญ่ให้เหมือนกัน
ระวัง
บางค่า case สำคัญ — รหัสผ่าน, รหัสสินค้าบางระบบ "AB12" ≠ "ab12". อย่าแปลงรวด เช็กก่อนว่าคอลัมน์ไหนแปลงได้
trim + ปรับ case อีเมล · ชื่อ
ก่อน · นับเป็น 3 คน
ชื่อ (ดิบ)อีเมล (ดิบ)
" John "Somchai@Gmail.com
JOHNsomchai@gmail.com 
johnSOMCHAI@gmail.com
↓ trim + ตัวพิมพ์มาตรฐาน
หลัง · เหลือ 1 ค่า
ชื่ออีเมล
Johnsomchai@gmail.com
อ่านได้ว่า:ช่องว่างหัว-ท้ายหายหมด · อีเมลเป็นตัวเล็กล้วน = ค่าเดียว · ชื่อรูปแบบเดียว → ไม่เกิดบัญชีซ้ำ ส่งคูปองครั้งเดียวพอ
6. ค่าผิดปกติ Outlier / Error

ค่าที่ เป็นไปไม่ได้หรือผิดชัด ๆ— อายุ 999, ราคาติดลบ, วันที่อยู่ในอนาคต, ยอดขายวันเดียว 100 ล้าน. มักเกิดจากพิมพ์ผิด/นำเข้าเพี้ยน. ถ้าปล่อยไว้ ค่าเฉลี่ย-ยอดรวมจะพังทันที

ตัวอย่างจริงร้านพนักงานกรอกยอดขายมือ พิมพ์ ฿45,000 เป็น ฿4,500,000 (เกิน 0 ไป 2 ตัว) → ยอดเดือนนั้นพุ่ง เจ้าของดีใจ จ่ายโบนัส พอปิดบัญชีจริงถึงรู้ว่าผิด เงินออกไปแล้ว
วิธีแก้: ตั้งกฎช่วงที่สมเหตุผล(อายุ 0–120, ราคา > 0, วันที่ ≤ วันนี้) แล้ว ดักจับค่าที่หลุดกรอบออกมาตรวจ → แก้ให้ถูก หรือตั้งกฎกันที่หน้ากรอก (ดูข้อ "กันดีกว่าแก้")
ระวัง
ค่าสูงผิดปกติ บางทีคือ "ของจริง" (วันมีงานใหญ่ยอดพุ่งจริง) — อย่าลบทิ้งทันที ตรวจก่อนว่าผิดหรือจริง
ดักค่าผิดปกติ ตั้งกฎ
ก่อน · มีค่าพังปน
รายการค่าสถานะ
อายุลูกค้า999เกินกรอบ
ราคาสินค้า-50ติดลบ
ยอดขาย 5 มิ.ย.฿4,500,000พิมพ์เกิน 0
↓ ดักจับ → แก้/ตั้งกฎ
หลัง · แก้แล้ว
รายการค่าสถานะ
อายุลูกค้า39✓ ตรวจแล้ว
ราคาสินค้า50✓ แก้เครื่องหมาย
ยอดขาย 5 มิ.ย.฿45,000✓ ตัด 0 เกิน
อ่านได้ว่า:ค่าหลุดกรอบถูกดักออกมาก่อนเข้ารายงาน · แก้ให้สมเหตุผล → ยอดรวม/เฉลี่ยไม่พัง ไม่จ่ายโบนัสผิด
7. ชนิดผิด Wrong Type

ตัวเลขถูกเก็บเป็น "ข้อความ"— หน้าตาเหมือนเลข แต่คอมพิวเตอร์มองเป็นตัวหนังสือ. ผลคือ บวกเลขไม่ได้(ได้ "100200" แทน 300) และ เรียงผิด("10" มาก่อน "9")

ตัวอย่างจริงร้านเอายอดขายจาก TikTok/Excel มารวม แต่ช่องยอดมีสัญลักษณ์ "฿" หรือ "," ติดมา → กลายเป็นข้อความ. พอกด SUM ใน Excel ได้ 0 หรือ error เจ้าของนึกว่าโปรแกรมพัง ที่จริงข้อมูลชนิดผิด
วิธีแก้: แปลงชนิดให้ถูก— เอาสัญลักษณ์ ฿ , เว้นวรรค ออกก่อน แล้วเปลี่ยนช่องเป็น "ตัวเลข". วันที่ก็ต้องเป็นชนิด "วันที่" ไม่ใช่ข้อความ ถึงจะเรียง/คำนวณช่วงได้
ระวัง
เลขที่ "ไม่ใช่จำนวน" อย่าแปลงเป็นตัวเลข — เบอร์โทร/เลขบัตร/รหัสไปรษณีย์ ต้องเป็นข้อความ ไม่งั้น 0 นำหน้าหาย ("081..." กลายเป็น "81...")
แปลงชนิด ข้อความ → ตัวเลข
ก่อน · เก็บเป็นข้อความ
เดือนยอด (ข้อความ)
เม.ย."฿1,200"
พ.ค."฿900"
รวม (SUM)✗ error / 0
↓ ลบ ฿ , → แปลงเป็นตัวเลข
หลัง · เป็นตัวเลขจริง
เดือนยอด (ตัวเลข)
เม.ย.1200
พ.ค.900
รวม (SUM)2100 ✓
อ่านได้ว่า:เอา ฿ และ , ออก แปลงเป็นตัวเลข → SUM ได้ 2,100 ถูกต้อง (ไม่ใช่ต่อกันเป็น "1200900") · เรียงมาก-น้อยก็ถูก
กันดีกว่าแก้ Validation ที่ต้นทาง

ปัญหาทั้ง 7 ข้อข้างบน ส่วนใหญ่กันได้ตั้งแต่ตอนกรอก— แก้ที่ "ต้นทาง" (หน้าฟอร์ม/ช่องกรอก) ถูกและเร็วกว่ามานั่งไล่ล้างทีหลังเป็นร้อยเท่า. ของเสียที่ไม่เข้ามา = ไม่ต้องล้าง

ตัวอย่างจริงร้านเปลี่ยนช่อง "จังหวัด" ในฟอร์มจากพิมพ์อิสระ → เป็น dropdown ให้เลือก· ช่องเบอร์ บังคับ 10 หลักตัวเลขล้วน· กันอีเมลซ้ำตอนสมัคร → 3 เดือนต่อมา ข้อมูลแทบไม่ต้องล้างเลย
บังคับรูปแบบ:เบอร์ต้อง 10 หลัก, อีเมลต้องมี @, วันที่เลือกจากปฏิทิน
ใช้ตัวเลือก (dropdown):จังหวัด/หมวด/สถานะ ให้เลือก ไม่ให้พิมพ์เอง = ไม่มีสะกดต่าง
ห้ามซ้ำ:เบอร์/อีเมลเดิมมีแล้ว เตือนทันที ไม่ให้สร้างบัญชีซ้ำ
หลักคิด
ทุก 1 บาทที่ลงทุนกันข้อมูลผิดที่หน้ากรอก = ประหยัดหลายสิบบาทค่าไล่ล้าง + ตัดสินใจผิดทีหลัง
ฟอร์มกรอก: ปล่อย vs กัน ต้นทาง
ก่อน · พิมพ์อิสระ
ช่องที่ลูกค้ากรอก
จังหวัดกทม / กรุงเทพ / bkk
เบอร์081-234 (ไม่ครบ)
อีเมลsomchai (ไม่มี @)
↓ ใส่ validation ที่ฟอร์ม
หลัง · บังคับตอนกรอก
ช่องรับเฉพาะ
จังหวัด▼ เลือกจาก 77 จังหวัด
เบอร์ตัวเลข 10 หลักเท่านั้น
อีเมลต้องมี @ + จุด
อ่านได้ว่า:ข้อมูลสะอาด "ตั้งแต่เข้า" ไม่ต้องไล่ล้างทีหลัง · dropdown ฆ่าปัญหาสะกดต่าง · บังคับรูปแบบฆ่าปัญหา format + ขาด
ใช้ AI ช่วยล้าง Claude / ผู้ช่วย AI

ถ้าข้อมูลกองโตเป็นหมื่นแถว ล้างมือไม่ไหว — ให้ AI เขียนสคริปต์ให้. คุณไม่ต้องเขียนโค้ดเป็น แค่บอกว่า "ไฟล์หน้าตาแบบนี้ อยากได้แบบนี้" AI จะร่างสคริปต์หา duplicate / standardize ให้รันได้เลย

ตัวอย่างจริงเจ้าของร้านมีไฟล์ลูกค้า Excel 12,000 แถว เบอร์รูปแบบมั่ว ชื่อจังหวัดสะกดต่าง → ส่งหัวตาราง 10 แถวแรกให้ Claude บอกว่าอยากได้อะไร → ได้สคริปต์มาทำความสะอาดทั้งไฟล์ใน 5 นาที จากเดิมจะนั่งแก้มือเป็นวัน
▍ ตัวอย่าง prompt บอก Claudeนี่คือไฟล์ลูกค้า Excel มี 5 คอลัมน์: ชื่อ, เบอร์, อีเมล, จังหวัด, ยอดซื้อ (แนบ 10 แถวแรกให้ดู) ช่วยเขียนสคริปต์ Python ทำความสะอาด: 1. จับลูกค้าซ้ำด้วย "เบอร์" แล้วยุบรวม (ยอดซื้อบวกกัน) 2. เบอร์ทำเป็น 10 หลักล้วน ตัดขีด/เว้นวรรค 3. จังหวัดรวม กทม./กรุงเทพ/Bangkok → "กรุงเทพมหานคร" 4. ตัดช่องว่างหัว-ท้าย + อีเมลทำตัวเล็ก 5. แถวที่เบอร์ว่าง ทำเครื่องหมายไว้ อย่าลบ อธิบายทีละขั้นด้วยว่าโค้ดทำอะไร
ระวัง
ตรวจผลเสมอ— AI อาจเหมารวมผิด (จับจังหวัดที่ไม่ควรรวม). รันกับสำเนา แล้วสุ่มเช็กผลก่อนใช้กับไฟล์จริง
AI ช่วยขั้นไหนได้บ้าง เลขาช่วยล้าง
งานAI ช่วยยังไง
หาข้อมูลซ้ำเขียนสคริปต์จับซ้ำด้วยเบอร์/อีเมล
จัดรูปแบบแปลงวันที่/เบอร์ทั้งคอลัมน์
รวมชื่อต่างร่างตาราง mapping ให้ตรวจ
หาค่าผิดปกติไล่หาค่าหลุดกรอบมาให้ดู
แปลงชนิดลบ ฿ , แล้วเปลี่ยนเป็นตัวเลข
สรุปคุณภาพบอกว่าไฟล์มีปัญหากี่จุด ตรงไหน
อ่านได้ว่า:AI ทำงานซ้ำ ๆ น่าเบื่อแทนเรา · แต่ การตัดสินใจ "รวมอะไรกับอะไร" ยังต้องเป็นคนที่รู้ธุรกิจตรวจ

เช็กลิสต์ "ข้อมูลสะอาด"

ไม่มีลูกค้า/สินค้าซ้ำ (ยุบด้วยเบอร์/อีเมลแล้ว)✓ ไม่ซ้ำ
ช่องว่างถูกเติม หรือทำเครื่องหมาย "ไม่มี" (ไม่ปล่อยเปล่า)✓ ไม่ขาด
วันที่/เบอร์/เงิน รูปแบบเดียวกันทั้งคอลัมน์✓ รูปแบบตรง
ชื่อ/จังหวัด/หมวด ใช้ค่ามาตรฐานเดียว (ไม่สะกดต่าง)✓ ชื่อนิ่ง
ตัด trim ช่องว่าง + ตัวพิมพ์ปรับให้ตรง✓ สะอาดตา
ไม่มีค่าเป็นไปไม่ได้ (อายุ 999, ติดลบ, อนาคต)✓ ค่าสมเหตุผล
ตัวเลขเป็นชนิดตัวเลข (บวก/เรียงได้) เบอร์เป็นข้อความ✓ ชนิดถูก
มี validation ที่ฟอร์มกรอก (กันของเสียเข้าใหม่)✓ กันต้นทาง

อย่าทำพลาด — กฎเหล็กก่อนล้างข้อมูล

คำถามที่พบบ่อย

Q.Data Cleaning (ทำความสะอาดข้อมูล) คืออะไร?

คือการแก้ข้อมูลที่ "สกปรก" ให้ใช้งานได้ — ลบข้อมูลซ้ำ เติมข้อมูลที่ขาด จัดรูปแบบให้ตรงกัน รวมชื่อที่สะกดต่าง และตัดค่าผิดปกติออก. เป้าหมายคือให้รายงานและการตัดสินใจที่อิงข้อมูลนี้ "ถูกต้อง" เพราะ garbage in = garbage out (ข้อมูลขยะเข้า → ผลลัพธ์ขยะออก)

Q.ข้อมูลซ้ำกับข้อมูลขาด ต่างกันยังไง?

ข้อมูลซ้ำ (duplicate) = สิ่งเดียวกันมีหลายแถว เช่นลูกค้าคนเดียวโผล่ 3 ครั้ง ทำให้นับเกินจริง. ข้อมูลขาด (missing/null) = ช่องว่างเปล่า ไม่มีค่า เช่นไม่มีเบอร์ ทำให้คำนวณเพี้ยนและทำงานต่อไม่ได้. ซ้ำ→ยุบรวม, ขาด→เติม/ทำเครื่องหมาย/ตัดทิ้งตามกรณี

Q.ไม่เขียนโค้ดเป็น ทำความสะอาดข้อมูลได้ไหม?

ได้. ข้อมูลปริมาณน้อยใช้ Excel/Google Sheets ก็พอ (ฟังก์ชัน Remove Duplicates, TRIM, Find & Replace). ข้อมูลกองใหญ่ให้ AI อย่าง Claude เขียนสคริปต์ให้ — คุณแค่บอกว่าไฟล์หน้าตาแบบไหน อยากได้แบบไหน แล้วเอาสคริปต์ไปรัน (ตรวจผลกับสำเนาก่อนเสมอ)

Q.ทำยังไงไม่ให้ข้อมูลสกปรกตั้งแต่แรก?

กันที่ "ต้นทาง" คือหน้าฟอร์มกรอก — บังคับรูปแบบ (เบอร์ 10 หลัก, อีเมลต้องมี @), ใช้ dropdown ให้เลือกแทนพิมพ์เอง (กันสะกดต่าง), และกันค่าซ้ำตอนสมัคร. การกันที่ต้นทางถูกและเร็วกว่ามาไล่ล้างทีหลังหลายเท่า

พี่ปุ้ย ปริวรรตน์ อรุโณทยานันท์ ผู้คิดและเขียนเว็บ Skills Lab
คิด เขียน และเป็นเจ้าของไอเดียเว็บนี้โดย พี่ปุ้ย ปริวรรตน์ อรุโณทยานันท์
ผู้เชี่ยวชาญวางระบบองค์กร & AI — สอนเจ้าของกิจการสร้างระบบของตัวเองมากกว่า 400 คน
ประวัติพี่ปุ้ย ·  ดูคอร์ส →
กลับห้องสมุดออกแบบ