Back to: Google Sheet X MS Excel For Data Analytics
ชนิดข้อมูล (Data Types) และทำไมมันกำหนดว่าคุณคำนวณอะไรได้
เซลล์หน้าตาเหมือนกันหมด แต่ “ชนิดข้อมูล” ที่ซ่อนอยู่ข้างในต่างหากที่ตัดสินว่าสูตรของคุณจะทำงานหรือพัง ตอนนี้จะพาไปรู้จักชนิดข้อมูลหลักและกับดักที่คนวิเคราะห์ข้อมูลเจอบ่อยที่สุด
ผมเคยเจอปัญหาที่ยอดขายรวมไม่ครบ ทั้งที่ตัวเลขในตารางดูถูกต้องทุกช่อง สาเหตุคือมีบางเซลล์ที่หน้าตาเป็นตัวเลข แต่ในสายตาโปรแกรมมันคือ “ข้อความ” — SUM เลยข้ามไปเฉยๆ โดยไม่มี error ให้เห็นด้วยซ้ำ
เรื่องแบบนี้แก้ง่ายมากถ้ารู้จักชนิดข้อมูลไว้ก่อน ตอนนี้เราจะไล่ดูทีละแบบ
ชนิดข้อมูลหลักที่ต้องรู้จัก
ทุกเซลล์ในสเปรดชีตจะถูกจัดเข้าชนิดใดชนิดหนึ่งต่อไปนี้เสมอ ไม่ว่าจะอยู่ใน Sheets หรือ Excel:
| ชนิด | ตัวอย่างที่เห็น | พฤติกรรมสำคัญ |
|---|---|---|
| NUMBER | 1250, 3.14, -8 | ชิดขวาอัตโนมัติ ใช้ SUM/AVERAGE ได้ตรงๆ |
| TEXT | เชียงใหม่, INV-0091 | ชิดซ้ายอัตโนมัติ คำนวณทางคณิตศาสตร์ไม่ได้ |
| DATE / TIME | 21/07/2026 | จริงๆ คือตัวเลขลำดับวัน (serial number) แค่ใส่ฟอร์แมตให้ดูเป็นวันที่ |
| BOOLEAN | TRUE, FALSE | ใช้ในเงื่อนไข ผลลัพธ์ของสูตรเปรียบเทียบเช่น A1>10 |
| ERROR | #N/A, #DIV/0!, #VALUE! | สูตรคำนวณไม่ได้ ต้องแก้ที่ต้นตอ ไม่ใช่ปล่อยผ่าน |
ตัวเลขที่จริงๆ คือ “วันที่” — ความลับที่ทุกคนควรรู้
ทั้ง Sheets และ Excel ไม่ได้เก็บวันที่เป็นข้อความ แต่เก็บเป็นตัวเลขลำดับวัน (serial number) นับจากจุดเริ่มต้นค่าเดียว แล้วค่อยใส่ “รูปแบบการแสดงผล” ให้ดูเหมือนวันที่ นี่คือเหตุผลที่คุณเอาวันที่มาลบกันแล้วได้จำนวนวันออกมาตรงๆ ได้
ถ้าเปลี่ยนฟอร์แมตเซลล์ที่มีวันที่ให้เป็น “Number” ธรรมดา คุณจะเห็นตัวเลขห้าหลักโผล่ขึ้นมาแทนวันที่ นั่นคือค่าจริงที่โปรแกรมเก็บไว้ข้างใน ลองทำดูได้เลย
กับดักที่เจอบ่อยที่สุด: ตัวเลขที่แอบเป็นข้อความ
อาการนี้เกิดบ่อยตอนคัดลอกข้อมูลมาจากระบบอื่น หรือมีคนพิมพ์เลขนำหน้าด้วยเครื่องหมาย apostrophe (') วิธีสังเกตง่ายๆ:
- ตัวเลขที่ชิดซ้ายของช่อง แทนที่จะชิดขวา = สงสัยไว้ก่อนว่าเป็นข้อความ
- ใช้
SUMแล้วผลรวมน้อยกว่าที่ควรจะเป็น แบบไม่มี error เตือน - ใช้ฟังก์ชัน
ISTEXT()หรือISNUMBER()เช็คตรงๆ ได้เลย
วิธีแปลง “ตัวเลขปลอม” ให้เป็นตัวเลขจริงเร็วที่สุด: เอา 1 ไปคูณ หรือใช้ =VALUE(A2) ก็ได้ ถ้ามีทั้งคอลัมน์ ใช้ Data → Text to Columns (Excel) หรือ Data → Split text to columns (Sheets) กด Finish เฉยๆ ก็มักจะแปลงให้อัตโนมัติ
เห็นชิดขวา = ตัวเลข/วันที่ (คำนวณได้) · เห็นชิดซ้าย = ข้อความ (คำนวณไม่ได้จนกว่าจะแปลง) — จำแค่นี้ก่อนพอ
สรุปตอนนี้
- ทุกเซลล์มีชนิดข้อมูลเสมอ: Number, Text, Date/Time, Boolean, Error
- วันที่ไม่ใช่ข้อความ แต่คือตัวเลขลำดับวันที่ถูกจัดฟอร์แมตให้ดูเป็นวันที่
- ตัวเลขที่ชิดซ้ายคือสัญญาณเตือนว่าอาจเป็นข้อความ ให้เช็คด้วย ISNUMBER ก่อนคำนวณ
- แปลงข้อความเป็นตัวเลขได้ด้วย VALUE() หรือ Text to Columns
แบบฝึกหัด: จับ “ตัวเลขปลอม” ในตาราง
พิมพ์ตารางนี้ลงในทั้ง Sheets และ Excel โดยตั้งใจพิมพ์แถวที่ 3 ให้มี apostrophe (') นำหน้าตัวเลขยอดขาย เพื่อจำลองข้อมูลเพี้ยนที่เจอจริงในงาน
| สาขา | ยอดขาย |
|---|---|
| เชียงใหม่ | 152300 |
| กรุงเทพ | 481900 |
| ขอนแก่น | ‘98750 |
- ใส่สูตร
=SUM(B2:B4)ไว้ที่เซลล์ B5 แล้วสังเกตว่าผลรวมขาดยอดของขอนแก่นไปหรือเปล่า - ใส่สูตร
=ISNUMBER(B4)เพื่อยืนยันว่าเซลล์นั้นเป็นข้อความจริง - แก้ปัญหาด้วยสูตร
=VALUE(B4)ในเซลล์ว่างข้างๆ แล้วเทียบผลลัพธ์ - ลองรวม B2:B4 ใหม่โดยเปลี่ยนมาอ้างอิงเซลล์ที่แปลงแล้ว ดูว่ายอดครบ 733,000 หรือยัง