Chào các bác, dạo này em đang làm việc nhiều với Google Sheets để quản lý danh sách khách hàng và các dự án. Thật sự rất khó chịu khi cứ thi thoảng lại phát hiện ra các bản ghi bị trùng lặp, vừa tốn công sức sửa, vừa ảnh hưởng đến báo cáo.
Em đã thử qua mấy cách thủ công như dùng Conditional Formatting hay Filter, nhưng với lượng dữ liệu lớn thì không hiệu quả lắm, lại dễ bỏ sót. Thế là em quyết định mày mò viết một chút Apps Script để tự động hóa việc này.
Kết quả là em đã tạo ra một script đơn giản nhưng khá hiệu quả. Nó sẽ tự động quét qua một cột (ví dụ: cột Email hoặc Mã KH) và tô màu hoặc đánh dấu những dòng có dữ liệu trùng lặp. Thậm chí, em còn tùy chỉnh để nó hiển thị một thông báo cảnh báo nếu phát hiện có sự trùng lặp.
Cơ chế hoạt động cơ bản là:
- Lấy toàn bộ dữ liệu từ cột cần kiểm tra.
- Sử dụng một đối tượng JavaScript (Object) để đếm tần suất xuất hiện của từng giá trị.
- Duyệt qua danh sách giá trị, nếu giá trị nào có số lần xuất hiện lớn hơn 1 thì đánh dấu là trùng lặp.
- Cập nhật lại trên Google Sheets (tô màu hoặc ghi chú).
Em thấy cách này nhanh và chính xác hơn hẳn. Nếu bác nào cũng đang đau đầu với vấn đề dữ liệu trùng lặp trên Google Sheets mà muốn tự động hóa thì có thể tham khảo cách này. Em sẵn sàng chia sẻ code hoặc giải thích chi tiết hơn nếu có bác nào quan tâm ạ!