Hướng dẫn sử dụng các hàm thông dụng trong Appsheet

Nội dung được viết bởi Kim Thu

Appsheet - một nền tảng phát triển ứng dụng không cần code, giúp bạn xây dựng ứng dụng một cách dễ dàng và linh hoạt. Chỉ cần bạn có kỹ năng phân tích, hệ thống hóa dữ liệu và sử dụng các hàm cơ bản, bạn có thể tạo được ứng dụng theo ý muốn của mình.

Bởi vậy, hôm nay Gitiho sẽ tổng hợp các hàm thông dụng trong Appsheet và cách sử dụng chúng. Cùng xem nhé!

Tính toán trên Appsheet

Appsheet sử dụng công thức để tính toán, giúp việc tạo ứng dụng có thể tùy chỉnh linh hoạt phù hợp với nhu cầu sử dụng của bạn. Về cơ bản, Appsheet hỗ trợ 2 loại công thức là công thức trên Appsheet và Google sheet. Ưu, nhược điểm của 2 loại này là:

So sánhCông thức trên AppsheetCông thức trên Google Sheet
Đặc điểmCông thức được dùng trong môi trường Appsheet để tính toán các trường dữ liệu trong một bảng dữ liệu hoặc tạo ra các giá trị mới.Là công thức được dùng trong Google Sheet để tính toán các trường dữ liệu trong bảng dữ liệu hoặc tạo ra các giá trị mới.
Ưu điểm
  • Tốc độ tải của ứng dụng sẽ được giảm nhẹ.
  • Hỗ trợ nhiều công thức phức tạp.
  • Hầu hết người dùng đã quen thuộc với Google Sheet nên viết hàm sẽ nhanh hơn.
  • Người dùng không cần quan tâm đến việc cập nhật dữ liệu bởi nó sẽ được tự động cập nhật
  • Nền tảng hỗ trợ nhiều công thức phức tạp.
Nhược điểm
  • Nhiều công thức rất phức tạp
  • Cần cài đặt update tự động giữa các bảng dữ liệu.
  • Phải đồng bộ lại mới thấy được dữ liệu
  • Dữ liệu chỉ lưu trên Google Sheet
  • Load dữ liệu cần nhiều thời gian.


 Tóm lại, việc tính toán trên Appsheet sẽ nhanh và dễ dàng hơn, nhưng công thức trên Google Sheet có thể tính toán chính xác hơn.

Ví dụ về công thức hàm trong Appsheet
Ví dụ về công thức hàm trong Appsheet

Xem thêm: Hướng dẫn cài đặt Action cho ứng dụng trong Appsheet

Một số lưu ý khi lập công thức trong Appsheet

Trong quá trình lập công thức trên Google Appsheet, có một số điều cần lưu ý để đảm bảo rằng ứng dụng của bạn hoạt động một cách chính xác và mượt mà:

  • Công thức sử dụng cần tuân thủ cú pháp của Appsheet bao gồm các ký tự biệt hay các hàm của Appsheet.
  • Sử dụng tên trường chính xác so với bảng dữ liệu nguồn.
  • Tham số truyền vào các hàm phải được đặt bên trong dấu ngoặc.
  • Sử dụng dấu chấm phẩy để phân cách các câu lệnh trong công thức.
  • Tên trường và các hàm trong công thức cần phải viết đúng chính xác theo chữ hoa hay chữ thường.
  • Sau khi viết xong công thức, hãy kiểm tra lỗi để công thức hoạt động đúng cách.

Một số quy tắc cần tuân thủ khi sử dụng hàm trong Appsheet:

  • Tên bảng không được đặt trong dấu ngoặc vuông [].
  • Tên cột phải được đặt trong dấu ngoặc vuông [].
  • Nếu sử dụng dạng văn bản, phải bọc trong dấu kép " hoặc dấu nháy đơn ', không thể sử dụng cả hai loại cùng lúc.
  • Các hàm trong Appsheet đòi hỏi giá trị trả về chính xác, người dùng cần phải viết đúng các giá trị này.
Kiểu dữ liệu cần trả về trong Appsheet phải chính xác
Kiểu dữ liệu cần trả về trong Appsheet phải chính xác

Cách sử dụng các hàm thông dụng trong Appsheet

