แนะนำแนวทางการตั้งค่าวันที่ใน AppSheet ตามต้องการทั้งระบบ โดยไม่ต้องเขียนสูตรเพิ่มเติม และใช้งานได้กับ Leap year

บทความนี้เป็นบทความประกอบ Video ตั้งค่าวันที่ใน AppSheet ตามต้องการทั้งระบบ อัปเดตล่าสุดปี 2025

AppSheet คือเครื่องมือสร้าง Application สำหรับใช้ภายในองค์กรโดยไม่ต้องเขียนโค้ด โดยมีจุดเด่นที่เก็บข้อมูลบน Google Sheet และรองรับการใช้งาน Service ของ Google เช่นส่งอีเมล สร้างนัดหมาย เป็นต้น อ่านบทความแนะนำ AppSheet ได้ที่นี่

เลือกอ่านเฉพาะหัวข้อ -

ปัญหาเกี่ยวกับเรื่องวันที่ใน AppSheet

คนส่วนใหญ่มักเจอปัญหาเกี่ยวกับการบันทึก และแสดงผลวันที่ใน AppSheet โดยสามารถแบ่งปัญหาออกมาได้ 2 อย่างดังนี้

การเอาแปลงจาก ค.ศ. เป็น พ.ศ. หรือแปลงในทางกลับกัน ด้วยการบวก 543 ปี เป็นการประมาณการโดยละเลยเรื่องของ Leap Year ไป (ปีที่มี 29 กุมภา ฯ ) ทำให้ไม่เหมาะกับการแสดงผลวันที่ เพราะจะทำให้บันทึกข้อมูลผิดพลาด

บันทึกข้อมูลวันที่ใน Google Sheet ไม่ได้ตามที่ต้องการ (พ.ศ. / ค.ศ.)

ปัญหานี้คือต้องการจะบันทึกข้อมูลวันที่ (Date) ใน Google Sheet ให้เป็นไปตามปี พ.ศ. หรือ ค.ศ. ที่ต้องการ แต่ไม่สามารถทำได้ และบางทีอาจจะเกิดกรณีที่ใน Google Sheet มีข้อมูลปีทั้ง พ.ศ. และ ค.ศ.

สาเหตุเพราะ AppSheet บันทึกข้อมูล Date ตาม Locale ของโปรแกรม

ปัญหานี้สามารถแก้ได้ด้วยปรับ Locale ของ Google Sheet และ AppSheet ให้ไปใช้ Locale ที่ใช้การนับปีแบบที่ต้องการ ได้แก่

  • หากตั้งการบันทึก Date เป็น ค.ศ. (Gregorian calendar) ให้ปรับ Locale เป็น United Kingdom ทั้งใน Google Sheet และ AppSheet
  • หากตั้งการบันทึก Date เป็น พ.ศ. (Buddhist calendar) ให้ปรับ Locale เป็น Thailand ทั้งใน Google Sheet และ AppSheet
  • โดยการปรับ Locale จะส่งผลต่อการ Date format ด้วยเช่น ถ้าปรับ Locale เป็น United Kingdom หรือ Thai จะได้ format เป็น DD/MM/YYYY ส่วนถ้าปรับ Locale เป็น United States จะได้ format เป็น MM/DD/YYYY

แสดงผลข้อมูลวันที่ใน AppSheet ไม่ตรงตาม Format

ปัญหานี้คือต้องการจะแสดงผลวันที่ใน AppSheet ให้เป็น DD/MM/YYYY แต่ส่วนใหญ่แล้วมักจะพบว่าวันที่ใน AppSheet มักแสดงผลเป็น MM/DD/YYYY

สาเหตุเพราะ AppSheet แสดงผล Date format ตามภาษาของผู้ใช้งาน (แต่ด้วยข้อจำกัดของ AppSheet ทำให้ตอนนี้ AppSheet จะแสดงผลปี เป็นปี ค.ศ. เสมอ ประกอบกับ Device บางเครื่องไม่สามารถปรับ ปีเป็นปี พ.ศ. ได้แล้ว)

