Skip to content

4.1 Sheets: Dates Are Numbers

คุณเคย copy วันที่จาก Sheets ไป paste ที่อื่น แล้วได้เลข 45000 กว่าๆ แทนวันที่ไหม? นั่นไม่ใช่ bug — นั่นคือ ค่าจริง ของวันที่

Google Sheets (และ Excel) เก็บวันที่เป็น serial number — ตัวเลขจำนวนเต็มที่นับจำนวนวันตั้งแต่ 30 ธันวาคม 1899

  • 1 มกราคม 1900 = 1
  • 2 มกราคม 1900 = 2
  • วันนี้ (2026) = ตัวเลข 46,000 กว่าๆ

เวลา คือ ส่วนทศนิยม:

  • 0.5 = เที่ยงวัน (ครึ่งวัน)
  • 0.25 = 6:00 AM (หนึ่งในสี่ของวัน)
  • 0.75 = 6:00 PM (สามในสี่ของวัน)

ทำไมสิ่งนี้สำคัญ

Section titled “ทำไมสิ่งนี้สำคัญ”

ถ้าคุณเข้าใจว่าวันที่เป็นตัวเลข:

  • การลบวันที่ = ลบเลข → ได้จำนวนวัน
  • บวก 7 ให้วันที่ = บวกเลข 7 → ได้วันที่ + 1 สัปดาห์
  • วันที่กลายเป็นเลขแปลกๆ = format cell ถูกตั้งเป็น number แทน date

พิมพ์ในเซลล์:

=TODAY() → แสดงวันที่ปัจจุบัน
=N(TODAY()) → serial number (เช่น 46140)
=TODAY() - DATE(2000,1,1) → จำนวนวันตั้งแต่ 1 ม.ค. 2000

ลองดู เวลา เป็นทศนิยม:

=N(NOW()) → เช่น 46140.625 (วันที่ + เวลา)
=NOW() - TODAY() → ส่วนทศนิยม (เวลาปัจจุบัน)
=TEXT(NOW()-TODAY(), "HH:MM:SS") → เวลาปัจจุบัน

ทดลอง format: พิมพ์ 45000 ในเซลล์ แล้วเปลี่ยน format เป็น Date → จะได้วันที่จริง!

ทดลองกลับ: พิมพ์วันที่ แล้วเปลี่ยน format เป็น Number → จะเห็น serial number

เครื่องมือEpoch (จุดเริ่มต้น)หน่วย
Google Sheets / Excel30 ธ.ค. 1899วัน (+ ทศนิยมสำหรับเวลา)
C / Unix1 ม.ค. 1970วินาที
Python datetimeไม่มี epoch ชัดเจนobject (ปี/เดือน/วัน)
SQLไม่มี epoch ชัดเจนtype เฉพาะ (DATE, TIMESTAMP)