Skip to content

1.2 Stored Value vs Displayed Value

ป้ายราคาเขียน “฿199” แต่ระบบหลังบ้านเก็บแค่ 199 กับข้อมูลว่า “สกุลเงินบาท” ถ้าคุณเปลี่ยนสกุลเงินเป็นดอลลาร์ ตัวเลขยังคงเป็น 199 — มันแค่เปลี่ยน “เสื้อผ้า” ไม่ได้เปลี่ยนตัวตน

ลองนึกภาพ คน กับ เสื้อผ้า:

  • Stored value = ตัวคนจริงๆ (ไม่เปลี่ยนไม่ว่าจะใส่อะไร)
  • Displayed value = เสื้อผ้าที่ใส่ (เปลี่ยนได้ตลอด)
  • Format = กฎว่า “ให้ใส่ชุดแบบนี้”

ตัวอย่าง: เซลล์เก็บ 45372 (ตัวเลข) → format เป็น “Date” → แสดงเป็น 24 เม.ย. 2024

เปลี่ยน format เป็น “Number” → แสดงเป็น 45372 อีกครั้ง → ค่าไม่เคยเปลี่ยน

  1. พิมพ์ 199 ในเซลล์ A1
  2. ไปที่ Format → Number → Currency → แสดงเป็น ฿199.00
  3. ไปที่ Format → Number → Number → แสดงเป็น 199.00
  4. ไปที่ Format → Number → Percent → แสดงเป็น 19900.00%

ลองใช้ =A1+1 → ได้ 200 — ค่าข้างในยังเป็นตัวเลข 199

  1. พิมพ์ 2026-04-24 ในเซลล์ B1 → Sheets auto-detect เป็นวันที่
  2. ลองใช้ =N(B1) → ได้ตัวเลขประมาณ 46141 (serial number ของวันที่)
  3. เปลี่ยน format เป็น “Number” → เห็น serial number ตรงๆ
  4. เปลี่ยนกลับเป็น “Date” → เห็นวันที่เดิม

ค่าที่เก็บคือตัวเลข — Sheets แค่ “แต่งตัว” ให้ดูเหมือนวันที่

  1. พิมพ์ ฿199 (พิมพ์สัญลักษณ์บาทเอง) ในเซลล์ C1
  2. ลองใช้ =ISNUMBER(C1)FALSE — มันเป็น text ไม่ใช่ตัวเลข!
  3. =C1+1Error!

ถ้าพิมพ์สัญลักษณ์สกุลเงินเอง Sheets เก็บเป็น text — ไม่ใช่ตัวเลขที่ format เป็น currency

Format vs Cast — ต่างกันอย่างไร

Section titled “Format vs Cast — ต่างกันอย่างไร”
การกระทำเปลี่ยน stored value?ตัวอย่าง
Formatไม่Sheets: Number → Currency, Python: f"{x:.2f}", SQL: TO_CHAR()
Castใช่Sheets: =VALUE("199"), Python: int("199"), SQL: CAST('199' AS INTEGER)