Menu

Tự động cập nhật dữ liệu giữa các Sheet bằng Google Apps Script

Sơn Khôi Thanh 17/03/2026 15:23 509 lượt xem 1 trả lời

Chào mọi người,

Dạo này mình có làm việc với nhiều file Google Sheets và nhận thấy việc cập nhật dữ liệu thủ công giữa các file tốn khá nhiều thời gian và dễ sai sót. Sau một thời gian tìm hiểu, mình đã áp dụng Google Apps Script để tự động hóa quá trình này và muốn chia sẻ lại với cộng đồng để mọi người cùng tham khảo.

Vấn đề: Cần cập nhật dữ liệu từ một Sheet nguồn sang nhiều Sheet đích một cách tự động, tránh việc copy-paste thủ công.

Giải pháp: Sử dụng Google Apps Script để lấy dữ liệu từ Sheet nguồn và ghi vào các Sheet đích.

Cách thực hiện:

  • Tạo một Script mới trong Google Sheet nguồn (Tools -> Script editor).
  • Viết hàm để lấy dữ liệu từ Sheet nguồn.
  • Viết hàm để ghi dữ liệu vào các Sheet đích. Bạn có thể chỉ định rõ tên Sheet hoặc phạm vi cần ghi.
  • Thiết lập trigger để script chạy tự động theo lịch (ví dụ: mỗi giờ, mỗi ngày) hoặc chạy khi có sự thay đổi ở Sheet nguồn.

Ví dụ đoạn code đơn giản (lấy toàn bộ dữ liệu từ Sheet 'Nguon' và ghi vào Sheet 'Dich'):

function capNhatDuLieu() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheetNguon = ss.getSheetByName('Nguon');
  var sheetDich = ss.getSheetByName('Dich');

  var data = sheetNguon.getDataRange().getValues();
  sheetDich.clearContents(); // Xóa dữ liệu cũ trước khi ghi
  sheetDich.getRange(1, 1, data.length, data[0].length).setValues(data);
}

Lưu ý:

  • Đoạn code trên là ví dụ cơ bản, bạn cần tùy chỉnh tên Sheet, phạm vi dữ liệu cho phù hợp với file của mình.
  • Để xử lý nhiều Sheet đích, bạn có thể tạo một mảng chứa tên các Sheet đích và lặp qua mảng đó để ghi dữ liệu.
  • Google Apps Script rất mạnh mẽ, có thể làm được nhiều thứ hơn thế nữa. Nếu có thắc mắc hoặc cần xử lý phức tạp hơn, đừng ngần ngại đặt câu hỏi nhé!

Chúc mọi người thành công!

0
Hay quá bạn ơi! Mình cũng đang đau đầu với việc cập nhật dữ liệu thủ công giữa các sheet. Bạn có thể chia sẻ cụ thể hơn về đoạn script bạn dùng để lấy dữ liệu từ Sheet nguồn sang Sheet đích không? Đặc biệt là cách xử lý khi số lượng dòng dữ liệu thay đổi liên tục ấy. Cảm ơn bạn đã chia sẻ!
4

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký