เพราะการใช้ AppSheet ในการทำงานที่ซับซ้อนมากขึ้นต้องอาศัยการเขียนสูตร ในบทความนี้เลยจะมาแนะนำสูตรที่ใช้บ่อย ๆ สำหรับมือใหม่มาให้อ่านกัน
ถึงแม้ว่า AppSheet จะถูกออกแบบมาให้สามารถทำ Application ได้โดยไม่ต้องเขียนโค้ด เขียนสูตรสักบรรทัด แต่การเขียนสูตรง่าย ๆ เหมือนที่เขียนใน Excel จะช่วยประหยัดเวลาการทำงานไปได้อีกเยอะ เหมือนแทนที่เราจะ Copy & Paste ใน Excel เราใช้วิธีผูกสูตรทำให้คำนวนค่าถูกต้อง และปรับแก้ได้ง่ายในภายหลัง
สนใจเรียน AppSheet กับเรา ?
ไม่ต้องเสียเวลาเรียนรู้ AppSheet ด้วยตัวเอง เพียงแค่เรียนคอร์ส AppSheet Intensive Course ผ่าน Facebook Group กับเรา พร้อมให้คำปรึกษาหลังเรียน
ความเข้าใจพื้นฐานก่อนใช้สูตรใน AppSheet
คำศัพท์พื้นฐานในการเขียนสูตร AppSheet

ในการอธิบายสูตร ผู้อ่านจะต้องเข้าใจ 3 คำศัพท์นี้
- Table หมายถึง Sheet / Tab ใน Google Sheet โดย AppSheet 1 App อาจจะมีหลาย Table
- Column หมายถึง Field ข้อมูลใน Table
- Record หมายถึงข้อมูลแต่ละแถว โดยเริ่มตั้งแต่แถวที่ 2 เป็นต้นไปลงมาจนสุด
ข้อมูลแต่ละ Column มี Data Type ไม่เหมือนกัน
เพราะข้อมูลแต่ละแบบจะมีความสามารถไม่เหมือนกัน เช่นข้อมูลประเภท Number สามารถบวก ลบ คูณ หารกันได้ ส่วนข้อมูลประเภท Text จะสามารถเอาข้อความมาต่อกันได้ ในเบื้องต้นเราสามารถแบ่งประเภทของข้อมูลได้ดังนี้
- Text เป็นข้อความ สามารถนำข้อมูลที่เป็น Text แต่ละ Column มาแสดงผลต่อกันได้
- Number เป็นตัวเลข สามารถนำข้อมูลที่เป็น Number แต่ละ Column มาบวก ลบ คูณ หาร กันได้
- File เป็นไฟล์ซึ่งอาจจะเป็น ไฟล์ลายเซ็นท์, ไฟล์ภาพ, ไฟล์เสียง, ไฟล์ PDF และอื่น ๆ
- Yes/No เป็นค่า True หรือ False สำหรับนำไปใช้ในการตรวจสอบเงื่อนไขว่าเป็น True (ใช่) หรือ False (ไม่)
- Lat/Long เป็นข้อมูลละติจูด และลองติจูด เก็บในรูปแบบ (0, 0)
- Date and Time เป็นข้อมูลวัน และเวลา สามารถนำข้อมูลที่เป็น Date and Time มาบวกลบกันเพื่อนับเวลาได้
สูตรที่เกี่ยวกับการ Prefill ใน AppSheet
สูตร USEREMAIL() ใน AppSheet
สูตร USEREMAIL() ใช้สำหรับดึงข้อมูลอีเมลของผู้ใช้ AppSheet ณ ตอนนั้น
โดยสูตร USEREMAIL() จะให้ผลลัพธ์เป็นอีเมล
ตัวอย่างการใช้งาน สูตร USEREMAIL() ใน AppSheet:
- กรณีที่ต้องการดึงข้อมูลอีเมลของผู้กรอกข้อมูลโดยที่ไม่ต้องพิมอีเมลเอง
USEREMAIL() - กรณีที่ต้องการตรวจสอบว่ามีข้อมูล Record ไหนที่มีอีเมล ตรงกับอีเมลของผู้ใช้งานปัจจุบัน
USEREMAIL() = [email]
สูตร USERROLE() ใน AppSheet
สูตร USERROLE() ใช้สำหรับดึงข้อมูลสิทธิของผู้ใช้ AppSheet ณ ตอนนั้นว่ามีสิทธิเป็น Admin หรือ User ของระบบ
โดยสูตร USERROLE() จะให้ผลลัพธ์เป็น “Admin” หรือ “User”
ตัวอย่างการใช้งาน สูตร USERROLE() ใน AppSheet:
- กรณีที่ต้องการตรวจสอบว่าผู้ใช้เป็น Admin หรือไม่ ?
USERROLE() = “Admin” - กรณีที่ต้องการตรวจสอบว่ามีสิทธิเป็น Admin ใช่หรือไม่ ? ถ้าใช่ให้ส่งค่า
“ALL_CHANGES"(สามารถเพิ่ม ลบ แก้ไขได้) แต่ถ้าเป็น User ให้ส่งค่า“UPDATES_ONLY”(สามารถแก้ไขข้อมูลได้อย่างเดียว)IF((USERROLE() = "Admin"), "ALL_CHANGES", "UPDATES_ONLY")
สูตร TODAY() ใน AppSheet
สูตร TODAY() ใช้สำหรับดึงข้อมูลวันที่ ณ ปัจจุบัน ตาม Timezone ของผู้ใช้งาน
โดยสูตร TODAY() จะให้ผลลัพธ์เป็นวันที่ (Date) และสามารถบวก ลบ เพื่อหาวันที่อีก 2 วันข้างหน้า (TODAY() + 2)
ตัวอย่างการใช้งาน สูตร TODAY() ใน AppSheet:
- กรณีที่ต้องการดึงวันที่ ณ ปัจจุบันที่ผู้ใช้งานกำลังบันทึกข้อมูล
TODAY() - กรณีที่ต้องการหาวันที่ในอีก 2 วันข้างหน้านับจากปัจจุบัน
TODAY() + 2
สูตร NOW() ใน AppSheet
สูตร NOW() ใช้สำหรับดึงข้อมูลวันที่ และเวลา ณ ปัจจุบัน ตาม Timezone ของผู้ใช้งาน
โดยสูตร NOW() จะให้ผลลัพธ์เป็นวันที่และเวลา (DateTime)
ตัวอย่างการใช้งาน สูตร NOW() ใน AppSheet:
- กรณีที่ต้องการดึงวันที่ และเวลา ณ ปัจจุบันที่ผู้ใช้งานกำลังบันทึกข้อมูล
NOW()
สูตร UNIQUEID() ใน AppSheet
สูตร UNIQUEID() ใช้สำหรับสร้างรหัสแบบสุ่ม (Random) เพื่อใช้สร้าง Primary Key หรือ ID ของแต่ละตาราง
โดยสูตร UNIQUEID() จะให้ผลลัพธ์เป็น Text
ตัวอย่างการใช้งาน สูตร UNIQUEID() ใน AppSheet:
- กรณีที่ต้องการสร้างรหัสแบบสุ่ม (Random)
UNIQUEID()
สูตร USERSETTINGS() ใน AppSheet
สูตร USERSETTINGS() คือสูตรที่ใช้ดึงการตั้งค่าตามผู้ใช้งาน ซึ่งส่วนใหญ่ใช้ทำเรื่องการตั้งค่าตามผู้ใช้งาน เช่น การตั้งค่าภาษา, การตั้งค่ารหัสผ่าน, การตั้งค่าสิทธิการใช้งาน
โดยสูตร USERSETTINGS() จะให้ผลลัพธ์เป็นข้อมูล
ตัวอย่างการใช้งาน สูตร USERSETTINGS() ใน AppSheet:
- กรณีที่ต้องการดึงข้อมูล settings ของผู้ใช้งาน
USERSETTINGS("settings")
สูตรที่เกี่ยวกับการเปรียบเทียบข้อมูลใน AppSheet
สูตรสำหรับเปรียบเทียบข้อมูลใน AppSheet
ใน AppSheet เราสามารถใช้สัญลักษณ์ = เพื่อเปรียบเทียบข้อมูล 2 อันว่ามีค่าเท่ากันหรือไม่
โดยการเปรียบเทียบข้อมูลจะต้องเป็นข้อมูลประเภทเดียวกันเช่น Text, Number, Address, Date ถ้าข้อมูลเท่ากันจะให้ผลลัพธ์เป็น True หรือถ้าไม่จะให้ผลลัพธ์เป็น False (Yes/No)
นอกจากการเปรียบเทียบข้อมูลว่าเท่ากันหรือไม่ ยังมีการเปรียบเทียบแบบอื่นอีกดังนี้
- ใช้ <> สำหรับตรวจสอบว่าข้อมูล 2 อันมีค่าไม่เท่ากันใช่หรือไม่ ?
- ใช้ > สำหรับตรวจสอบว่าข้อมูล A มากกว่า ข้อมูล B ใช่หรือไม่ ?
- ใช้ ≥ สำหรับตรวจสอบว่าข้อมูล A มากกว่าหรือเท่ากับ ข้อมูล B ใช่หรือไม่ ?
- ใช้ < สำหรับตรวจสอบว่าข้อมูล A น้อยกว่า ข้อมูล B ใช่หรือไม่ ?
- ใช้ ≤ สำหรับตรวจสอบว่าข้อมูล A น้อยกว่าหรือเท่ากับ ข้อมูล B ใช่หรือไม่ ?
ตัวอย่างการใช้งาน AppSheet:
- กรณีที่ต้องการตรวจสอบว่าข้อมูล Score เท่ากับ 10 หรือไม่ ?
[Score] = 10
สูตร LEN() ใน AppSheet
สูตร LEN() ใช้สำหรับนับจำนวนตัวอักษรสำหรับข้อมูลที่เป็นตัวอักษร
โดยสูตร LEN() จะให้ผลลัพธ์เป็น Number ตามจำนวนตัวอักษร
ตัวอย่างการใช้งาน สูตร LEN() ใน AppSheet:
- กรณีที่ต้องการตรวจสอบว่าผู้ใช้กรอกข้อมูลใน Column นั้น ๆ ครบ 10 ตัวหรือไม่ ?
LEN([_THIS]) = 10 - กรณีที่ต้องการตรวจสอบว่าผู้ใช้กรอกข้อมูลใน Column นั้น ๆ เกิน 10 ตัวอักษรหรือไม่ ?
LEN([_THIS]) > 10
สูตร ISNOTBLANK() ใน AppSheet
สูตร ISNOTBLANK() ใช้สำหรับเช็คข้อมูลว่าเป็นค่าว่างหรือไม่ ? (ไม่ได้กรอกข้อมูล)
โดยสูตร ISNOTBLANK() จะให้ผลลัพธ์เป็น True หรือ False (Yes/No)
ตัวอย่างการใช้งาน สูตร ISNOTBLANK() ใน AppSheet:
- กรณีที่ต้องการเช็คว่าข้อมูลใน Column นั้น ๆ นั้นเป็นค่าว่างหรือไม่ ?
ISNOTBLANK([_THIS]) - กรณีที่ต้องการเช็คว่าผู้ใช้กรอกข้อมูลใน Column status มาหรือไม่ ?
ISNOTBLANK([status])
สูตรที่เกี่ยวกับการสร้างเงื่อนไขการทำงานใน AppSheet
สูตร IF() ใน AppSheet
สูตร IF() ใช้สำหรับตรวจสอบเงื่อนไขการทำงานว่าเป็นไปตามเงื่อนไขหรือไม่ ถ้าตรงเงื่อนไขให้ทำ A และถ้าไม่ตรงเงื่อนไขให้ทำ B
โดยสูตร IF() จะสามารถใช้เพื่อการสร้างเงื่อนไขการทำงานให้ AppSheet ในรูปแบบดังนี้ IF(logical-expression, value-if-true, value-if-false)
ตัวอย่างการใช้งาน สูตร IF() ใน AppSheet:
- กรณีที่ต้องการแสดงผลข้อมูลตามเงื่อนไขคะแนน ถ้าข้อมูลใน Column Score มีค่าเท่ากับ 10 ให้ส่งค่า
“Pass”ถ้าไม่ใช่ให้ส่งค่า“Fail”IF(([Score] = 10), “Pass”, “Fail”) - กรณีที่ต้องการตรวจสอบว่าวันที่บันทึกใน Column Date เป็นวันนี้ใช่หรือไม่ ?
IF(([Date] = TODAY()), TRUE, FALSE) - กรณีที่ต้องการตรวจสอบว่ามีสิทธิเป็น Admin ใช่หรือไม่ ? ถ้าใช่ให้ส่งค่า
“ALL_CHANGES"(สามารถเพิ่ม ลบ แก้ไขได้) แต่ถ้าเป็น User ให้ส่งค่า“UPDATES_ONLY”(สามารถแก้ไขข้อมูลได้อย่างเดียว)IF((USERROLE() = "Admin"), "ALL_CHANGES", "UPDATES_ONLY")
สูตรที่เกี่ยวกับการดึงข้อมูลใน AppSheet
สูตรสำหรับดึงข้อมูลใน AppSheet
ใน AppSheet เราสามารถใช้สูตร [columnName] เพื่อดึงข้อมูลจาก Column อื่นใน Record เดียวกันได้
โดยสูตร [columnName] จะให้ผลลัพธ์เป็นค่าของข้อมูลใน Column นั้น ๆ
ตัวอย่างการใช้งาน สูตร [columnName] ใน AppSheet:
- กรณีที่ต้องการดึงข้อมูลใน Column Status มาแสดงผล
[Status]
สูตร [_THIS] ใน AppSheet
สูตร [_THIS] ใช้สำหรับดึงข้อมูลใน Field นั้น ๆ
โดยสูตร [_THIS] จะให้ผลลัพธ์เป็นค่าของข้อมูลใน Column นั้น ๆ
ตัวอย่างการใช้งาน สูตร [_THIS] ใน AppSheet:
- กรณีที่ต้องการตรวจสอบว่าข้อมูลใน Column นั้น ๆ มีค่าเท่ากับ 5 ใช่หรือไม่
[_THIS] = 5
สูตร IN() ใน AppSheet
สูตร IN() ใช้ตรวจสอบข้อมูลใน List
โดยสูตร IN() จะให้ผลลัพธ์เป็น TRUE หรือ FALSE เมื่อตรวจสอบหาข้อมูลใน List ซึ่งส่วนใหญ่ใช้เพื่อตรวจสอบข้อมูลใน Table อื่น ๆ เพื่อเช็คว่ามีข้อมูลที่ต้องการหรือไม่
โดยสูตร IN() จะเขียนในรูปแบบดังนี้IN(search-value, list)
ตัวอย่างการใช้งาน สูตร IN() ใน AppSheet:
- กรณีที่ต้องการตรวจสอบ Email ปัจจุบันของผู้ใช้งานว่ามีอยู่ในระบบหรือไม่ ?
IN(USEREMAIL(), Table[Email]) - กรณีที่ต้องการตรวจสอบว่า Row / ข้อมูลชุดนี้เป็นข้อมูลชุดใหม่มั้ย ? ส่วนใหญ่ใช้เพื่อเช็คว่าการกรอกแบบฟอร์มนี้เป็นการเพิ่มข้อมูลใหม่ หรือแก้ไขข้อมูลเดิม
NOT(IN([_ROWNUMBER], Table[_ROWNUMBER]))
สูตร LOOKUP() ใน AppSheet
สูตร LOOKUP() ใช้เพื่อดึงข้อมูลบาง Column ใน Table ตามเงื่อนไข
โดยสูตร LOOKUP() จะทำการค้นหา Row / ข้อมูล ตามเงื่อนไขก่อน แล้วค่อยเลือก Column ที่สนใจมาแสดงผล
โดยสูตร LOOKUP() จะเขียนในรูปแบบดังนี้LOOKUP(value, dataset, column, return-column)
ตัวอย่างการใช้งาน สูตร LOOKUP() ใน AppSheet:
- กรณีที่ต้องการค้นหา
user_idของ Tableuserโดยเลือก Row / ข้อมูลที่USEREMAIL()หรือ Email ของผู้ใช้งานปัจจุบัน เท่ากับemailใน TableuserLOOKUP(USEREMAIL(), "user", "email", "user_id")
สูตรที่เกี่ยวกับการคำนวนข้อมูลใน AppSheet
สูตร CEILING() ใน AppSheet
สูตร CEILING() ใช้สำหรับปัดเศษทศนิยมขึ้นสำหรับข้อมูลที่เป็นตัวเลข
โดยสูตร CEILING() จะให้ผลลัพธ์เป็น Number
ตัวอย่างการใช้งาน สูตร CEILING() ใน AppSheet:
- กรณีที่ต้องการปัดเลขทศนิยมขึ้น
CEILING(3.14)
สูตร FLOOR() ใน AppSheet
สูตร FLOOR() ใช้สำหรับปัดเศษทศนิยมลงสำหรับข้อมูลที่เป็นตัวเลข
โดยสูตร FLOOR() จะให้ผลลัพธ์เป็น Number
ตัวอย่างการใช้งาน สูตร FLOOR() ใน AppSheet:
- กรณีที่ต้องการปัดเลขทศนิยมขึ้น เพราะหาค่าเฉลี่ยคะแนน
FLOOR([average_score])
สูตรอื่น ๆ ใน AppSheet
สูตร CONCATENATE() ใน AppSheet
สูตร CONCATENATE() ใช้สำหรับรวมข้อความเข้าด้วยกัน
โดยสูตร CONCATENATE() จะให้ผลลัพธ์เป็น Text
ตัวอย่างการใช้งาน สูตร CONCATENATE() ใน AppSheet:
- กรณีที่ต้องการแสดงผลข้อมูลจาก Column first_name และ ข้อมูลจาก Column last_name
CONCATENATE([first_name], " ", [last_name])
รู้หรือไม่
AppSheet มีกลุ่มผู้พัฒนาคนไทยใน Facebook Group แล้วนะ หากคุณผู้อ่านพัฒนา AppSheet แล้วติดปัญหา สามารถสอบถามในกลุ่ม แชร์ความรู้การใช้งาน AppSheet by Datayolk.net ซึ่งเป็นกลุ่มที่รวบรวมนักพัฒนา AppSheet ในเมืองไทยเพื่อสอบถามปัญหาเกี่ยวกับการใช้งาน AppSheet และแบ่งปันเทคนิคในการสร้างแอปพลิเคชั่น




![[Workshop] สร้าง History Log แอป ฯ บันทึกการแก้ไขข้อมูลด้วย AppSheet](https://datayolk.net/wp-content/uploads/2025/06/Feature-OG-AppSheet-log-360x180.webp)