Quy tắc viết công thức trong AppSheet
Với hơn 120 hàm có sẵn, nền tảng này mang đến nhiều tính năng đa dạng. Nắm vững những nguyên tắc cốt lõi sẽ giúp bạn xây dựng ứng dụng mạnh mẽ và hiệu quả hơn.
Quy tắc chung khi viết công thức
Nền tảng của việc làm chủ AppSheet nằm ở việc hiểu rõ các quy tắc cơ bản. Hãy cùng khám phá những quy tắc quan trọng nhất.
Khi bạn tham chiếu đến giá trị của một cột trong một hàng cụ thể, bạn phải đặt tên cột đó vào trong dấu ngoặc vuông.
💡 Kết quả: Tính `thanh_tien` bằng cách nhân giá trị từ cột `so_luong` với cột `don_gia` của cùng một hàng.
Hàm `SELECT` được sử dụng để trích xuất một danh sách các giá trị từ một cột dựa trên một điều kiện nhất định.
Hàm `LOOKUP` được sử dụng để tìm một giá trị trong một bảng dựa trên một khóa và trả về giá trị từ một cột khác trong cùng một hàng.
Khám phá các nhóm hàm
AppSheet phân loại công thức thành các nhóm chức năng, giúp bạn dễ dàng tìm kiếm và áp dụng.
Conditional
Hàm điều kiện như IF, IFS, SWITCH.
Text
Xử lý chuỗi, văn bản.
Math & Logical
Các hàm tính toán và logic.
Date & Time
Làm việc với ngày và giờ.
List
Tạo và thao tác với danh sách.
Table
Làm việc với bảng dữ liệu.
Context
Lấy thông tin ngữ cảnh ứng dụng.
Link
Các hàm tạo liên kết và điều hướng.
Chi tiết các hàm thông dụng
Dưới đây là mô tả chi tiết, cú pháp và ví dụ cho các hàm được sử dụng thường xuyên nhất trong AppSheet.
Hàm IF()
Kiểm tra một điều kiện, trả về một giá trị nếu đúng và giá trị khác nếu sai.
Hàm SWITCH()
So sánh một giá trị với một danh sách các trường hợp và trả về kết quả tương ứng.
Hàm IFS()
Kiểm tra nhiều điều kiện và trả về kết quả đầu tiên thỏa mãn.
Hàm CONTAINS()
Kiểm tra xem một chuỗi văn bản có chứa chuỗi con cụ thể hay không.
Hàm ISBLANK() / ISNOTBLANK()
Kiểm tra xem một giá trị có rỗng hay không.
Hàm DATE() / DATETIME()
Chuyển đổi một giá trị thành kiểu Ngày hoặc Ngày Giờ.
Hàm NOW()
Trả về ngày và giờ hiện tại của máy chủ.
Hàm CONTEXT()
Lấy thông tin về ngữ cảnh của ứng dụng (VD: tên view, loại thiết bị).
Hàm USEREMAIL()
Lấy ra địa chỉ email của người dùng đang sử dụng ứng dụng.
Hàm LINKTOVIEW()
Tạo ra một liên kết đến một chế độ xem bất kỳ trong ứng dụng.
Hàm LINKTOFORM()
Tạo liên kết đến một form, có thể điền trước giá trị.
Hàm LINKTOROW()
Tạo liên kết đến chi tiết của một hàng cụ thể.
Hàm SELECT()
Trích xuất một danh sách các giá trị từ một cột dựa trên điều kiện.
Hàm ANY()
Lấy ra một giá trị ngẫu nhiên từ một danh sách.
Hàm COUNT()
Đếm số lượng các giá trị trong một danh sách.
Hàm IN()
Kiểm tra xem một giá trị có nằm trong một danh sách hay không.
Hàm INDEX()
Lấy ra giá trị tại một vị trí cụ thể trong danh sách.
Hàm MAX() / MIN()
Lấy ra giá trị lớn nhất hoặc nhỏ nhất trong danh sách.
Hàm SPLIT()
Tách một chuỗi thành một danh sách dựa vào ký tự phân cách.
Hàm UNIQUE()
Lấy ra một danh sách các giá trị duy nhất.
Hàm AND() / OR()
Kết hợp nhiều điều kiện logic.
Hàm NOT()
Đảo ngược kết quả của một biểu thức logic.
Hàm ROUND()
Làm tròn một số thập phân.
Hàm FILTER()
Lọc ra một danh sách các hàng từ một bảng theo điều kiện.
Hàm LOOKUP()
Tìm kiếm một giá trị trong một bảng và trả về giá trị từ cột khác.
Hàm MAXROW() / MINROW()
Tìm hàng có giá trị lớn nhất/nhỏ nhất trong một cột.
Hàm ORDERBY()
Sắp xếp một danh sách các hàng theo một hoặc nhiều cột.
Hàm CONCATENATE()
Nối hai hoặc nhiều chuỗi ký tự lại với nhau.
Hàm EXTRACT()
Tìm kiếm và lấy ra các chuỗi đặc biệt (email, số điện thoại, ...).
Hàm FIND()
Tìm kiếm vị trí xuất hiện của một chuỗi.
Hàm LEFT() / RIGHT()
Lấy ra ký tự từ bên trái hoặc phải.
Hàm LEN()
Đếm số lượng ký tự trong một chuỗi.
Hàm LOWER() / UPPER()
Chuyển đổi chuỗi thành chữ thường hoặc chữ hoa.
Hàm SUBSTITUTE()
Thay thế một chuỗi con bằng chuỗi khác.
Hàm TEXT()
Chuyển một giá trị số hoặc ngày thành chuỗi theo định dạng.
Hàm TRIM()
Loại bỏ khoảng trắng thừa ở đầu và cuối chuỗi.
Lưu ý khi áp dụng & Lỗi thường gặp
Viết công thức không khó, nhưng rất dễ mắc phải những lỗi nhỏ. Dưới đây là một vài lỗi phổ biến và cách khắc phục.
Quên dấu ngoặc kép cho giá trị Text
Sai:
Đúng:
Sai tên cột hoặc tên bảng
Sai:
Đúng:
So sánh kiểu dữ liệu không tương thích
Sai:
Đúng:
Discussion