0
1.2 ชนิดข้อมูล (Data Types) | Google Sheet And Excel For Data Analytics
fx Google Sheet And Excel for Data Analytics
บทที่ 1 0%
บทที่ 1 · ตอนที่ 1.2

ชนิดข้อมูล (Data Types) และทำไมมันกำหนดว่าคุณคำนวณอะไรได้

เซลล์หน้าตาเหมือนกันหมด แต่ “ชนิดข้อมูล” ที่ซ่อนอยู่ข้างในต่างหากที่ตัดสินว่าสูตรของคุณจะทำงานหรือพัง ตอนนี้จะพาไปรู้จักชนิดข้อมูลหลักและกับดักที่คนวิเคราะห์ข้อมูลเจอบ่อยที่สุด

⏱ อ่านประมาณ 24 นาที 📊 ระดับ: เริ่มต้น

ผมเคยเจอปัญหาที่ยอดขายรวมไม่ครบ ทั้งที่ตัวเลขในตารางดูถูกต้องทุกช่อง สาเหตุคือมีบางเซลล์ที่หน้าตาเป็นตัวเลข แต่ในสายตาโปรแกรมมันคือ “ข้อความ” — SUM เลยข้ามไปเฉยๆ โดยไม่มี error ให้เห็นด้วยซ้ำ

เรื่องแบบนี้แก้ง่ายมากถ้ารู้จักชนิดข้อมูลไว้ก่อน ตอนนี้เราจะไล่ดูทีละแบบ

ชนิดข้อมูลหลักที่ต้องรู้จัก

ทุกเซลล์ในสเปรดชีตจะถูกจัดเข้าชนิดใดชนิดหนึ่งต่อไปนี้เสมอ ไม่ว่าจะอยู่ใน Sheets หรือ Excel:

ชนิดตัวอย่างที่เห็นพฤติกรรมสำคัญ
NUMBER1250, 3.14, -8ชิดขวาอัตโนมัติ ใช้ SUM/AVERAGE ได้ตรงๆ
TEXTเชียงใหม่, INV-0091ชิดซ้ายอัตโนมัติ คำนวณทางคณิตศาสตร์ไม่ได้
DATE / TIME21/07/2026จริงๆ คือตัวเลขลำดับวัน (serial number) แค่ใส่ฟอร์แมตให้ดูเป็นวันที่
BOOLEANTRUE, FALSEใช้ในเงื่อนไข ผลลัพธ์ของสูตรเปรียบเทียบเช่น A1>10
ERROR#N/A, #DIV/0!, #VALUE!สูตรคำนวณไม่ได้ ต้องแก้ที่ต้นตอ ไม่ใช่ปล่อยผ่าน

ตัวเลขที่จริงๆ คือ “วันที่” — ความลับที่ทุกคนควรรู้

ทั้ง Sheets และ Excel ไม่ได้เก็บวันที่เป็นข้อความ แต่เก็บเป็นตัวเลขลำดับวัน (serial number) นับจากจุดเริ่มต้นค่าเดียว แล้วค่อยใส่ “รูปแบบการแสดงผล” ให้ดูเหมือนวันที่ นี่คือเหตุผลที่คุณเอาวันที่มาลบกันแล้วได้จำนวนวันออกมาตรงๆ ได้

fxลองพิสูจน์ว่าวันที่คือตัวเลข
=DATE(2026,7,21) – DATE(2026,1,1)
ผลลัพธ์จะได้ 201 (จำนวนวัน) ไม่ใช่ error — เพราะเบื้องหลังมันคือการลบเลขสองตัว ใช้ได้เหมือนกันทั้ง Sheets และ Excel
ลองคิดดู

ถ้าเปลี่ยนฟอร์แมตเซลล์ที่มีวันที่ให้เป็น “Number” ธรรมดา คุณจะเห็นตัวเลขห้าหลักโผล่ขึ้นมาแทนวันที่ นั่นคือค่าจริงที่โปรแกรมเก็บไว้ข้างใน ลองทำดูได้เลย

กับดักที่เจอบ่อยที่สุด: ตัวเลขที่แอบเป็นข้อความ

อาการนี้เกิดบ่อยตอนคัดลอกข้อมูลมาจากระบบอื่น หรือมีคนพิมพ์เลขนำหน้าด้วยเครื่องหมาย apostrophe (') วิธีสังเกตง่ายๆ:

  • ตัวเลขที่ชิดซ้ายของช่อง แทนที่จะชิดขวา = สงสัยไว้ก่อนว่าเป็นข้อความ
  • ใช้ SUM แล้วผลรวมน้อยกว่าที่ควรจะเป็น แบบไม่มี error เตือน
  • ใช้ฟังก์ชัน ISTEXT() หรือ ISNUMBER() เช็คตรงๆ ได้เลย
fxเช็คว่าเซลล์นี้เป็นตัวเลขจริงหรือแค่หน้าตาเหมือนตัวเลข
=ISNUMBER(A2)
ได้ TRUE แปลว่าเป็นตัวเลขจริง คำนวณได้ปกติ / ได้ FALSE แปลว่าเป็นข้อความ ต้องแปลงก่อนถึงจะรวมยอดถูก
เคล็ดลับ

วิธีแปลง “ตัวเลขปลอม” ให้เป็นตัวเลขจริงเร็วที่สุด: เอา 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
  1. ใส่สูตร =SUM(B2:B4) ไว้ที่เซลล์ B5 แล้วสังเกตว่าผลรวมขาดยอดของขอนแก่นไปหรือเปล่า
  2. ใส่สูตร =ISNUMBER(B4) เพื่อยืนยันว่าเซลล์นั้นเป็นข้อความจริง
  3. แก้ปัญหาด้วยสูตร =VALUE(B4) ในเซลล์ว่างข้างๆ แล้วเทียบผลลัพธ์
  4. ลองรวม B2:B4 ใหม่โดยเปลี่ยนมาอ้างอิงเซลล์ที่แปลงแล้ว ดูว่ายอดครบ 733,000 หรือยัง
ดูคำอธิบายเฉลย (เปิดหลังลองทำเองก่อน)
fxสรุปเฉลย
SUM(B2:B4) จะได้ 634,200 เท่านั้น เพราะ B4 ถูกมองเป็นข้อความ ไม่ถูกนับรวม ISNUMBER(B4) จะได้ FALSE ยืนยันว่าเป็นข้อความ VALUE(B4) จะแปลงเป็นตัวเลขจริง 98750 นำไปรวมใหม่จะได้ 733,000 ครบตามที่ควรจะเป็น