Google AppSheet - Làm thế nào để kiểm tra trùng lặp của một cột dữ liệu và thông báo cho người dùng

AppSheet trùng lặp, Thiết lập không trùng lặp dữ liệu trong cột appsheet, Cách lọc dữ liệu trùng lặp trong Google Sheet cực đơn giản
Làm thế nào để kiểm tra trùng lặp của một cột dữ liệu và thông báo cho người dùng trong Google Appsheet.
Google AppSheet - Làm thế nào để kiểm tra trùng lặp của một cột dữ liệu và thông báo cho người dùng


 Ví dụ 1: Ta có các cột 
IDTên Công trìnhTổng mức đầu tưNSTWNSTNSHNSXNhân dân

Bạn muốn cột "Tên Công trình" không được nhập trùng. cột "Tên Công trình" không phải khoá chính để có thể sửa đổi. Hãy làm theo cách sau.
Mở Appsheet và tick chọn Key và Label
Google AppSheet - Làm thế nào để kiểm tra trùng lặp của một cột dữ liệu và thông báo cho người dùng

- Tiếp theo hãy chỉnh sửa cột "Tên Công trình" như sau:
+ Mục Valid If: Ta gõ công thức điều kiện
+ Mục: Invalid value error: Ta nhập thông báo
Google AppSheet - Làm thế nào để kiểm tra trùng lặp của một cột dữ liệu và thông báo cho người dùng

Bạn có thể copy công thức ở dưới đây:
IF(
  ISBLANK([_thisrow].[Tên Công trình]), 
  TRUE, 
  IF(
    NOT(IN([_thisrow].[ID],DSCongTrinh[ID])), 
    NOT(IN([_thisrow].[Tên Công trình],DSCongTrinh[Tên Công trình])), 
    IF(
      [_Thisrow].[Tên Công trình]=LOOKUP([_thisrow].[ID],"DSCongTrinh","ID","Tên Công trình"), 
      NOT(IN([_thisrow].[Tên Công trình],DSCongTrinh[Tên Công trình]-LIST([_thisrow].[Tên Công trình]))), 
      NOT(IN([_thisrow].[Tên Công trình],DSCongTrinh[Tên Công trình]))
    )
  )
)

Giải thích

Hàm IF đầu tiên:
Điều kiện: ISBLANK([_thisrow].[Tên Công trình])
Kiểm tra xem ô Tên Công trình trong hàng hiện tại có trống hay không.
Kết quả nếu điều kiện đúng: true
Nếu ô Tên Công trình trống, trả về giá trị true. 
Kết quả nếu điều kiện sai:

Hàm IF thứ hai:

Điều kiện: not(in([_thisrow].[ID],DSCongTrinh[ID]))
Kiểm tra xem ID của công trình trong hàng hiện tại có tồn tại trong bảng DSCongTrinh hay không.
Kết quả nếu điều kiện đúng:

Hàm IF thứ ba:

Điều kiện: not(in([_thisrow].[Tên Công trình],DSCongTrinh[Tên Công trình]))
Kiểm tra xem tên công trình trong hàng hiện tại có tồn tại trong bảng DSCongTrinh hay không.
Kết quả nếu điều kiện đúng:
true
Nếu cả ID và tên công trình đều không tồn tại trong bảng DSCongTrinh, trả về true.
Kết quả nếu điều kiện sai:
not(in([_thisrow].[Tên Công trình],DSCongTrinh[Tên Công trình]-list([_thisrow].[Tên Công trình])))
Kiểm tra xem tên công trình trong hàng hiện tại có trùng với bất kỳ tên công trình nào trong bảng DSCongTrinh ngoại trừ chính tên công trình đó hay không.
Kết quả nếu điều kiện đúng:
true
Nếu tên công trình trùng với một tên khác trong bảng DSCongTrinh, trả về true.
Kết quả nếu điều kiện sai:
false
Nếu tên công trình không trùng với bất kỳ tên nào trong bảng DSCongTrinh, trả về false.
Kết quả nếu điều kiện sai:
false
Nếu ID của công trình tồn tại trong bảng DSCongTrinh, trả về false.

Kết luận:

  • Công thức này dùng để kiểm tra xem một công trình có hợp lệ hay không dựa trên hai tiêu chí:
  • ID công trình phải tồn tại trong bảng DSCongTrinh.
  • Tên công trình không được trùng với bất kỳ tên công trình nào khác trong bảng DSCongTrinh (trừ chính tên công trình đó).
Lưu ý:
Công thức này sử dụng nhiều hàm lồng nhau, có thể khiến việc hiểu và sửa đổi trở nên khó khăn.
Bạn nên sử dụng các tên biến và hàm dễ hiểu để tăng khả năng đọc hiểu của mã.

Ví dụ

Giả sử bảng DSCongTrinh có dữ liệu sau:
ID | Tên Công trình
---|---
1 | Công trình A
2 | Công trình B
3 | Công trình C

  • Nếu ô Tên Công trình trong hàng hiện tại trống, công thức sẽ trả về true.
  • Nếu ô Tên Công trình là "Công trình D" và ID của công trình không tồn tại trong bảng DSCongTrinh, công thức sẽ trả về true.
  • Nếu ô Tên Công trình là "Công trình B" và ID của công trình tồn tại trong bảng DSCongTrinh, công thức sẽ trả về false.
  • Nếu ô Tên Công trình là "Công trình A" và ID của công trình tồn tại trong bảng DSCongTrinh, công thức sẽ trả về false.
Giải thích thêm
  • Hàm ISBLANK: Kiểm tra xem ô có trống hay không.
  • Hàm IN: Kiểm tra xem một giá trị có tồn tại trong một danh sách hay không.
  • Hàm LOOKUP: Tìm kiếm giá trị tương ứng trong một bảng dựa trên một cột nhất định.
  • Hàm LIST: Chuyển đổi một giá trị thành danh sách.
Bản quyền bài viết: saunguyen.pro
Bài viết liên quan:

Đăng nhận xét

Để lại bình luận ở đây😘