ปัญหานี้สามารถแก้ได้ด้วยการปรับ Language ใน Browser หรือ Device ของผู้ใช้งานให้เป็น Thai หรือ United Kingdom ที่ใช้ Date format เป็น DD/MM/YYYY (ค่าเริ่มต้น Language ของคนส่วนใหญ่จะเป็น United States ที่ใช้ Date format เป็น MM/DD/YYYY)

การทำแบบนี้ได้ผลลัพธ์เหมือนการใส่ Text Formula TEXT(VALUE,”DD/MM/YYYY”)

ขั้นตอนการลงมือทำ / How to

ขั้นตอนในการลงมือทำไล่เป็นขั้นตอนอย่างละเอียด โดยหากทำตามขั้นตอนเหล่านี้จะสามารถเห็นภาพรวมของการพัฒนาได้ดียิ่งขึ้น

เตรียมไฟล์ Google Sheet

เตรียมไฟล์ Google Sheet สำหรับทำ Workshop

สร้างไฟล์ Google Sheet ใหม่ โดยใส่รายละเอียดดังนี้

File: date_format

Sheet: data

ตัวอย่างข้อมูล

iddate

ตั้งค่า Locale เริ่มต้นใน Google Sheet

ตั้งค่า Locale เริ่มต้นใน Google Sheet

เข้าไปที่ File → Settings

ตั้งค่า Locale เริ่มต้นใน Google Sheet

ตั้งค่าเริ่มให้เป็นตามนี้เพื่อให้ทำตาม Workshop ได้เลย โดย

Locale: United Kingdom
Timezone: Bangkok

เชื่อมต่อ Google Sheet เข้าไปใน AppSheet

เปิด AppSheet และเลือก Create → App → Start with existing data
เปิด AppSheet และเลือก Create → App → Start with existing data
ตั้งชื่อ App เป็น Date format
ตั้งชื่อ App เป็น Date format
เลือกไฟล์ date_format เป็น Data source
เลือกไฟล์ date_format เป็น Data source

เลือก Google Sheet เป็น Data source และเลือกไฟล์ date_format ที่เราสร้างในขั้นตอนก่อนหน้า และนำเข้าข้อมูลให้เรียบร้อย

การสร้าง AppSheet จาก Google Sheet โดยตรง
การสร้าง AppSheet จาก Google Sheet โดยตรง

หรือจะคลิก Extension -> AppSheet -> Create an app เพื่อสร้าง AppSheet เลยก็ได้

ลองบันทึกข้อมูลวันที่เพื่อดูผลลัพธ์ (ค.ศ.)

เพิ่มข้อมูลใน AppSheet เพื่อทดลอง การบันทึกข้อมูลใน Google Sheet
เพิ่มข้อมูลใน AppSheet เพื่อทดลอง การบันทึกข้อมูลใน Google Sheet
การบันทึกข้อมูลใน Google Sheet เป็นปี ค.ศ. (Gregorian calendar)
การบันทึกข้อมูลใน Google Sheet เป็นปี ค.ศ. (Gregorian calendar)

ถ้าหากทำถูกต้องการบันทึกข้อมูลใน Google Sheet จะเป็นเป็น ปี ค.ศ. (Gregorian calendar) โดยอัติโนมัติเพราะเราตั้งค่า Locale ให้เป็น United States ใน Google Sheet

การปรับให้ AppSheet บันทึกข้อมูลใน Google Sheet เป็น ปี พ.ศ. (Buddhist calendar)

ในทางกลับกันหากเราตั้งการให้บันทึกข้อมูลใน Google Sheet เป็นปี พ.ศ. เราต้องแก้ไข Locale ไปเป็น Thailand

แก้ไข Locale ให้เป็น Thailand ใน Google Sheet

ตั้งค่า Locale ใน Google Sheet
ตั้งค่า Locale ใน Google Sheet เป็น Thailand

กลับไปที่ Google Sheet ไฟล์เดียวและเข้าไปที่ File → Settings เพื่อแก้ไข Locale เป็น Thailand แทน และกด Save and reload

กรณีที่ติดปัญหาให้ลองปรับ Format text ให้เป็น Date
กรณีที่ติดปัญหาให้ลองปรับ Format text ให้เป็น Date

แก้ไข Locale ให้เป็น Thailand ใน AppSheet

