ก่อนวิเคราะห์สถิติด้วย SPSS, R หรือ JASP ข้อมูลดิบจากแบบสอบถามมักเต็มไปด้วยช่องว่าง คำตอบสะกดไม่เหมือนกัน ค่าที่กรอกผิด และแถวซ้ำ การ ทำความสะอาดข้อมูล (data cleaning) ด้วย Excel และ Google Sheets อย่างเป็นระบบจึงเป็นทักษะพื้นฐานที่ทำให้ผลวิเคราะห์เชื่อถือได้ แม้ไม่เคยเขียนโปรแกรม
ทำไมต้อง ทำความสะอาดข้อมูล ก่อนวิเคราะห์
หลักการของงานเชิงปริมาณคือ “garbage in, garbage out” ถ้าข้อมูลที่ป้อนผิด ผลก็ผิดทันทีไม่ว่าสถิติจะซับซ้อนแค่ไหน ปัญหาที่พบบ่อย: คำตอบปลายเปิดสะกดต่างกัน (“กรุงเทพ” vs “กรุงเทพฯ” โปรแกรมนับคนละกลุ่ม), ค่าเกินช่วง (อายุ 200 ปี), ช่องเว้นว่าง, และแถวซ้ำ หากปล่อยไว้ ค่าเฉลี่ย ความถี่ และการทดสอบสมมติฐานคลาดเคลื่อนหมด Excel/Sheets เหมาะกับงานนี้เพราะเห็นทั้งตาราง แก้ได้ทันที มีฟังก์ชันตรวจสอบโดยไม่ต้องเขียนโค้ด
วางโครงตารางให้ถูกหลักตั้งแต่ต้น (tidy data)
หัวใจคือ “หนึ่งแถวต่อหนึ่งหน่วยตัวอย่าง หนึ่งคอลัมน์ต่อหนึ่งตัวแปร” แถวแรกเป็นชื่อหัวคอลัมน์ชั้นเดียว (ห้ามหัวตารางซ้อนหลายชั้น) ทุกช่องมีค่าเดียว
- ตั้งชื่อตัวแปรสั้น ไม่มีเว้นวรรค/อักขระพิเศษ เช่น sex, age, edu, q1, q2 (ชื่อยาวสร้างปัญหาเมื่อเข้า SPSS/R)
- กันคอลัมน์แรกเป็นรหัสผู้ตอบ (ID) เพื่อย้อนกลับไปตรวจกับแบบสอบถามต้นฉบับ
- ทำสมุดรหัสตัวแปร (codebook) แยกชีต ระบุความหมายและรหัส เช่น เพศ 1=ชาย 2=หญิง
เครื่องมือและฟังก์ชันสำคัญ
ฟังก์ชันข้อความ: TRIM ตัดช่องว่างซ้ำ (สาเหตุยอดฮิตที่ทำให้คำตอบเดียวถูกนับคนละกลุ่ม), UPPER/LOWER/PROPER ปรับตัวพิมพ์, SUBSTITUTE แทนที่อักขระ, CLEAN ลบอักขระควบคุม · รวมคำที่สะกดต่างให้เป็นมาตรฐานด้วย Find & Replace (Ctrl+H) หรือ IF/IFS แล้ว Paste Values ตรึงค่า
| งาน | Excel | Google Sheets |
|---|---|---|
| ตัดช่องว่าง | ฟังก์ชัน TRIM | TRIM หรือ Data cleanup |
| ลบแถวซ้ำ | Data > Remove Duplicates | Data > Data cleanup |
| แทนที่คำ | Find & Replace (Ctrl+H) | Find & Replace (Ctrl+H) |
| กรองดูเฉพาะกลุ่ม | Filter / AutoFilter | Create a filter |
| ไฮไลต์ค่าผิดปกติ | Conditional Formatting | Conditional formatting |
ก่อนลบแถวซ้ำ ควรพิจารณาจากคอลัมน์ ID เพื่อไม่เผลอลบผู้ตอบคนละคนที่บังเอิญตอบเหมือนกันทุกข้อ (เทียบแนวทางใน คู่มือ Clean your data ของ Microsoft)
ตรวจค่าผิดปกติและข้อมูลที่หายไป
เปิด Filter ที่หัวคอลัมน์แล้วไล่ดูค่าที่ไม่ซ้ำ หากเห็นค่าแปลก (เพศมีเลข 3, อายุเป็น 0) จับได้ทันที หรือใช้ Conditional Formatting ไฮไลต์ค่านอกเกณฑ์ ส่วนข้อมูลที่หาย (missing) ให้ตัดสินแต่ต้นว่าแทนด้วยอะไร — ปล่อยว่างจริง หรือใช้รหัสเฉพาะ (99, -9) แล้วประกาศให้โปรแกรมรู้ว่าเป็นค่าสูญหาย ห้ามแทนด้วย 0 เพราะ 0 มีความหมายและทำให้ค่าเฉลี่ยเพี้ยน ใช้ COUNTBLANK นับช่องว่าง
ลงรหัส (coding) ให้พร้อมวิเคราะห์
โปรแกรมสถิติทำงานกับตัวเลขดีกว่าข้อความ แปลงคำตอบเป็นตัวเลขตามสมุดรหัส เช่น การศึกษา ต่ำกว่าตรี=1 ตรี=2 สูงกว่าตรี=3 สำหรับมาตรลิเคิร์ตแปลงเป็น 1–5 และ อย่าลืมกลับรหัสข้อเชิงลบ (reverse coding) ก่อนรวมคะแนน มิฉะนั้นค่าความเชื่อมั่นและคะแนนรวมผิด ใช้ IFS หรือ VLOOKUP/XLOOKUP เทียบตารางรหัส แล้ว Paste Values + สุ่มตรวจ 10–15 รายการ
เตรียมไฟล์ส่งออกเข้าโปรแกรมสถิติ
ตรวจว่าแถวแรกเป็นชื่อตัวแปรชั้นเดียว ไม่มีแถวว่างคั่น ไม่มีเซลล์ผสาน (merged cells) ไม่มีกราฟ/สรุปปนในชีตข้อมูล · บันทึก .xlsx สำหรับ SPSS เวอร์ชันใหม่ หรือ CSV (UTF-8) สำหรับ R · ข้อมูลไทยต้องเลือก UTF-8 มิฉะนั้นตัวอักษรเพี้ยน · ตั้งชื่อไฟล์เป็นเวอร์ชัน (data_clean_v1, data_clean_final)
Excel กับ Google Sheets เลือกใช้ตอนไหน
Excel เหมาะกับข้อมูลใหญ่ คำนวณหนัก และส่งต่อโปรแกรมสถิติบนเครื่องเดียวกัน · Google Sheets เด่นเรื่องทำงานออนไลน์ หลายคนพร้อมกัน และเชื่อม Google Forms ตรง (คำตอบไหลเข้าชีตอัตโนมัติ) เหมาะกับขั้นเก็บ/จัดการช่วงแรก ในทางปฏิบัติมักใช้คู่กัน: เก็บผ่าน Forms→Sheets ทำความสะอาดเบื้องต้น แล้วดาวน์โหลดเป็น Excel/CSV จัดการขั้นสุดท้าย
คำถามที่พบบ่อย (FAQ)
- ต้องเขียนสูตรเก่งไหมถึงจะทำได้
- ไม่จำเป็น งานระดับวิทยานิพนธ์ส่วนใหญ่ใช้แค่ฟังก์ชันพื้นฐาน (TRIM, IF, COUNTBLANK) และเมนู (Filter, Remove Duplicates, Find & Replace) สิ่งที่สำคัญกว่าคือความเป็นระบบและการตรวจสอบซ้ำ
- ข้อมูลภาษาไทยเปิดใน R/SPSS แล้วเพี้ยน แก้ยังไง
- เกือบทั้งหมดเกิดจากการเข้ารหัส ให้บันทึก CSV เป็น UTF-8 และเปิดในโปรแกรมปลายทางด้วย UTF-8 หากยังเพี้ยนลองนำเข้าเป็น .xlsx โดยตรงซึ่งมักรักษาตัวอักษรไทยได้ดีกว่า
- ควรลบค่าผิดปกติ (outlier) ทิ้งเลยไหม
- ไม่ควรลบอัตโนมัติ ค่าผิดปกติอาจเป็นค่าจริงที่มีความหมาย ตรวจกับต้นฉบับก่อน หากตัดออกต้องมีเกณฑ์ชัดเจนและรายงานในวิธีดำเนินการวิจัย
- Google Forms ส่งข้อมูลเข้า Sheets อัตโนมัติได้จริงไหม
- ได้ เชื่อมผลตอบไป Google Sheets ได้ตรง ทุกครั้งที่มีผู้ตอบข้อมูลจะเพิ่มเป็นแถวใหม่อัตโนมัติ แต่ยังต้องทำความสะอาดและลงรหัสก่อนวิเคราะห์
- ทำความสะอาดข้อมูลใช้เวลานานแค่ไหน
- ขึ้นกับขนาดและคุณภาพข้อมูล แต่มักกินเวลามากกว่าที่คาด ควรเผื่อเวลาให้พอ เพราะการเร่งทำลวก ๆ มักต้องย้อนกลับมาแก้หลังพบผลผิดปกติ
