บทความนี้เป็นบทความประกอบ 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 ใหม่ โดยใส่รายละเอียดดังนี้
File: date_format
Sheet: data
ตัวอย่างข้อมูล
id | date |
---|---|
ตั้งค่า Locale เริ่มต้นใน Google Sheet

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

ตั้งค่าเริ่มให้เป็นตามนี้เพื่อให้ทำตาม Workshop ได้เลย โดย
Locale: United Kingdom
Timezone: Bangkok
เชื่อมต่อ Google Sheet เข้าไปใน AppSheet



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

หรือจะคลิก Extension -> AppSheet -> Create an app เพื่อสร้าง AppSheet เลยก็ได้
ลองบันทึกข้อมูลวันที่เพื่อดูผลลัพธ์ (ค.ศ.)


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

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

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


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


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

ในขั้นตอนนี้เราต้องการควบคุมการแสดงผลวันที่ใน AppSheet ให้เหมือนกับใน Google Sheet
Platform | Format |
---|---|
Google Sheet | DD/MM/YYYY |
AppSheet | MM/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

เลือกภาษาเป็น Thai หรือ United Kingdom
นอกจากนี้หากใช้งานบน Smart phone แบบ Mobile application เราจำเป็นจะต้องปรับภาษาให้เหมือนกับใน Browser ด้วย แต่ปรับที่ระดับเครื่องแทน โดยวิธีการปรับสามารถดูตามลิ้งค์ด้านล่างนี้ได้เลย
ลองดูผลลัพธ์ (DD/MM/YYYY) ใน AppSheet

สนใจเรียน AppSheet กับเรา ?
ไม่ต้องเสียเวลาเรียนรู้ AppSheet ด้วยตัวเอง เพียงแค่เรียนคอร์ส AppSheet Intensive Course ผ่าน Facebook Group กับเรา พร้อมให้คำปรึกษาหลังเรียน
ไฟล์สำเร็จรูป และแหล่งอ้างอิงอื่น ๆ
คำถามที่พบบ่อยเกี่ยวกับ Project นี้
หากต้องการ Format date นอกจากรูปแบบที่กล่าวข้างต้นต้องทำยังไง ?
หากต้องการ Format date รูปแบบอื่น เช่น MM/YYYY จะต้องใช้สูตร TEXT()
เพื่อจัดรูปแบบที่ต้องการแทนโดยการสร้าง Virtual Column เพื่อแสดงผล