ไปที่ Data และเลือก Table settings
ตั้งค่า Localization ใน AppSheet ให้เป็น Thailand
ตั้งค่า Localization ใน AppSheet ให้เป็น Thailand

ในหมวดหมู่ Localization ให้เลือกเป็น Thailand (หากไม่ได้มีข้อมูลอะไรอยู่แล้ว สามารถกด Regenerate Schema ระบบจะเปลี่ยน Localization ให้เราโดยอัติโนมัติเลย)

ลองบันทึกข้อมูลวันที่เพื่อดูผลลัพธ์ (พ.ศ.)

ลองลบข้อมูลเดิม และ เพิ่มข้อมูลใน AppSheet เพื่อทดลอง การบันทึกข้อมูลใน Google Sheet
ลองลบข้อมูลเดิม และ เพิ่มข้อมูลใน AppSheet เพื่อทดลอง การบันทึกข้อมูลใน Google Sheet
การบันทึกข้อมูลใน Google Sheet เป็นปี ค.ศ. (Buddhist calendar)
การบันทึกข้อมูลใน Google Sheet เป็นปี ค.ศ. (Buddhist calendar)

ถ้าหากทำถูกต้องการบันทึกข้อมูลใน Google Sheet จะเป็นเป็น ปี พ.ศ. (Buddhist calendar) โดยอัติโนมัติเพราะเราตั้งค่า Locale ให้เป็น Thailand ใน Google Sheet

การปรับให้ AppSheet แสดงผลวันที่เป็น DD/MM/YYYY

ควบคุมการแสดงผลวันที่ใน AppSheet ให้เหมือนกับใน Google Sheet

ในขั้นตอนนี้เราต้องการควบคุมการแสดงผลวันที่ใน AppSheet ให้เหมือนกับใน Google Sheet

PlatformFormat
Google SheetDD/MM/YYYY
AppSheetMM/DD/YYYY

โดยหลักการคือการเปลี่ยนภาษาให้เป็น ภาษา Thai หรือ United Kingdom ที่ใช้ Date format เป็น DD/MM/YYYY

การเปลี่ยนการแสดงผลวันที่เป็น DD/MM/YYYY ของ AppSheet ใน Chrome Browser

ไปที่การตั้งค่าภาษา
ไปที่การตั้งค่าภาษา

พิมพ์ chrome://settings/?search=Preferred+languages ในช่อง URL กรณีใช้ Chrome

พิมพ์ arc://settings/?search=Preferred+languages ในช่อง URL กรณีใช้ Arc

เลือกภาษาใน Browser
เลือกภาษาใน Browser

เลือกภาษาเป็น Thai หรือ United Kingdom

นอกจากนี้หากใช้งานบน Smart phone แบบ Mobile application เราจำเป็นจะต้องปรับภาษาให้เหมือนกับใน Browser ด้วย แต่ปรับที่ระดับเครื่องแทน โดยวิธีการปรับสามารถดูตามลิ้งค์ด้านล่างนี้ได้เลย

ลองดูผลลัพธ์ (DD/MM/YYYY) ใน AppSheet

ผลลัพธ์การเปลี่ยน Date format ใน AppSheet เป็น DD/MM/YYYY
ผลลัพธ์การเปลี่ยน Date format ใน AppSheet เป็น DD/MM/YYYY

สนใจเรียน AppSheet กับเรา ?

ไม่ต้องเสียเวลาเรียนรู้ AppSheet ด้วยตัวเอง เพียงแค่เรียนคอร์ส AppSheet Intensive Course ผ่าน Facebook Group กับเรา พร้อมให้คำปรึกษาหลังเรียน

ไฟล์สำเร็จรูป และแหล่งอ้างอิงอื่น ๆ

คำถามที่พบบ่อยเกี่ยวกับ Project นี้

หากต้องการ Format date นอกจากรูปแบบที่กล่าวข้างต้นต้องทำยังไง ?

หากต้องการ Format date รูปแบบอื่น เช่น MM/YYYY จะต้องใช้สูตร TEXT() เพื่อจัดรูปแบบที่ต้องการแทนโดยการสร้าง Virtual Column เพื่อแสดงผล