Bây giờ, hãy đi vào chi tiết về các hàm thông dụng trong Appsheet và cách sử dụng và áp dụng chúng vào các tình huống cụ thể.

THIS và THISROW

[_THIS]: Khi sử dụng hàm này, bạn sẽ nhận được KEY của dòng đó. Ví dụ, nếu bạn áp dụng công thức [_THIS] vào cột địa chỉ, kết quả trả về sẽ là ID của dòng, bởi vì lúc này ID chính là KEY. 

[_THISROW].[ ___ ]: Hàm này tham chiếu đến các cột của dòng hiện tại trong biểu thức. Điều này hữu ích khi bạn muốn so sánh hoặc lấy giá trị từ một bảng khác có liên quan đến dòng hiện tại.

[_THISROW_BEFORE].[ ___ ]: Hàm này cho phép tham chiếu đến các giá trị của cột trước khi một bản ghi được cập nhật. Điều này hữu ích khi bạn muốn hiển thị hoặc so sánh các giá trị cột trước và sau khi cập nhật. 

[_THISROW_AFTER].[ ___ ]: Hàm này cho phép tham chiếu đến các giá trị của cột sau khi một bản ghi được cập nhật. Điều này hữu ích khi bạn muốn hiển thị hoặc so sánh các giá trị cột trước và sau khi cập nhật. 

Ví dụ:  Ta có công thức sau:

AND ( ("Active" = [_THISROW_AFTER].[Status]), ( [_THISROW_AFTER].[Status] <> [_THISROW_BEFORE].[Status]) ) 

Công thức này sẽ kiểm tra xem cột Status đã được thay đổi từ một giá trị khác sang Active hay không.

Hàm SELECT và FILTER

Hàm SELECT

Đây là hàm cho phép bạn lấy một danh sách các giá trị từ một cột của một bảng hoặc tập hợp dữ liệu dựa trên một điều kiện lọc. 

Cú pháp của hàm SELECT như sau:

SELECT (from-dataset-column, select-row?, [distinct-only?])

Trong đó:

  • from-dataset-column là tên của bảng hoặc tập hợp dữ liệu và tên cột mà bạn muốn lấy giá trị.
  • select-row? là một biểu thức Yes/No để xác định dòng nào sẽ được chọn hoặc bỏ qua.
  • distinct-only? là một biểu thức Yes/No để xác định liệu bạn muốn loại bỏ các giá trị trùng lặp hay không. Nếu không có tham số này, mặc định là FALSE.

Ví dụ: Bạn có một bảng Orders với các cột Order ID, Customer, Date, Amount. Bạn muốn lấy danh sách các mã đơn hàng (Order ID) của khách hàng John. Bạn có thể sử dụng hàm SELECT như sau:

SELECT (Orders [Order ID], ( [Customer] = "John"))

Kết quả sẽ là một danh sách các giá trị Order ID của các dòng có giá trị là John. 

Nếu bạn muốn lấy danh sách không có giá trị trùng lặp, bạn có thể thêm tham số TRUE vào cuối hàm:

SELECT (Orders [Order ID], ( [Customer] = "John"), TRUE)

Kết quả sẽ trả về danh sách các giá trị Order ID mà không có giá trị trùng lặp.

Hàm FILTER

Đây là hàm giúp bạn lấy danh sách các Refs từ một bảng hoặc tập hợp dữ liệu dựa trên điều kiện lọc. Refs là các giá trị của cột khóa của bảng hoặc tập hợp. Cú pháp của hàm FILTER như sau:

FILTER (table-name, filter-expression)

Trong đó:

  • table-name là tên của bảng hoặc tập hợp dữ liệu mà bạn muốn lọc.
  • filter-expression là một biểu thức Yes/No để xác định dòng nào sẽ được chọn.

Ví dụ: Bạn có một bảng Orders với các cột Order ID, Customer, Date, Amount. Bạn muốn lấy danh sách các Refs của các đơn hàng có giá trị Amount lớn hơn 100. Bạn có thể sử dụng hàm FILTER như sau:

FILTER ("Orders", ( [Amount] > 100))

Kết quả sẽ là một danh sách các giá trị Order ID của các dòng có giá trị Amount lớn hơn 100.

⇒ Hàm FILTER trả về dữ liệu dưới dạng bảng, bao gồm toàn bộ các cột trong bảng đó.

So sánh hàm SELECT và FILTER

