Nhờ các bạn viết giúp đoạn code để xoá dữ liệu

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

pqkythuat1

Thành viên mới
Tham gia
14/1/23
Bài viết
35
Được thích
2
Chào các bạn,
Xin các bạn giúp mình đoạn code để xoá toàn bộ dòng nếu giá trị ở cả 3 ô ở cột C, D và E ở 2 dòng liền kề nhau giống nhau ạ.
a52e4e30-5abf-44bf-8e36-1f371bf05c84.png

Mình xin gửi link chỉnh sửa

Cám ơn các bạn rất nhiều ạ.
 
Chào các bạn,
Xin các bạn giúp mình đoạn code để xoá toàn bộ dòng nếu giá trị ở cả 3 ô ở cột C, D và E ở 2 dòng liền kề nhau giống nhau ạ.
View attachment 298637

Mình xin gửi link chỉnh sửa

Cám ơn các bạn rất nhiều ạ.
Bạn viết code ở Google sheet hay là ở excel nhỉ.
 
Chào các bạn,
Xin các bạn giúp mình đoạn code để xoá toàn bộ dòng nếu giá trị ở cả 3 ô ở cột C, D và E ở 2 dòng liền kề nhau giống nhau ạ.
View attachment 298637

Mình xin gửi link chỉnh sửa

Cám ơn các bạn rất nhiều ạ.
Bạn xem file nha code xoa2DongLienKeTrung
 
Mình xin phép đưa đoạn code ra đây để mọi người có thể tham khảo ạ.

Mã:
function xoa2DongLienKeTrung() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('data');

  var dataRange = sheet.getDataRange();
  var values = dataRange.getValues();
  var numRows = values.length;

  // Duyệt qua từng dòng từ dòng thứ 2 đến dòng cuối cùng
  for (var i = numRows - 1; i > 0; i--) {
    var currentRow = values[i];
    var previousRow = values[i - 1];

    // Kiểm tra nếu giá trị của cả ba cột giống nhau
    if (currentRow[2] === previousRow[2] && currentRow[3] === previousRow[3] && currentRow[4] === previousRow[4]) {
      // Xóa cả hai dòng liền kề nếu điều kiện được thỏa mãn
      sheet.deleteRow(i + 1);
      sheet.deleteRow(i);
    }
  }
}

Mã:
function removeDuplicates() {
  // Nhận tham chiếu đến bảng tính
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("data");

  // Lấy phạm vi dữ liệu cần kiểm tra
  var range = sheet.getRange("C2:E" + sheet.getLastRow());

  // Khởi tạo biến đếm số lượng dòng trùng lặp
  var countDuplicates = 0;

  // Chạy vòng lặp từ dòng cuối đến dòng 2
  for (var i = range.getLastRow(); i >= 2; i--) {
    // Kiểm tra nếu dòng hiện tại có dữ liệu trùng lặp
    var isDuplicate = false;
    for (var j = i - 1; j >= 2; j--) {
      if (range.getValues()[i] == range.getValues()[j]) {
        isDuplicate = true;
        break;
      }
    }

    // Nếu có dữ liệu trùng lặp, xóa dòng hiện tại
    if (isDuplicate) {
      range.deleteRow(i);
      countDuplicates++;
    }
  }

  // Hiển thị thông báo số lượng dòng đã được xóa
  alert("Đã xóa " + countDuplicates + " dòng trùng lặp.");
}

Mã:
function removeAdjacentDuplicates() {
  // Nhận tham chiếu đến bảng tính
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("data");

  // Lấy phạm vi dữ liệu cần kiểm tra
  var range = sheet.getRange("C2:E" + sheet.getLastRow());

  // Khởi tạo biến đếm số lượng dòng trùng lặp
  var countDuplicates = 0;

  // Chạy vòng lặp từ dòng cuối đến dòng 2
  for (var i = range.getLastRow(); i >= 2; i--) {
    // Kiểm tra nếu dòng hiện tại có dữ liệu trùng lặp với dòng trước đó
    var isDuplicate = false;
    if (range.getValues()[i] == range.getValues()[i - 1]) {
      isDuplicate = true;
    }

    // Nếu có dữ liệu trùng lặp, xóa dòng hiện tại và dòng trước đó
    if (isDuplicate) {
      range.deleteCells(i - 1, 2);
      countDuplicates++;
    }
  }

  // Hiển thị thông báo số lượng dòng đã được xóa
  alert("Đã xóa " + countDuplicates + " dòng trùng lặp.");
}
 
Web KT
Back
Top Bottom