Câu hỏi:

viết code app script xuất giá trị lần lượt từng hàng ở hai cột b và c bỏ qua dòng tiêu đề sang file gg sheet mẫu ở ô b6 c7. sao chép A6:D11 dán ở A12 tiếp tục cho đên khi hết dữ liệu. lưu và mở file


Có vẻ như bạn đang có một nhu cầu hơi phức tạp nhưng hoàn toàn có thể xử lý bằng Google Apps Script. Hãy cùng viết một đoạn mã App Script đáp ứng yêu cầu của bạn. Đây là đoạn mã chú thích từng bước để bạn dễ hiểu và thực hiện các thao tác:

  1. Xuất giá trị lần lượt từng hàng ở hai cột B và C (bỏ qua dòng tiêu đề) sang file Google Sheets mẫu tại ô B6 và C7.
  2. Sao chép A6:D11 và dán ở A12, tiếp tục đến khi hết dữ liệu.
  3. Lưu và mở file.

Đầu tiên, bạn cần tạo một Google Sheets và mở phần Script Editor để viết mã của mình. Đặt mã dưới đây vào đó:

function main() {
  // Tên của file Google Sheets mẫu (đã tạo trước đó trong Google Drive của bạn)
  var spreadsheetId = '1VdHp...NGBdI'; // Thay bằng ID thực sự của sheet bạn muốn sử dụng (phần sau '/d/' trong URL của Google Sheets)

  // Mở bảng tính
  var ss = SpreadsheetApp.openById(spreadsheetId);

  // Lấy dữ liệu từ trang đầu tiên (sheet)
  var sheet = ss.getSheets()[0];

  // Lấy tất cả dữ liệu trong phạm vi từ A1:D (đến hết hàng có dữ liệu)
  var data = sheet.getRange("A1:D").getValues();

  // Xử lý cột B và C (bỏ qua tiêu đề)
  var bColumn = [];
  var cColumn = [];

  for (var i = 1; i < data.length; i++) {
    bColumn.push([data[i][1]]);
    cColumn.push([data[i][2]]);
  }

  // Ghi dữ liệu vào các ô B6 và C7
  sheet.getRange(6, 2, bColumn.length).setValues(bColumn); // B6: B(x)
  sheet.getRange(7, 3, cColumn.length).setValues(cColumn); // C7: C(x)

  // Sao chép và dán dữ liệu từ A6:D11 đến hết dữ liệu
  var sourceRange = sheet.getRange("A6:D11");
  var lastRow = sheet.getLastRow();
  var targetRow = 12;

  while (targetRow <= lastRow) {
    sourceRange.copyTo(sheet.getRange(targetRow, 1));
    targetRow += 6; // vì kích thước của biến sourceRange là 6 hàng (A6:D11)
  }

  // Lưu và mở file (tùy chọn)
  DriveApp.getFileById(spreadsheetId).setName("UpdatedSheet_" + new Date().toISOString());
  SpreadsheetApp.getUi().alert('Đã hoàn thành cập nhật dữ liệu!');
}

// Nhớ kiểm tra quyền truy cập tới file Google Sheets và Google Drive của bạn.

Để chạy tập lệnh:

  1. Lưu tập lệnh với tên như "Script xuất dữ liệu".
  2. Nhấn nút Run (Chạy) để thực hiện script.
  3. Cấp quyền truy cập khi được yêu cầu.

Chào mừng bạn đến với thế giới của tự động hóa với Google Apps Script! Nếu bạn có bất kỳ thắc mắc nào hoặc muốn tìm hiểu thêm, hãy ghé thăm trituenhantao.io để tìm thêm nhiều kiến thức hữu ích và thú vị. Chúc bạn mãi mãi không phải gõ tay từng dòng nào nữa! 😄


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ử