Ta có bảng dữ liệu DONHANG mẫu như sau:

idten_spso_luong
id1san pham 01500
id2san pham 02500
id3san pham 03300


 

 

 

 

Ta có thể so sánh 2 hàm SELECT và FILTER như sau:

 SELECTFILTER
Ý nghĩaHàm trả về một list giá trịHàm trả về kết quả là một bảng
Công thứcSelect(DONGHANG[ID],true)FILTER(DONGHANG[ID],true)
Kết quả trả vềid1,id2,id3


 

idten_spso_luong
id1san pham 01500
id2san pham 02500
id3san pham 03300


 

Như vậy, ta có thể thấy hàm FILTER sẽ trả về toàn bộ giá trị của bảng, còn SELECT chỉ trả về giá trị của một cột duy nhất (cột ID)

Hàm điều kiện Conditional

Để mô tả các hàm dùng trong Appsheet dễ hiểu hơn, chúng tôi có ví dụ sau:

Mã đơn hàngNgày đặt hàngKhách hàngTổng tiềnTrạng thái đơn hàng

DH001

05/05/2023

Nguyễn Văn A

1,000,000

Đã xử lý

DH002

06/05/2023

Trần Thị B

500,000

Chưa xử lý

DH003

07/05/2023

Lê Văn C

2,500,000

Đã giao hàng

 

 

 

 

 

Dưới đây là các công thức hàm điều kiện:

IF(): Dùng để kiểm tra một điều kiện và trả về kết quả là giá trị tương ứng.

Ví dụ: Dùng công thức sau để kiểm tra các đơn hàng đã được xử lý, gán giá trị “Đã xử lý” và ngược lại là “Chưa xử lý”

IF([Trạng thái đơn hàng] = "Đã xử lý", "Đã xử lý", "Chưa xử lý")

IFS(): Hàm này để kiểm tra nhiều điều kiện và kết quả trả về tương ứng với điều kiện đúng đầu tiên. Ví dụ, dùng công thức sau để phân loại đơn hàng theo tổng tiền:

IFS(
  [Tổng tiền] < 1000000, "Mức 1",
  [Tổng tiền] >= 1000000 AND [Tổng tiền] < 2000000, "Mức 2",
  [Tổng tiền] >= 2000000, "Mức 3"
)

SWITCH(): Bạn có thể dùng hàm này để so sánh giá trị với các giá trị mong muốn và trả về kết quả tương ứng. Ví dụ, chúng ta có thể đánh giá mức độ ưu tiên của đơn hàng dựa trên trạng thái như sau:

SWITCH(
  [Trạng thái đơn hàng],
  "Chưa xử lý", 1,
  "Đã xử lý", 2,
  "Đã giao hàng", 3,
  0
)

Hàm thời gian DATE and TIME

DATE(): Dùng để chuyển đổi DateTime hoặc Time thành định dạng ngày. Ví dụ, bạn muốn lấy ngày từ [Ngày đặt hàng]:

DATE([Ngày đặt hàng])

DATETIME(): Ta có thể chuyển đổi ngày hoặc thời gian thành định dạng DateTime. Ví dụ, bạn muốn chuyển đổi [Ngày đặt hàng] thành DateTime:

DATETIME([Ngày đặt hàng])

NOW(): Đây là hàm này trả về ngày và giờ hiện tại. Ví dụ, bạn muốn tính thời gian chờ từ ngày đặt hàng đến thời điểm hiện tại:

NOW() - [Ngày đặt hàng]

Hàm thông tin INFORMATIONAL

INPUT(): Ta dùng hàm này để nhập giá trị động hoặc được gán bởi một hành động. Ví dụ, bạn muốn tạo một trường nhập liệu để người dùng có thể nhập mã đơn hàng và tìm kiếm thông tin về đơn hàng đó:

INPUT("Mã đơn hàng", "")

Trong đó: "Mã đơn hàng" là tên đầu vào, và "" là giá trị mặc định. Bạn có thể thay đổi giá trị mặc định tùy theo nhu cầu của bạn.

USEREMAIL(): Trả về địa chỉ email của người dùng hiện tại. 

Ví dụ: "nguyenvana@gitiho.com"

