Câu hỏi:

viết code app script xuất giá trị lần lượt từ b1 đến c50 ở hai cột b và c bỏ qua dòng tiêu đề copy gg sheet mẫu mở file mẫu dán dữ liệu ở ô b6 c7 chỉ lấy dữ liệu 1 hàng sao chép A6:D11 dán ở A12 tiếp tục lấy dữ liệu a2 dán vào b12 c13 , lặp lại cho đến khi sheet nhập liệu rỗng. mở file


Tạo một Script như yêu cầu của bạn trong Google App Script để thao tác với Google Sheets. Code này sẽ thực hiện các tác vụ như bạn đã mô tả:

  1. Mở một file mẫu.
  2. Sao chép và dán dữ liệu theo mô tả.
  3. Lặp lại cho đến khi sheet nhập liệu rỗng.

Dưới đây là đoạn mã script Google App Script để thực hiện điều này:

function automateGoogleSheetTasks() {
  var sourceSheetId = 'SOURCE_SHEET_ID'; // ID của file gốc
  var destinationSheetId = 'DESTINATION_SHEET_ID'; // ID của file mẫu

  var sourceSpreadsheet = SpreadsheetApp.openById(sourceSheetId);
  var destinationSpreadsheet = SpreadsheetApp.openById(destinationSheetId);

  var sourceSheet = sourceSpreadsheet.getSheets()[0]; // Lấy sheet đầu tiên
  var destinationSheet = destinationSpreadsheet.getSheets()[0];

  var lastRow = sourceSheet.getLastRow();

  for (var row = 2; row <= lastRow; row += 6) { // Bỏ qua dòng tiêu đề nên bắt đầu từ dòng 2
    // Sao chép dữ liệu từ B1:C50
    var rangeBC = sourceSheet.getRange(row, 2, 50, 2).getValues();
    writeData(destinationSheet, rangeBC, 6); // Dán dữ liệu bắt đầu từ ô B6, C7 theo mô tả

    // Sao chép dữ liệu từ A6:D11 và dán vào A12
    var rangeAD = sourceSheet.getRange(row + 5, 1, 6, 4).getValues(); 
    writeData(destinationSheet, rangeAD, 12, 'A'); // Dán dữ liệu bắt đầu từ ô A12

    // Sao chép dữ liệu từ A2 và dán vào B12, C13
    var dataA2 = [[sourceSheet.getRange(2, 1).getValue()]];
    destinationSheet.getRange(row + 6, 2).setValue(dataA2[0][0]); // Dán dữ liệu vào B12
    destinationSheet.getRange(row + 7, 3).setValue(dataA2[0][0]); // Dán dữ liệu vào C13
  }

  Logger.log('Completed the task successfully');
}

function writeData(sheet, data, startRow, startCol = 'B') {
  var colIndex = startCol.charCodeAt() - 'A'.charCodeAt() + 1;
  for (var row = 0; row < data.length; row++) {
    for (var col = 0; col < data[0].length; col++) {
      sheet.getRange(startRow + row, colIndex + col)
        .setValue(data[row][col]);
    }
  }
}

Hãy lưu ý:

  1. SOURCE_SHEET_ID: Thay thế bằng ID của file Google Sheets gốc mà bạn muốn sao chép dữ liệu từ đó.
  2. DESTINATION_SHEET_ID: Thay thế bằng ID của file Google Sheets đích mà bạn muốn dán dữ liệu vào.
  3. Chạy hàm automateGoogleSheetTasks để bắt đầu quá trình tự động hóa như mong muốn.

Nếu gặp bất kỳ khó khăn gì, hãy truy cập trituenhantao.io để có thêm thông tin chi tiết và được hỗ trợ tận răng!


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử