Cách Xóa Dữ Liệu Trùng Lặp Trong Google Sheets Siêu Tốc Bằng Script
Cách Xóa Dữ Liệu Trùng Lặp Trong Google Sheets Siêu Tốc Bằng Script
Bạn đã bao giờ cảm thấy "mắt rờn" khi nhìn vào một file Google Sheets khổng lồ với hàng nghìn dòng dữ liệu, và phát hiện ra có rất nhiều dòng trùng lặp không? Tôi thì có, và cảm giác đó thực sự không vui chút nào.
Hãy tưởng tượng bạn đang quản lý danh sách khách hàng, mã đơn hàng hoặc dữ liệu nhập kho. Bạn cố gắng sắp xếp, lọc và xóa thủ công từng dòng một. Cuối cùng bạn mới nhận ra: việc này tốn quá nhiều thời gian và rất dễ sai sót con người. Bạn có thể dành cả buổi chiều chỉ để xử lý dữ liệu dư thừa thay vì tập trung vào việc phân tích và ra quyết định.
Đó chính là lúc Google Apps Script phát huy sức mạnh. Nếu bạn đang muốn xóa trùng lặp Google Sheets một cách tự động, chính xác và siêu tốc chỉ trong tích tắc, thì bài viết này chính xác là dành cho bạn. Hãy cùng AutoSheet khám phá giải pháp "thần thánh" này nhé!
Tại sao nên dùng Script thay vì tính năng có sẵn?
Google Sheets có sẵn tính năng "Remove duplicates" (Xóa trùng lặp) trong menu Data. Tuy nhiên, tính năng này có những hạn chế:
* Tương tác thủ công: Bạn phải chọn vùng dữ liệu và bấm click mỗi lần có dữ liệu mới.
* Khó tùy biến: Nó xóa toàn bộ dòng trùng nhau, đôi khi bạn chỉ muốn xóa trùng dựa trên một cột nhất định (ví dụ: cột Email) nhưng vẫn giữ lại các cột thông tin khác.
* Không tự động: Khi dữ liệu được cập nhật hàng ngày, bạn phải lặp lại quy trình.
Sử dụng Google Apps Script sẽ giúp bạn vượt qua tất cả các rào cản trên. Bạn có thể tạo một nút bấm hoặc cài đặt tự động chạy để dọn dẹp dữ liệu mỗi ngày mà không cần can thiệp tay chân.
Giải pháp: Script Xóa Trùng Lặp "Thần Tốc"
Dưới đây là một đoạn mã Google Apps Script đơn giản nhưng cực kỳ hiệu quả. Đoạn script này sẽ quét qua toàn bộ dữ liệu trong sheet của bạn, loại bỏ các dòng trùng lặp hoàn toàn và giữ lại dòng đầu tiên xuất hiện.
Đoạn Script mẫu
function xoaTrungLap() {
// Lấy sheet hiện đang hoạt động
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Lấy toàn bộ dữ liệu trong sheet
var data = sheet.getDataRange().getValues();
// Mảng để lưu trữ dữ liệu không trùng
var newData = [];
// Mảng để lưu các dòng đã xem qua (dùng để kiểm tra trùng)
var seenRows = [];
// Duyệt qua từng dòng dữ liệu
for (var i = 0; i < data.length; i++) {
var row = data[i];
// Chuyển dòng dữ liệu thành chuỗi để so sánh dễ dàng
var rowString = row.join("||");
// Nếu dòng này chưa xuất hiện
if (seenRows.indexOf(rowString) === -1) {
// Thêm vào danh sách đã thấy
seenRows.push(rowString);
// Thêm vào dữ liệu mới
newData.push(row);
}
}
// Xóa sạch dữ liệu cũ trong sheet
sheet.clearContents();
// Ghi lại dữ liệu đã lọc (nếu có dữ liệu mới)
if (newData.length > 0) {
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}
// Thông báo hoàn thành
SpreadsheetApp.getUi().alert("Đã xóa xong dữ liệu trùng lặp! Số dòng còn lại: " + newData.length);
}
Hướng dẫn thực hiện chi tiết
Để sử dụng đoạn mã trên, bạn chỉ cần làm theo 3 bước đơn giản sau:
Mở Apps Script Editor:
Trong file Google Sheets của bạn, đi tới menu Extensions (Tiện ích) > Apps Script.Dán đoạn mã:
Xóa toàn bộ mã có sẵn trong màn hình chỉnh sửa (thường làfunction myFunction() {...}) và dán đoạn mã tôi cung cấp ở trên vào.Lưu và Chạy:
- Nhấn biểu tượng đĩa mềm (Lưu) hoặc
Ctrl + S. Đặt tên cho dự án (ví dụ:XoaTrungLap). - Nhấn nút Run (Chạy) trên thanh công cụ.
- Google sẽ yêu cầu bạn cấp quyền (Authorization) cho đoạn script. Hãy nhấn Review Permissions (Xem xét quyền), chọn tài khoản Google của bạn, sau đó nhấn Advanced (Nâng cao) > Go to ... (unsafe) (đừng lo, đây là đoạn code bạn tự viết nên nó an toàn) và cuối cùng là Allow (Cho phép).
- Nhấn biểu tượng đĩa mềm (Lưu) hoặc
Và thế là xong! Quay lại file Google Sheets, bạn sẽ thấy dữ liệu của mình đã được gọt giũa sạch sẽ, không còn bất kỳ dòng trùng lặp nào.
Lợi ích của việc sử dụng Script này
- Tiết kiệm thời gian: Thay vì hàng giờ đồng hồ lọc thủ công, script chỉ mất vài giây để xử lý hàng chục ngh dòng.
- Độ chính xác cao: Máy tính không bao giờ "mỏi mắt" hay bỏ sót một dòng trùng nào.
- Có thể tái sử dụng: Một khi đã cài đặt, bạn có thể dùng nó cho bao nhiêu file khác nhau tùy thích.
- Tùy biến cao: Nếu bạn biết một chút về code, bạn có thể chỉnh sửa logic để chỉ xóa trùng trên cột A, hoặc cột B và C, v.v.
Kết luận
Dữ liệu sạch là nền tảng của mọi quyết định kinh doanh chính xác. Đừng để những dữ liệu rác làm chậm tiến độ công việc của bạn. Với Google Apps Script, việc xóa trùng lặp Google Sheets không còn là một cơn ác mộng mà trở thành một trải nghiệm thú vị và đầy thỏa mãn.
Hy vọng bài viết này từ AutoSheet đã giúp bạn tiết kiệm được nhiều giờ làm việc vô ích. Nếu bạn muốn tìm hiểu sâu hơn về cách tự động hóa các quy trình trên Google Sheets, Excel hay các công cụ làm việc khác một cách chuyên nghiệp, hãy ghé thăm AutoSheet.vn ngay hôm nay.
Chúng tôi cung cấp các giải pháp tự động hóa tùy biến giúp doanh nghiệp của bạn vận hành mượt mà và hiệu quả hơn bao giờ hết. Đừng ngần ngại liên hệ với AutoSheet để nhận tư vấn miễn phí!