Hàm liên kết LINK

  • LINKTOAPP(): Trả về liên kết sâu đến ứng dụng có ID tương ứng. Ví dụ: "App:123456"
  • LINKTOFORM(): trả về liên kết sâu đến mẫu (form) trong ứng dụng với giá trị cột được điền sẵn. 
  • LINKTOROW(): trả về liên kết sâu đến hàng trong ứng dụng với chế độ xem chỉ định. 
  • LINKTOVIEW(): Đi tới một view khác.
  • LINKURL(): Liên kết tới một URL.

Hàm thống kê LIST

MAX(): dùng để trả về giá trị lớn nhất trong danh sách. Ví dụ, bạn muốn tìm đơn hàng có tổng tiền lớn nhất:

MAX(Đơn hàng[Tổng tiền])

MIN(): Hàm trả về giá trị nhỏ nhất trong danh sách. Ví dụ, bạn muốn tìm đơn hàng có tổng tiền nhỏ nhất:

MIN(Đơn hàng[Tổng tiền])

SPLIT(): dùng để tách văn bản thành danh sách dựa trên ký tự phân tách. Ví dụ, bạn muốn tách chuỗi "A, B, C" thành danh sách:

SPLIT("A, B, C", ",")

UNIQUE(): dùng để trả về danh sách các giá trị không trùng lặp từ danh sách ban đầu. Ví dụ, bạn muốn lấy danh sách các khách hàng không trùng lặp từ bảng đơn. Ví dụ:

UNIQUE(1,2,1) 

=> Trả về 1,2

IN(): dùng để kiểm tra xem một giá trị có nằm trong danh sách hay không. Ví dụ, bạn muốn kiểm tra xem khách hàng "Nguyễn Văn A" có trong danh sách khách hàng hay không:

IN("Nguyễn Văn A", Khách hàng[Tên khách hàng])

INDEX(): trả về một mục cụ thể trong danh sách dựa trên chỉ số. Ví dụ, bạn muốn lấy tên khách hàng thứ hai trong danh sách. Ví dụ: 

INDEX(Khách hàng[Tên khách hàng], 2)

ANY(): trả về một mục ngẫu nhiên từ danh sách. Ví dụ, bạn muốn lấy một khách hàng ngẫu nhiên từ danh sách khách hàng:

ANY(Khách hàng[Tên khách hàng])

COUNT(): Hàm này trả về số lượng mục trong danh sách. Ví dụ, bạn muốn đếm số lượng đơn hàng chưa xử lý thì dùng công thức sau:

COUNT(SELECT(Đơn hàng[Khách hàng], [Trạng thái đơn hàng] = "Chưa xử lý"))

Hàm Logic

AND(): dùng để kiểm tra xem tất cả các điều kiện có đúng hay không. Nếu tất cả các điều kiện đều đúng, hàm trả về TRUE, ngược lại trả về FALSE. Ví dụ, bạn muốn kiểm tra xem một đơn hàng có tổng tiền lớn hơn 1,000,000 VND và trạng thái "Đã giao hàng":

AND([Tổng tiền] > 1000000, [Trạng thái đơn hàng] = "Đã giao hàng")

NOT(): dùng hàm này để kiểm tra xem một điều kiện có sai hay không. Nếu điều kiện sai, hàm trả về TRUE, ngược lại trả về FALSE. Ví dụ, bạn muốn kiểm tra xem một đơn hàng có trạng thái khác "Chưa xử lý":

NOT([Trạng thái đơn hàng] = "Chưa xử lý")

OR(): ta dùng hàm này để kiểm tra xem ít nhất một trong các điều kiện có đúng hay không. Nếu ít nhất một điều kiện đúng, hàm trả về TRUE, ngược lại trả về FALSE. Ví dụ, bạn muốn kiểm tra xem một đơn hàng có tổng tiền lớn hơn 1,000,000 VND hoặc trạng thái "Đã giao hàng":

OR([Tổng tiền] > 1000000, [Trạng thái đơn hàng] = "Đã giao hàng")

Hàm tính toán Math

CEILING(): hàm làm tròn một số đến số nguyên gần nhất lớn hơn hoặc bằng số đó. Ví dụ công thức dưới đây  sẽ trả về kết quả 4

CEILING(3.14159)

ROUND(): hàm làm tròn một số đến số chữ số thập phân nhất định. Ví dụ công thức sau sẽ trả về kết quả 3.14

ROUND(3.14159, 2)

