รวมสูตรใน AppSheet ที่มือใหม่ควรรู้ พร้อมตัวอย่างการใช้

เพราะการใช้ AppSheet ในการทำงานที่ซับซ้อนมากขึ้นต้องอาศัยการเขียนสูตร ในบทความนี้เลยจะมาแนะนำสูตรที่ใช้บ่อย ๆ สำหรับมือใหม่มาให้อ่านกัน

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

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

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

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

ความเข้าใจพื้นฐานก่อนใช้สูตรใน AppSheet

คำศัพท์พื้นฐานในการเขียนสูตร AppSheet

คำศัพท์พื้นฐานในการเขียนสูตร 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")

รายละเอียดคำอธิบายฉบับเต็ม

สูตร UNIQUEID() ใน AppSheet

สูตร UNIQUEID() ใช้สำหรับสร้างรหัสแบบสุ่ม (Random) เพื่อใช้สร้าง Primary Key หรือ ID ของแต่ละตาราง

โดยสูตร UNIQUEID() จะให้ผลลัพธ์เป็น Text

ตัวอย่างการใช้งาน สูตร UNIQUEID() ใน AppSheet:

  • กรณีที่ต้องการสร้างรหัสแบบสุ่ม (Random)
    UNIQUEID()

รายละเอียดคำอธิบายฉบับเต็ม

สูตรที่เกี่ยวกับการเปรียบเทียบข้อมูลใน 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

รายละเอียดคำอธิบายฉบับเต็ม

สูตรที่เกี่ยวกับการคำนวนข้อมูลใน 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 และแบ่งปันเทคนิคในการสร้างแอปพลิเคชั่น