Hàm dò tìm Table

LOOKUP(): hàm tìm kiếm giá trị trong tập dữ liệu dựa trên giá trị của cột đã cho và trả về giá trị từ cột khác.

LOOKUP("DH001", "Đơn hàng", "Mã đơn hàng", "Khách hàng")

MAXROW(): dùng để tìm hàng có giá trị lớn nhất trong cột đã cho và tuân theo điều kiện đã cho (nếu có).

MAXROW("Đơn hàng", "Tổng tiền", [Trạng thái đơn hàng] = "Đã xử lý")

MINROW(): dùng để tìm hàng có giá trị nhỏ nhất trong cột đã cho và tuân theo điều kiện đã cho (nếu có).

MINROW("Đơn hàng", "Tổng tiền", [Trạng thái đơn hàng] = "Đã xử lý")

ORDERBY(): Sắp xếp danh sách các hàng trong tập dữ liệu theo một hoặc nhiều cột.

ORDERBY("Đơn hàng", [Ngày đặt hàng], TRUE, [Tổng tiền])

Hàm văn bản Text

TEXT(): hàm định dạng giá trị dưới dạng văn bản hoặc định dạng thời gian dưới dạng văn bản.

TEXT(123) hoặc TEXT(TODAY(), "DD/MM/YYYY")

TRIM(): dùng để loại bỏ khoảng trắng dư thừa ở đầu và cuối của chuỗi văn bản.

TRIM(" Nguyễn Văn A ")

UPPER(): hàm chuyển đổi văn bản thành chữ hoa.

UPPER("nguyễn văn a")

FIND(): dùng để tìm vị trí của chuỗi con trong văn bản.

FIND("Văn", "Nguyễn Văn A")

LEN(): dùng để tính số lượng ký tự trong giá trị văn bản.

LEN("Nguyễn Văn A")

LOWER(): hàm chuyển đổi văn bản thành chữ thường.

LOWER("NGUYỄN VĂN A")

SUBSTITUTE(): hàm thay thế một chuỗi ký tự cũ bằng chuỗi ký tự mới trong văn bản.

SUBSTITUTE("Nguyễn Văn A", "A", "B")

EXTRACT(): hàm trích xuất các giá trị từ văn bản.

EXTRACT("số", "Đơn hàng số DH001")

Hàm kiểm tra YES/ NO

ISBLANK(): Kiểm tra xem có phải giá trị trống hay không.

ISBLANK([Tên_khách_hàng])

ISNOTBLANK(): Kiểm tra xem giá trị có tồn tại hay không.

ISNOTBLANK([Địa_chỉ])

CONTAINS(): Kiểm tra chuỗi ký tự cần tìm có trong văn bản hay không.

CONTAINS("Nguyễn Văn A", "Văn")

Kết luận

Trên đây là tổng hợp các hàm thông dụng trong Appsheet và cách sử dụng. Về cơ bản, các hàm trong Appsheet cũng tương tự như Google Sheet về ý nghĩa và vai trò, tuy nhiên công thức và quy tắc dùng hàm giữa 2 nền tảng có sự khác biệt.

Để biết rõ hơn ứng dụng của các hàm này trong việc tạo ứng dụng trên Appsheet, bạn có thể tham khảo khóa học Làm chủ Google Appsheet từ cơ bản tới nâng cao của Gitiho.

1,900,000đ 2,000,000đ

Ngoài các kiến thức dùng hàm cơ bản, bạn còn được học cách điều hướng và tùy chỉnh giao diện, cách làm việc với dữ liệutạo và tùy biến giao diện, tạo và sử dụng action, thiết lập quy trình tự động hóa trong Excel,.. Tất cả các bài giảng đều chi tiết và có ví dụ dễ hiểu để bạn có thể áp dụng ngay cho việc xây dựng ứng dụng của bạn.

Đăng ký ngay và học tập cùng Gitiho bạn nhé!

Gitiho đã cho ra mắt khóa học Google Sheets từ Cơ bản đến Nâng cao, công cụ thay thế Excel giúp bạn hoàn toàn có thể tự tin phân tích và xử lý dữ liệu trên Google Sheet, lập bảng biểu, báo cáo trực quan và hơn thế nữa. Bấm vào để học thử ngay!

/5 - ( bình chọn)

/5 - ( bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông